gearvn-pages-mcp-server 1.6.0 → 1.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +5 -1
- package/dist/index.js.map +1 -1
- package/dist/tools/get-page.d.ts +9 -0
- package/dist/tools/get-page.d.ts.map +1 -0
- package/dist/tools/get-page.js +38 -0
- package/dist/tools/get-page.js.map +1 -0
- package/dist/types.d.ts +10 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/index.ts +4 -1
- package/src/tools/get-page.ts +50 -0
- package/src/types.ts +12 -0
package/dist/index.js
CHANGED
|
@@ -4,6 +4,7 @@ import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js"
|
|
|
4
4
|
import { CallToolRequestSchema, ListToolsRequestSchema, } from "@modelcontextprotocol/sdk/types.js";
|
|
5
5
|
import { DEPLOY_PAGE_TOOL, handleDeployPage } from "./tools/deploy-page.js";
|
|
6
6
|
import { LIST_PAGES_TOOL, handleListPages } from "./tools/list-pages.js";
|
|
7
|
+
import { GET_PAGE_TOOL, handleGetPage } from "./tools/get-page.js";
|
|
7
8
|
import { UPDATE_PAGE_TOOL, handleUpdatePage } from "./tools/update-page.js";
|
|
8
9
|
import { DELETE_PAGE_TOOL, handleDeletePage } from "./tools/delete-page.js";
|
|
9
10
|
// Create MCP server
|
|
@@ -18,7 +19,7 @@ const server = new Server({
|
|
|
18
19
|
// Handler for listing available tools
|
|
19
20
|
server.setRequestHandler(ListToolsRequestSchema, async () => {
|
|
20
21
|
return {
|
|
21
|
-
tools: [DEPLOY_PAGE_TOOL, LIST_PAGES_TOOL, UPDATE_PAGE_TOOL, DELETE_PAGE_TOOL],
|
|
22
|
+
tools: [DEPLOY_PAGE_TOOL, LIST_PAGES_TOOL, GET_PAGE_TOOL, UPDATE_PAGE_TOOL, DELETE_PAGE_TOOL],
|
|
22
23
|
};
|
|
23
24
|
});
|
|
24
25
|
// Handler for tool calls
|
|
@@ -31,6 +32,9 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
|
|
|
31
32
|
else if (name === "list-pages") {
|
|
32
33
|
return await handleListPages();
|
|
33
34
|
}
|
|
35
|
+
else if (name === "get-page") {
|
|
36
|
+
return await handleGetPage(args);
|
|
37
|
+
}
|
|
34
38
|
else if (name === "update-page") {
|
|
35
39
|
return await handleUpdatePage(args);
|
|
36
40
|
}
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EACL,qBAAqB,EACrB,sBAAsB,GACvB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC5E,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACzE,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC5E,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE5E,oBAAoB;AACpB,MAAM,MAAM,GAAG,IAAI,MAAM,CACvB;IACE,IAAI,EAAE,yBAAyB;IAC/B,OAAO,EAAE,OAAO;CACjB,EACD;IACE,YAAY,EAAE;QACZ,KAAK,EAAE,EAAE;KACV;CACF,CACF,CAAC;AAEF,sCAAsC;AACtC,MAAM,CAAC,iBAAiB,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE;IAC1D,OAAO;QACL,KAAK,EAAE,CAAC,gBAAgB,EAAE,eAAe,EAAE,gBAAgB,EAAE,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { Tool } from "@modelcontextprotocol/sdk/types.js";
|
|
2
|
+
export declare const GET_PAGE_TOOL: Tool;
|
|
3
|
+
export declare function handleGetPage(args: unknown): Promise<{
|
|
4
|
+
content: {
|
|
5
|
+
type: "text";
|
|
6
|
+
text: string;
|
|
7
|
+
}[];
|
|
8
|
+
}>;
|
|
9
|
+
//# sourceMappingURL=get-page.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-page.d.ts","sourceRoot":"","sources":["../../src/tools/get-page.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAI1D,eAAO,MAAM,aAAa,EAAE,IAe3B,CAAC;AAEF,wBAAsB,aAAa,CAAC,IAAI,EAAE,OAAO;;;;;GA4BhD"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { callAPI } from "../api.js";
|
|
2
|
+
export const GET_PAGE_TOOL = {
|
|
3
|
+
name: "get-page",
|
|
4
|
+
description: "Get the full content of a page by its slug. Returns the complete page data including HTML content, title, and tags. Use the exact slug from list-pages response (including timestamp suffix).",
|
|
5
|
+
inputSchema: {
|
|
6
|
+
type: "object",
|
|
7
|
+
properties: {
|
|
8
|
+
slug: {
|
|
9
|
+
type: "string",
|
|
10
|
+
description: "The exact slug of the page to retrieve (must match the slug from list-pages response, including timestamp suffix)",
|
|
11
|
+
},
|
|
12
|
+
},
|
|
13
|
+
required: ["slug"],
|
|
14
|
+
},
|
|
15
|
+
};
|
|
16
|
+
export async function handleGetPage(args) {
|
|
17
|
+
const { slug } = args;
|
|
18
|
+
// Validate inputs
|
|
19
|
+
if (!slug) {
|
|
20
|
+
throw new Error("Missing required parameter: slug is required");
|
|
21
|
+
}
|
|
22
|
+
// Call the get-page API
|
|
23
|
+
const response = await callAPI("/v1/get-page", "POST", {
|
|
24
|
+
slug,
|
|
25
|
+
});
|
|
26
|
+
return {
|
|
27
|
+
content: [
|
|
28
|
+
{
|
|
29
|
+
type: "text",
|
|
30
|
+
text: JSON.stringify({
|
|
31
|
+
success: true,
|
|
32
|
+
page: response,
|
|
33
|
+
}, null, 2),
|
|
34
|
+
},
|
|
35
|
+
],
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=get-page.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-page.js","sourceRoot":"","sources":["../../src/tools/get-page.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGpC,MAAM,CAAC,MAAM,aAAa,GAAS;IACjC,IAAI,EAAE,UAAU;IAChB,WAAW,EACT,+LAA+L;IACjM,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,IAAI,EAAE;gBACJ,IAAI,EAAE,QAAQ;gBACd,WAAW,EACT,mHAAmH;aACtH;SACF;QACD,QAAQ,EAAE,CAAC,MAAM,CAAC;KACnB;CACF,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,IAAa;IAC/C,MAAM,EAAE,IAAI,EAAE,GAAG,IAAmB,CAAC;IAErC,kBAAkB;IAClB,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;IAClE,CAAC;IAED,wBAAwB;IACxB,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAkB,cAAc,EAAE,MAAM,EAAE;QACtE,IAAI;KACL,CAAC,CAAC;IAEH,OAAO;QACL,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,MAAe;gBACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAClB;oBACE,OAAO,EAAE,IAAI;oBACb,IAAI,EAAE,QAAQ;iBACf,EACD,IAAI,EACJ,CAAC,CACF;aACF;SACF;KACF,CAAC;AACJ,CAAC"}
|
package/dist/types.d.ts
CHANGED
|
@@ -36,4 +36,14 @@ export interface DeletePageArgs {
|
|
|
36
36
|
export interface DeletePageResponse {
|
|
37
37
|
message: string;
|
|
38
38
|
}
|
|
39
|
+
export interface GetPageArgs {
|
|
40
|
+
slug: string;
|
|
41
|
+
}
|
|
42
|
+
export interface GetPageResponse {
|
|
43
|
+
id: number;
|
|
44
|
+
slug: string;
|
|
45
|
+
title: string;
|
|
46
|
+
content: string;
|
|
47
|
+
tags?: string[];
|
|
48
|
+
}
|
|
39
49
|
//# sourceMappingURL=types.d.ts.map
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,MAAM,WAAW,kBAAkB;IACjC,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,WAAW,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,MAAM,CAAC;CACjB"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,MAAM,WAAW,kBAAkB;IACjC,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,WAAW,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CACjB"}
|
package/package.json
CHANGED
package/src/index.ts
CHANGED
|
@@ -8,6 +8,7 @@ import {
|
|
|
8
8
|
} from "@modelcontextprotocol/sdk/types.js";
|
|
9
9
|
import { DEPLOY_PAGE_TOOL, handleDeployPage } from "./tools/deploy-page.js";
|
|
10
10
|
import { LIST_PAGES_TOOL, handleListPages } from "./tools/list-pages.js";
|
|
11
|
+
import { GET_PAGE_TOOL, handleGetPage } from "./tools/get-page.js";
|
|
11
12
|
import { UPDATE_PAGE_TOOL, handleUpdatePage } from "./tools/update-page.js";
|
|
12
13
|
import { DELETE_PAGE_TOOL, handleDeletePage } from "./tools/delete-page.js";
|
|
13
14
|
|
|
@@ -27,7 +28,7 @@ const server = new Server(
|
|
|
27
28
|
// Handler for listing available tools
|
|
28
29
|
server.setRequestHandler(ListToolsRequestSchema, async () => {
|
|
29
30
|
return {
|
|
30
|
-
tools: [DEPLOY_PAGE_TOOL, LIST_PAGES_TOOL, UPDATE_PAGE_TOOL, DELETE_PAGE_TOOL],
|
|
31
|
+
tools: [DEPLOY_PAGE_TOOL, LIST_PAGES_TOOL, GET_PAGE_TOOL, UPDATE_PAGE_TOOL, DELETE_PAGE_TOOL],
|
|
31
32
|
};
|
|
32
33
|
});
|
|
33
34
|
|
|
@@ -40,6 +41,8 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
|
|
|
40
41
|
return await handleDeployPage(args);
|
|
41
42
|
} else if (name === "list-pages") {
|
|
42
43
|
return await handleListPages();
|
|
44
|
+
} else if (name === "get-page") {
|
|
45
|
+
return await handleGetPage(args);
|
|
43
46
|
} else if (name === "update-page") {
|
|
44
47
|
return await handleUpdatePage(args);
|
|
45
48
|
} else if (name === "delete-page") {
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { Tool } from "@modelcontextprotocol/sdk/types.js";
|
|
2
|
+
import { callAPI } from "../api.js";
|
|
3
|
+
import { GetPageArgs, GetPageResponse } from "../types.js";
|
|
4
|
+
|
|
5
|
+
export const GET_PAGE_TOOL: Tool = {
|
|
6
|
+
name: "get-page",
|
|
7
|
+
description:
|
|
8
|
+
"Get the full content of a page by its slug. Returns the complete page data including HTML content, title, and tags. Use the exact slug from list-pages response (including timestamp suffix).",
|
|
9
|
+
inputSchema: {
|
|
10
|
+
type: "object",
|
|
11
|
+
properties: {
|
|
12
|
+
slug: {
|
|
13
|
+
type: "string",
|
|
14
|
+
description:
|
|
15
|
+
"The exact slug of the page to retrieve (must match the slug from list-pages response, including timestamp suffix)",
|
|
16
|
+
},
|
|
17
|
+
},
|
|
18
|
+
required: ["slug"],
|
|
19
|
+
},
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
export async function handleGetPage(args: unknown) {
|
|
23
|
+
const { slug } = args as GetPageArgs;
|
|
24
|
+
|
|
25
|
+
// Validate inputs
|
|
26
|
+
if (!slug) {
|
|
27
|
+
throw new Error("Missing required parameter: slug is required");
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
// Call the get-page API
|
|
31
|
+
const response = await callAPI<GetPageResponse>("/v1/get-page", "POST", {
|
|
32
|
+
slug,
|
|
33
|
+
});
|
|
34
|
+
|
|
35
|
+
return {
|
|
36
|
+
content: [
|
|
37
|
+
{
|
|
38
|
+
type: "text" as const,
|
|
39
|
+
text: JSON.stringify(
|
|
40
|
+
{
|
|
41
|
+
success: true,
|
|
42
|
+
page: response,
|
|
43
|
+
},
|
|
44
|
+
null,
|
|
45
|
+
2
|
|
46
|
+
),
|
|
47
|
+
},
|
|
48
|
+
],
|
|
49
|
+
};
|
|
50
|
+
}
|
package/src/types.ts
CHANGED
|
@@ -43,3 +43,15 @@ export interface DeletePageArgs {
|
|
|
43
43
|
export interface DeletePageResponse {
|
|
44
44
|
message: string;
|
|
45
45
|
}
|
|
46
|
+
|
|
47
|
+
export interface GetPageArgs {
|
|
48
|
+
slug: string;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
export interface GetPageResponse {
|
|
52
|
+
id: number;
|
|
53
|
+
slug: string;
|
|
54
|
+
title: string;
|
|
55
|
+
content: string;
|
|
56
|
+
tags?: string[];
|
|
57
|
+
}
|