@antonytm/mcp-sitecore-server 0.1.0 → 0.1.1

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/config.d.ts CHANGED
@@ -62,5 +62,34 @@ declare const ConfigSchema: z.ZodObject<{
62
62
  serverUrl: string;
63
63
  } | undefined;
64
64
  }>;
65
+ export declare const envSchema: z.ZodObject<{
66
+ GRAPHQL_ENDPOINT: z.ZodOptional<z.ZodString>;
67
+ GRAPHQL_SCHEMAS: z.ZodOptional<z.ZodString>;
68
+ GRAPHQL_API_KEY: z.ZodOptional<z.ZodString>;
69
+ GRAPHQL_HEADERS: z.ZodOptional<z.ZodString>;
70
+ ITEM_SERVICE_DOMAIN: z.ZodOptional<z.ZodString>;
71
+ ITEM_SERVICE_USERNAME: z.ZodOptional<z.ZodString>;
72
+ ITEM_SERVICE_PASSWORD: z.ZodOptional<z.ZodString>;
73
+ ITEM_SERVICE_SERVER_URL: z.ZodOptional<z.ZodString>;
74
+ }, "strip", z.ZodTypeAny, {
75
+ GRAPHQL_ENDPOINT?: string | undefined;
76
+ GRAPHQL_SCHEMAS?: string | undefined;
77
+ GRAPHQL_API_KEY?: string | undefined;
78
+ GRAPHQL_HEADERS?: string | undefined;
79
+ ITEM_SERVICE_DOMAIN?: string | undefined;
80
+ ITEM_SERVICE_USERNAME?: string | undefined;
81
+ ITEM_SERVICE_PASSWORD?: string | undefined;
82
+ ITEM_SERVICE_SERVER_URL?: string | undefined;
83
+ }, {
84
+ GRAPHQL_ENDPOINT?: string | undefined;
85
+ GRAPHQL_SCHEMAS?: string | undefined;
86
+ GRAPHQL_API_KEY?: string | undefined;
87
+ GRAPHQL_HEADERS?: string | undefined;
88
+ ITEM_SERVICE_DOMAIN?: string | undefined;
89
+ ITEM_SERVICE_USERNAME?: string | undefined;
90
+ ITEM_SERVICE_PASSWORD?: string | undefined;
91
+ ITEM_SERVICE_SERVER_URL?: string | undefined;
92
+ }>;
65
93
  export type Config = z.infer<typeof ConfigSchema>;
94
+ export type EnvConfig = z.infer<typeof envSchema>;
66
95
  export {};
package/dist/config.js CHANGED
@@ -24,4 +24,14 @@ const ConfigSchema = z.object({
24
24
  serverUrl: "https://xmcloudcm.localhost/",
25
25
  }),
26
26
  });
27
+ export const envSchema = z.object({
28
+ GRAPHQL_ENDPOINT: z.string().url().optional(),
29
+ GRAPHQL_SCHEMAS: z.string().optional(),
30
+ GRAPHQL_API_KEY: z.string().optional(),
31
+ GRAPHQL_HEADERS: z.string().optional(),
32
+ ITEM_SERVICE_DOMAIN: z.string().optional(),
33
+ ITEM_SERVICE_USERNAME: z.string().optional(),
34
+ ITEM_SERVICE_PASSWORD: z.string().optional(),
35
+ ITEM_SERVICE_SERVER_URL: z.string().url().optional(),
36
+ });
27
37
  //# 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"}
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"}
package/dist/server.js CHANGED
@@ -1,32 +1,44 @@
1
1
  import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
2
  import { registerItemService } from "./tools/item-service/register-item-service.js";
3
+ import { envSchema } from "./config.js";
3
4
  import { registerGraphQL } from "./tools/graphql/register-graphql.js";
5
+ import fs from 'fs';
6
+ import path from 'path';
7
+ import { fileURLToPath } from 'url';
8
+ // Read package.json data
9
+ const __filename = fileURLToPath(import.meta.url);
10
+ const __dirname = path.dirname(__filename);
11
+ const packagePath = path.resolve(__dirname, '..', 'package.json');
12
+ const packageData = JSON.parse(fs.readFileSync(packagePath, 'utf8'));
13
+ const { version, name } = packageData;
4
14
  export function getServer() {
5
15
  const server = new McpServer({
6
- name: "Sitecore MCP Server",
7
- version: "1.0.0"
16
+ name: `Sitecore MCP Server: ${name}`,
17
+ description: "Modle Context Protocol for Sitecore",
18
+ version: version
8
19
  });
9
- // Helper to create DB connection
10
- // hardcode the config for now
20
+ const ENV = envSchema.parse(process.env);
21
+ // Parse the environment variables and set default values
11
22
  const config = {
12
- name: "mcp-server-graphql",
23
+ name: name,
13
24
  graphQL: {
14
- endpoint: "https://xmcloudcm.localhost/sitecore/api/graph/",
15
- schemas: ["edge", "master"],
16
- apiKey: "{6D3F291E-66A5-4703-887A-D549AF83D859}",
25
+ endpoint: ENV.GRAPHQL_ENDPOINT || "https://xmcloudcm.localhost/sitecore/api/graph/",
26
+ schemas: ENV.GRAPHQL_SCHEMAS ? ENV.GRAPHQL_SCHEMAS.split(",") : ["edge", "master"],
27
+ apiKey: ENV.GRAPHQL_API_KEY || "{6D3F291E-66A5-4703-887A-D549AF83D859}",
28
+ headers: ENV.GRAPHQL_HEADERS ? JSON.parse(ENV.GRAPHQL_HEADERS) : {},
17
29
  },
18
30
  itemService: {
19
- domain: "sitecore",
20
- username: "admin",
21
- password: "b",
22
- serverUrl: "https://xmcloudcm.localhost/",
31
+ domain: ENV.ITEM_SERVICE_DOMAIN || "sitecore",
32
+ username: ENV.ITEM_SERVICE_USERNAME || "admin",
33
+ password: ENV.ITEM_SERVICE_PASSWORD || "b",
34
+ serverUrl: ENV.ITEM_SERVICE_SERVER_URL || "https://xmcloudcm.localhost/",
23
35
  },
24
36
  };
25
- server.resource("schema", "schema://main", async (uri) => {
37
+ server.resource("config", "config://main", async (uri) => {
26
38
  return {
27
39
  contents: [{
28
40
  uri: uri.href,
29
- text: "Schema",
41
+ text: JSON.stringify(config, null, 2),
30
42
  }]
31
43
  };
32
44
  });
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,mBAAmB,EAAE,MAAM,+CAA+C,CAAC;AAEpF,OAAO,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAC;AAEtE,MAAM,UAAU,SAAS;IACrB,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC;QACzB,IAAI,EAAE,qBAAqB;QAC3B,OAAO,EAAE,OAAO;KACnB,CAAC,CAAC;IAEH,iCAAiC;IAEjC,8BAA8B;IAC9B,MAAM,MAAM,GAAW;QACnB,IAAI,EAAE,oBAAoB;QAC1B,OAAO,EAAE;YACL,QAAQ,EAAE,iDAAiD;YAC3D,OAAO,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC;YAC3B,MAAM,EAAE,wCAAwC;SACnD;QACD,WAAW,EAAE;YACT,MAAM,EAAE,UAAU;YAClB,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE,GAAG;YACb,SAAS,EAAE,8BAA8B;SAC5C;KACJ,CAAC;IAEF,MAAM,CAAC,QAAQ,CACX,QAAQ,EACR,eAAe,EACf,KAAK,EAAE,GAAG,EAAE,EAAE;QAEV,OAAO;YACH,QAAQ,EAAE,CAAC;oBACP,GAAG,EAAE,GAAG,CAAC,IAAI;oBACb,IAAI,EAAE,QAAQ;iBACjB,CAAC;SACL,CAAA;IACL,CAAC,CACJ,CAAC;IAGF,eAAe,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAEhC,mBAAmB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAEpC,OAAO,MAAM,CAAC;AAClB,CAAC"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,mBAAmB,EAAE,MAAM,+CAA+C,CAAC;AACpF,OAAO,EAAE,SAAS,EAA+B,MAAM,aAAa,CAAC;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAC;AACtE,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AAEpC,yBAAyB;AACzB,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;AAC3C,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC;AAClE,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC;AACrE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,WAAW,CAAC;AAEtC,MAAM,UAAU,SAAS;IACrB,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC;QACzB,IAAI,EAAE,wBAAwB,IAAI,EAAE;QACpC,WAAW,EAAE,qCAAqC;QAClD,OAAO,EAAE,OAAO;KACnB,CAAC,CAAC;IAEH,MAAM,GAAG,GAAc,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAEpD,yDAAyD;IACzD,MAAM,MAAM,GAAW;QACnB,IAAI,EAAE,IAAI;QACV,OAAO,EAAE;YACL,QAAQ,EAAE,GAAG,CAAC,gBAAgB,IAAI,iDAAiD;YACnF,OAAO,EAAE,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,CAAC,eAAe,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,QAAQ,CAAC;YAClF,MAAM,EAAE,GAAG,CAAC,eAAe,IAAI,wCAAwC;YACvE,OAAO,EAAE,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,EAAE;SACtE;QACD,WAAW,EAAE;YACT,MAAM,EAAE,GAAG,CAAC,mBAAmB,IAAI,UAAU;YAC7C,QAAQ,EAAE,GAAG,CAAC,qBAAqB,IAAI,OAAO;YAC9C,QAAQ,EAAE,GAAG,CAAC,qBAAqB,IAAI,GAAG;YAC1C,SAAS,EAAE,GAAG,CAAC,uBAAuB,IAAI,8BAA8B;SAC3E;KACJ,CAAC;IAEF,MAAM,CAAC,QAAQ,CACX,QAAQ,EACR,eAAe,EACf,KAAK,EAAE,GAAG,EAAE,EAAE;QACV,OAAO;YACH,QAAQ,EAAE,CAAC;oBACP,GAAG,EAAE,GAAG,CAAC,IAAI;oBACb,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;iBACxC,CAAC;SACL,CAAA;IACL,CAAC,CACJ,CAAC;IAGF,eAAe,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAEhC,mBAAmB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAEpC,OAAO,MAAM,CAAC;AAClB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@antonytm/mcp-sitecore-server",
3
- "version": "0.1.0",
3
+ "version": "0.1.1",
4
4
  "description": "A Model Context Protocol server for Sitecore",
5
5
  "files": [
6
6
  "dist",