@antonytm/mcp-sitecore-server 0.1.1 → 0.1.2

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 CHANGED
@@ -1,29 +1,4 @@
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
- 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,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;AACxC,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;AAE3B,MAAM,GAAG,GAAG,OAAO,EAAE,CAAC;AAEtB,4EAA4E;AAC5E,yBAAyB;AACzB,MAAM,UAAU,GAA8C,EAAE,CAAC;AAEjE,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,EAAE,CAAU,EAAE,GAAa,EAAE,EAAE;IAClD,MAAM,SAAS,GAAG,IAAI,kBAAkB,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;IAC3D,UAAU,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC;IAC5C,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;QACnB,OAAO,UAAU,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;IACH,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;AAClC,CAAC,CAAC,CAAC;AAEH,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,GAAY,EAAE,GAAa,EAAE,EAAE;IAC1D,MAAM,SAAS,GAAG,GAAG,CAAC,KAAK,CAAC,SAAmB,CAAC;IAChD,MAAM,SAAS,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC;IACxC,IAAI,SAAS,EAAE,CAAC;QACd,MAAM,SAAS,CAAC,iBAAiB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAC9C,CAAC;SAAM,CAAC;QACN,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;IAC3D,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC"}
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
@@ -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 { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
2
- import { getServer } from './server.js';
3
- const server = getServer();
4
- const transport = new StdioServerTransport();
5
- await server.connect(transport);
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,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;AAC3B,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;AAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC"}
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
@@ -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"}
@@ -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,13 @@
1
1
  {
2
2
  "name": "@antonytm/mcp-sitecore-server",
3
- "version": "0.1.1",
3
+ "version": "0.1.2",
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",
10
11
  "type": "module",
11
12
  "scripts": {
12
13
  "build": "tsc",