@antonytm/mcp-sitecore-server 0.1.1 → 0.1.3
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/app.js +3 -28
- package/dist/app.js.map +1 -1
- package/dist/config.d.ts +8 -0
- package/dist/config.js +13 -0
- package/dist/config.js.map +1 -1
- package/dist/index.js +12 -5
- package/dist/index.js.map +1 -1
- package/dist/sse.d.ts +1 -0
- package/dist/sse.js +31 -0
- package/dist/sse.js.map +1 -0
- package/dist/stdio.d.ts +1 -0
- package/dist/stdio.js +8 -0
- package/dist/stdio.js.map +1 -0
- package/package.json +5 -1
package/dist/app.js
CHANGED
|
@@ -1,29 +1,4 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
import { getServer } from "./server.js";
|
|
5
|
-
const server = getServer();
|
|
6
|
-
const app = express();
|
|
7
|
-
// to support multiple simultaneous connections we have a lookup object from
|
|
8
|
-
// sessionId to transport
|
|
9
|
-
const transports = {};
|
|
10
|
-
app.get("/sse", async (_, res) => {
|
|
11
|
-
const transport = new SSEServerTransport('/messages', res);
|
|
12
|
-
transports[transport.sessionId] = transport;
|
|
13
|
-
res.on("close", () => {
|
|
14
|
-
delete transports[transport.sessionId];
|
|
15
|
-
});
|
|
16
|
-
await server.connect(transport);
|
|
17
|
-
});
|
|
18
|
-
app.post("/messages", async (req, res) => {
|
|
19
|
-
const sessionId = req.query.sessionId;
|
|
20
|
-
const transport = transports[sessionId];
|
|
21
|
-
if (transport) {
|
|
22
|
-
await transport.handlePostMessage(req, res);
|
|
23
|
-
}
|
|
24
|
-
else {
|
|
25
|
-
res.status(400).send('No transport found for sessionId');
|
|
26
|
-
}
|
|
27
|
-
});
|
|
28
|
-
app.listen(3001);
|
|
1
|
+
import { startSSE } from "./sse.js";
|
|
2
|
+
startSSE();
|
|
3
|
+
console.log("SSE server started on port 3001");
|
|
29
4
|
//# sourceMappingURL=app.js.map
|
package/dist/app.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAEpC,QAAQ,EAAE,CAAC;AACX,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC"}
|
package/dist/config.d.ts
CHANGED
|
@@ -90,6 +90,14 @@ export declare const envSchema: z.ZodObject<{
|
|
|
90
90
|
ITEM_SERVICE_PASSWORD?: string | undefined;
|
|
91
91
|
ITEM_SERVICE_SERVER_URL?: string | undefined;
|
|
92
92
|
}>;
|
|
93
|
+
export declare const envStartSchema: z.ZodObject<{
|
|
94
|
+
TRANSPORT: z.ZodEffects<z.ZodOptional<z.ZodDefault<z.ZodString>>, "stdio" | "sse", string | undefined>;
|
|
95
|
+
}, "strip", z.ZodTypeAny, {
|
|
96
|
+
TRANSPORT: "stdio" | "sse";
|
|
97
|
+
}, {
|
|
98
|
+
TRANSPORT?: string | undefined;
|
|
99
|
+
}>;
|
|
93
100
|
export type Config = z.infer<typeof ConfigSchema>;
|
|
94
101
|
export type EnvConfig = z.infer<typeof envSchema>;
|
|
102
|
+
export type EnvStartConfig = z.infer<typeof envStartSchema>;
|
|
95
103
|
export {};
|
package/dist/config.js
CHANGED
|
@@ -34,4 +34,17 @@ export const envSchema = z.object({
|
|
|
34
34
|
ITEM_SERVICE_PASSWORD: z.string().optional(),
|
|
35
35
|
ITEM_SERVICE_SERVER_URL: z.string().url().optional(),
|
|
36
36
|
});
|
|
37
|
+
export const envStartSchema = z.object({
|
|
38
|
+
//* The transport to use for the server. Can be one of 'stdio' or 'sse'.
|
|
39
|
+
//* If not specified, the default is 'stdio'.
|
|
40
|
+
//* The 'stdio' transport is used for local work.
|
|
41
|
+
//* The 'sse' transport is used for server-sent events.
|
|
42
|
+
TRANSPORT: z.string().default("stdio").optional().transform((val) => {
|
|
43
|
+
if (val === "stdio")
|
|
44
|
+
return "stdio";
|
|
45
|
+
if (val === "sse")
|
|
46
|
+
return "sse";
|
|
47
|
+
throw new Error(`Invalid transport: ${val}`);
|
|
48
|
+
})
|
|
49
|
+
});
|
|
37
50
|
//# sourceMappingURL=config.js.map
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,qBAAqB,CAAC;IAC/C,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC;QACd,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,sBAAsB,CAAC;QACzD,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;QAC5B,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;QAClB,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;KACvD,CAAC,CAAC,OAAO,CAAC;QACP,QAAQ,EAAE,iDAAiD;QAC3D,OAAO,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC;QAC3B,MAAM,EAAE,wCAAwC;QAChD,OAAO,EAAE,EAAE;KACd,CAAC;IACF,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;QAClB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;QAClB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;QACpB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;QACpB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE;KAC9B,CAAC,CAAC,OAAO,CAAC;QACP,MAAM,EAAE,UAAU;QAClB,QAAQ,EAAE,OAAO;QACjB,QAAQ,EAAE,GAAG;QACb,SAAS,EAAE,8BAA8B;KAC5C,CAAC;CACL,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9B,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;IAC7C,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACtC,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACtC,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACtC,mBAAmB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC1C,qBAAqB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC5C,qBAAqB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC5C,uBAAuB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;CACvD,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,qBAAqB,CAAC;IAC/C,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC;QACd,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,sBAAsB,CAAC;QACzD,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;QAC5B,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;QAClB,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;KACvD,CAAC,CAAC,OAAO,CAAC;QACP,QAAQ,EAAE,iDAAiD;QAC3D,OAAO,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC;QAC3B,MAAM,EAAE,wCAAwC;QAChD,OAAO,EAAE,EAAE;KACd,CAAC;IACF,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;QAClB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;QAClB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;QACpB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;QACpB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE;KAC9B,CAAC,CAAC,OAAO,CAAC;QACP,MAAM,EAAE,UAAU;QAClB,QAAQ,EAAE,OAAO;QACjB,QAAQ,EAAE,GAAG;QACb,SAAS,EAAE,8BAA8B;KAC5C,CAAC;CACL,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9B,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;IAC7C,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACtC,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACtC,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACtC,mBAAmB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC1C,qBAAqB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC5C,qBAAqB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC5C,uBAAuB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;CACvD,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC;IACnC,wEAAwE;IACxE,6CAA6C;IAC7C,iDAAiD;IACjD,uDAAuD;IACvD,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;QAChE,IAAI,GAAG,KAAK,OAAO;YAAE,OAAO,OAAO,CAAC;QACpC,IAAI,GAAG,KAAK,KAAK;YAAE,OAAO,KAAK,CAAC;QAChC,MAAM,IAAI,KAAK,CAAC,sBAAsB,GAAG,EAAE,CAAC,CAAC;IACjD,CAAC,CAAC;CACL,CAAC,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,6 +1,13 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
const
|
|
5
|
-
|
|
1
|
+
import { envStartSchema } from './config.js';
|
|
2
|
+
import { startSTDIO } from './stdio.js';
|
|
3
|
+
import { startSSE } from './sse.js';
|
|
4
|
+
const ENV = envStartSchema.parse(process.env);
|
|
5
|
+
if (ENV.TRANSPORT === "stdio") {
|
|
6
|
+
startSTDIO();
|
|
7
|
+
console.log("STDIO transport started.");
|
|
8
|
+
}
|
|
9
|
+
else {
|
|
10
|
+
startSSE();
|
|
11
|
+
console.log("SSE transport started.");
|
|
12
|
+
}
|
|
6
13
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAuB,MAAM,aAAa,CAAC;AAClE,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAEpC,MAAM,GAAG,GAAmB,cAAc,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;AAE9D,IAAG,GAAG,CAAC,SAAS,KAAK,OAAO,EAAE,CAAC;IAC3B,UAAU,EAAE,CAAC;IACb,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;AAC5C,CAAC;KACI,CAAC;IACF,QAAQ,EAAE,CAAC;IACX,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;AAC1C,CAAC"}
|
package/dist/sse.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function startSSE(): void;
|
package/dist/sse.js
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
2
|
+
import { SSEServerTransport } from "@modelcontextprotocol/sdk/server/sse.js";
|
|
3
|
+
import express from "express";
|
|
4
|
+
import { getServer } from "./server.js";
|
|
5
|
+
export function startSSE() {
|
|
6
|
+
const server = getServer();
|
|
7
|
+
const app = express();
|
|
8
|
+
// to support multiple simultaneous connections we have a lookup object from
|
|
9
|
+
// sessionId to transport
|
|
10
|
+
const transports = {};
|
|
11
|
+
app.get("/sse", async (_, res) => {
|
|
12
|
+
const transport = new SSEServerTransport('/messages', res);
|
|
13
|
+
transports[transport.sessionId] = transport;
|
|
14
|
+
res.on("close", () => {
|
|
15
|
+
delete transports[transport.sessionId];
|
|
16
|
+
});
|
|
17
|
+
await server.connect(transport);
|
|
18
|
+
});
|
|
19
|
+
app.post("/messages", async (req, res) => {
|
|
20
|
+
const sessionId = req.query.sessionId;
|
|
21
|
+
const transport = transports[sessionId];
|
|
22
|
+
if (transport) {
|
|
23
|
+
await transport.handlePostMessage(req, res);
|
|
24
|
+
}
|
|
25
|
+
else {
|
|
26
|
+
res.status(400).send('No transport found for sessionId');
|
|
27
|
+
}
|
|
28
|
+
});
|
|
29
|
+
app.listen(3001);
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=sse.js.map
|
package/dist/sse.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sse.js","sourceRoot":"","sources":["../src/sse.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAC;AAC7E,OAAO,OAAO,MAAM,SAAS,CAAC;AAG9B,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,MAAM,UAAU,QAAQ;IACtB,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAE3B,MAAM,GAAG,GAAG,OAAO,EAAE,CAAC;IAEtB,4EAA4E;IAC5E,yBAAyB;IACzB,MAAM,UAAU,GAAgD,EAAE,CAAC;IAEnE,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,EAAE,CAAU,EAAE,GAAa,EAAE,EAAE;QAClD,MAAM,SAAS,GAAG,IAAI,kBAAkB,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;QAC3D,UAAU,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC;QAC5C,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;YACnB,OAAO,UAAU,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QACzC,CAAC,CAAC,CAAC;QACH,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAClC,CAAC,CAAC,CAAC;IAEH,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,GAAY,EAAE,GAAa,EAAE,EAAE;QAC1D,MAAM,SAAS,GAAG,GAAG,CAAC,KAAK,CAAC,SAAmB,CAAC;QAChD,MAAM,SAAS,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC;QACxC,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,SAAS,CAAC,iBAAiB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAC9C,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;QAC3D,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AACnB,CAAC"}
|
package/dist/stdio.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function startSTDIO(): Promise<void>;
|
package/dist/stdio.js
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
|
|
2
|
+
import { getServer } from './server.js';
|
|
3
|
+
export async function startSTDIO() {
|
|
4
|
+
const server = getServer();
|
|
5
|
+
const transport = new StdioServerTransport();
|
|
6
|
+
await server.connect(transport);
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=stdio.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stdio.js","sourceRoot":"","sources":["../src/stdio.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,MAAM,CAAC,KAAK,UAAU,UAAU;IAC5B,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;AACpC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,12 +1,16 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@antonytm/mcp-sitecore-server",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.3",
|
|
4
4
|
"description": "A Model Context Protocol server for Sitecore",
|
|
5
5
|
"files": [
|
|
6
6
|
"dist",
|
|
7
7
|
"README.md",
|
|
8
8
|
"LICENSE"
|
|
9
9
|
],
|
|
10
|
+
"main": "./dist/index.js",
|
|
11
|
+
"bin": {
|
|
12
|
+
"mcp-sitecore-server": "./dist/index.js"
|
|
13
|
+
},
|
|
10
14
|
"type": "module",
|
|
11
15
|
"scripts": {
|
|
12
16
|
"build": "tsc",
|