@antonytm/mcp-sitecore-server 0.8.0 → 0.8.1-bundle
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/bundle.js +6510 -0
- package/dist/bundle.js.map +7 -0
- package/package.json +13 -14
- package/dist/app.js +0 -3
- package/dist/app.js.map +0 -1
- package/dist/config.js +0 -63
- package/dist/config.js.map +0 -1
- package/dist/const.js +0 -2
- package/dist/const.js.map +0 -1
- package/dist/helper.js +0 -19
- package/dist/helper.js.map +0 -1
- package/dist/index.js +0 -12
- package/dist/index.js.map +0 -1
- package/dist/run.js +0 -7
- package/dist/run.js.map +0 -1
- package/dist/server.js +0 -67
- package/dist/server.js.map +0 -1
- package/dist/sse.js +0 -31
- package/dist/sse.js.map +0 -1
- package/dist/stdio.js +0 -8
- package/dist/stdio.js.map +0 -1
- package/dist/tools/graphql/generic/introspection.js +0 -34
- package/dist/tools/graphql/generic/introspection.js.map +0 -1
- package/dist/tools/graphql/generic/query.js +0 -37
- package/dist/tools/graphql/generic/query.js.map +0 -1
- package/dist/tools/graphql/register-graphql.js +0 -24
- package/dist/tools/graphql/register-graphql.js.map +0 -1
- package/dist/tools/item-service/client.js +0 -428
- package/dist/tools/item-service/client.js.map +0 -1
- package/dist/tools/item-service/composite/get-item-descendants.js +0 -30
- package/dist/tools/item-service/composite/get-item-descendants.js.map +0 -1
- package/dist/tools/item-service/composite/get-languages.js +0 -19
- package/dist/tools/item-service/composite/get-languages.js.map +0 -1
- package/dist/tools/item-service/register-item-service.js +0 -156
- package/dist/tools/item-service/register-item-service.js.map +0 -1
- package/dist/tools/item-service/simple/create-item.js +0 -17
- package/dist/tools/item-service/simple/create-item.js.map +0 -1
- package/dist/tools/item-service/simple/delete-item.js +0 -23
- package/dist/tools/item-service/simple/delete-item.js.map +0 -1
- package/dist/tools/item-service/simple/edit-item.js +0 -23
- package/dist/tools/item-service/simple/edit-item.js.map +0 -1
- package/dist/tools/item-service/simple/get-item-by-path.js +0 -17
- package/dist/tools/item-service/simple/get-item-by-path.js.map +0 -1
- package/dist/tools/item-service/simple/get-item-children.js +0 -17
- package/dist/tools/item-service/simple/get-item-children.js.map +0 -1
- package/dist/tools/item-service/simple/get-item.js +0 -18
- package/dist/tools/item-service/simple/get-item.js.map +0 -1
- package/dist/tools/item-service/simple/run-stored-query.js +0 -24
- package/dist/tools/item-service/simple/run-stored-query.js.map +0 -1
- package/dist/tools/item-service/simple/run-stored-search.js +0 -24
- package/dist/tools/item-service/simple/run-stored-search.js.map +0 -1
- package/dist/tools/item-service/simple/search-items.js +0 -17
- package/dist/tools/item-service/simple/search-items.js.map +0 -1
- package/dist/tools/powershell/client.js +0 -58
- package/dist/tools/powershell/client.js.map +0 -1
- package/dist/tools/powershell/composite/register-composite-powershell.js +0 -5
- package/dist/tools/powershell/composite/register-composite-powershell.js.map +0 -1
- package/dist/tools/powershell/composite/security/register-security-powershell.js +0 -5
- package/dist/tools/powershell/composite/security/register-security-powershell.js.map +0 -1
- package/dist/tools/powershell/composite/security/register-set-item-acl.js +0 -59
- package/dist/tools/powershell/composite/security/register-set-item-acl.js.map +0 -1
- package/dist/tools/powershell/output.js +0 -8
- package/dist/tools/powershell/output.js.map +0 -1
- package/dist/tools/powershell/register-powershell.js +0 -7
- package/dist/tools/powershell/register-powershell.js.map +0 -1
- package/dist/tools/powershell/simple/generic.js +0 -27
- package/dist/tools/powershell/simple/generic.js.map +0 -1
- package/dist/tools/powershell/simple/indexing/register-get-search-index.js +0 -28
- package/dist/tools/powershell/simple/indexing/register-get-search-index.js.map +0 -1
- package/dist/tools/powershell/simple/indexing/register-indexing-powershell.js +0 -7
- package/dist/tools/powershell/simple/indexing/register-indexing-powershell.js.map +0 -1
- package/dist/tools/powershell/simple/indexing/register-initialize-search-index.js +0 -24
- package/dist/tools/powershell/simple/indexing/register-initialize-search-index.js.map +0 -1
- package/dist/tools/powershell/simple/provider/register-get-item.js +0 -118
- package/dist/tools/powershell/simple/provider/register-get-item.js.map +0 -1
- package/dist/tools/powershell/simple/provider/register-provider-powershell.js +0 -5
- package/dist/tools/powershell/simple/provider/register-provider-powershell.js.map +0 -1
- package/dist/tools/powershell/simple/register-simple-powershell.js +0 -9
- package/dist/tools/powershell/simple/register-simple-powershell.js.map +0 -1
- package/dist/tools/powershell/simple/security/access-rights.js +0 -33
- package/dist/tools/powershell/simple/security/access-rights.js.map +0 -1
- package/dist/tools/powershell/simple/security/register-add-item-acl.js +0 -66
- package/dist/tools/powershell/simple/security/register-add-item-acl.js.map +0 -1
- package/dist/tools/powershell/simple/security/register-add-role-member.js +0 -19
- package/dist/tools/powershell/simple/security/register-add-role-member.js.map +0 -1
- package/dist/tools/powershell/simple/security/register-clear-item-acl.js +0 -46
- package/dist/tools/powershell/simple/security/register-clear-item-acl.js.map +0 -1
- package/dist/tools/powershell/simple/security/register-disable-user.js +0 -15
- package/dist/tools/powershell/simple/security/register-disable-user.js.map +0 -1
- package/dist/tools/powershell/simple/security/register-enable-user.js +0 -15
- package/dist/tools/powershell/simple/security/register-enable-user.js.map +0 -1
- package/dist/tools/powershell/simple/security/register-get-domain.js +0 -20
- package/dist/tools/powershell/simple/security/register-get-domain.js.map +0 -1
- package/dist/tools/powershell/simple/security/register-get-item-acl.js +0 -56
- package/dist/tools/powershell/simple/security/register-get-item-acl.js.map +0 -1
- package/dist/tools/powershell/simple/security/register-get-role-member.js +0 -31
- package/dist/tools/powershell/simple/security/register-get-role-member.js.map +0 -1
- package/dist/tools/powershell/simple/security/register-get-role.js +0 -24
- package/dist/tools/powershell/simple/security/register-get-role.js.map +0 -1
- package/dist/tools/powershell/simple/security/register-get-user.js +0 -31
- package/dist/tools/powershell/simple/security/register-get-user.js.map +0 -1
- package/dist/tools/powershell/simple/security/register-lock-item.js +0 -56
- package/dist/tools/powershell/simple/security/register-lock-item.js.map +0 -1
- package/dist/tools/powershell/simple/security/register-new-domain.js +0 -15
- package/dist/tools/powershell/simple/security/register-new-domain.js.map +0 -1
- package/dist/tools/powershell/simple/security/register-new-role.js +0 -16
- package/dist/tools/powershell/simple/security/register-new-role.js.map +0 -1
- package/dist/tools/powershell/simple/security/register-new-user.js +0 -43
- package/dist/tools/powershell/simple/security/register-new-user.js.map +0 -1
- package/dist/tools/powershell/simple/security/register-protect-item.js +0 -46
- package/dist/tools/powershell/simple/security/register-protect-item.js.map +0 -1
- package/dist/tools/powershell/simple/security/register-remove-domain.js +0 -16
- package/dist/tools/powershell/simple/security/register-remove-domain.js.map +0 -1
- package/dist/tools/powershell/simple/security/register-remove-role.js +0 -16
- package/dist/tools/powershell/simple/security/register-remove-role.js.map +0 -1
- package/dist/tools/powershell/simple/security/register-remove-rolemember.js +0 -19
- package/dist/tools/powershell/simple/security/register-remove-rolemember.js.map +0 -1
- package/dist/tools/powershell/simple/security/register-remove-user.js +0 -15
- package/dist/tools/powershell/simple/security/register-remove-user.js.map +0 -1
- package/dist/tools/powershell/simple/security/register-security-powershell.js +0 -55
- package/dist/tools/powershell/simple/security/register-security-powershell.js.map +0 -1
- package/dist/tools/powershell/simple/security/register-set-user-password.js +0 -29
- package/dist/tools/powershell/simple/security/register-set-user-password.js.map +0 -1
- package/dist/tools/powershell/simple/security/register-set-user.js +0 -66
- package/dist/tools/powershell/simple/security/register-set-user.js.map +0 -1
- package/dist/tools/powershell/simple/security/register-test-account.js +0 -21
- package/dist/tools/powershell/simple/security/register-test-account.js.map +0 -1
- package/dist/tools/powershell/simple/security/register-test-item-acl.js +0 -59
- package/dist/tools/powershell/simple/security/register-test-item-acl.js.map +0 -1
- package/dist/tools/powershell/simple/security/register-unlock-item.js +0 -52
- package/dist/tools/powershell/simple/security/register-unlock-item.js.map +0 -1
- package/dist/tools/powershell/simple/security/register-unlock-user.js +0 -16
- package/dist/tools/powershell/simple/security/register-unlock-user.js.map +0 -1
- package/dist/tools/powershell/simple/security/register-unprotect-item.js +0 -46
- package/dist/tools/powershell/simple/security/register-unprotect-item.js.map +0 -1
- package/dist/tools/powershell/utils.js +0 -18
- package/dist/tools/powershell/utils.js.map +0 -1
package/package.json
CHANGED
|
@@ -1,24 +1,22 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@antonytm/mcp-sitecore-server",
|
|
3
|
-
"version": "0.8.
|
|
3
|
+
"version": "0.8.1-bundle",
|
|
4
4
|
"description": "A Model Context Protocol server for Sitecore",
|
|
5
5
|
"files": [
|
|
6
6
|
"dist",
|
|
7
7
|
"README.md",
|
|
8
8
|
"LICENSE"
|
|
9
|
-
],
|
|
10
|
-
"main": "./dist/index.js",
|
|
9
|
+
], "main": "./dist/bundle.js",
|
|
11
10
|
"bin": {
|
|
12
|
-
"@antonytm/mcp-sitecore-server": "./dist/
|
|
11
|
+
"@antonytm/mcp-sitecore-server": "./dist/bundle.js"
|
|
13
12
|
},
|
|
14
|
-
"type": "module",
|
|
15
|
-
|
|
16
|
-
"build": "tsc",
|
|
17
|
-
"prepare": "npm run build",
|
|
18
|
-
"watch": "
|
|
19
|
-
"inspector": "npx @modelcontextprotocol/inspector@0.9.0 dist/
|
|
20
|
-
"
|
|
21
|
-
"run": "npm run build && node dist/run.js",
|
|
13
|
+
"type": "module", "scripts": {
|
|
14
|
+
"build": "node esbuild.js",
|
|
15
|
+
"build:types": "tsc --emitDeclarationOnly --declaration",
|
|
16
|
+
"prepare": "npm run build && npm run build:types",
|
|
17
|
+
"watch": "node esbuild.js --watch",
|
|
18
|
+
"inspector": "npx @modelcontextprotocol/inspector@0.9.0 dist/bundle.js", "start": "npm run build && node --experimental-modules dist/bundle.js",
|
|
19
|
+
"run": "npm run build && node --experimental-modules dist/bundle.js",
|
|
22
20
|
"test": "npm run build && vitest run"
|
|
23
21
|
},
|
|
24
22
|
"dependencies": {
|
|
@@ -27,13 +25,14 @@
|
|
|
27
25
|
"graphql": "^16.10.0"
|
|
28
26
|
},
|
|
29
27
|
"devDependencies": {
|
|
28
|
+
"@modelcontextprotocol/inspector": "^0.11.0",
|
|
30
29
|
"@types/express": "^5.0.1",
|
|
31
30
|
"@types/node": "^22.14.1",
|
|
31
|
+
"esbuild": "^0.25.4",
|
|
32
32
|
"express": "^5.1.0",
|
|
33
33
|
"ts-node": "^10.9.2",
|
|
34
34
|
"typescript": "^5.8.3",
|
|
35
|
-
"vitest": "^3.1.3"
|
|
36
|
-
"@modelcontextprotocol/inspector": "^0.11.0"
|
|
35
|
+
"vitest": "^3.1.3"
|
|
37
36
|
},
|
|
38
37
|
"publishConfig": {
|
|
39
38
|
"access": "public"
|
package/dist/app.js
DELETED
package/dist/app.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
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"}
|
package/dist/config.js
DELETED
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
import { z } from "zod";
|
|
2
|
-
const ConfigSchema = z.object({
|
|
3
|
-
name: z.string().default("mcp-sitecore-server"),
|
|
4
|
-
graphQL: z.object({
|
|
5
|
-
endpoint: z.string().url().min(1, "endpoint is required"),
|
|
6
|
-
schemas: z.array(z.string()),
|
|
7
|
-
apiKey: z.string(),
|
|
8
|
-
headers: z.record(z.string(), z.string()).optional(),
|
|
9
|
-
}).default({
|
|
10
|
-
endpoint: "https://xmcloudcm.localhost/sitecore/api/graph/",
|
|
11
|
-
schemas: ["edge", "master"],
|
|
12
|
-
apiKey: "{6D3F291E-66A5-4703-887A-D549AF83D859}",
|
|
13
|
-
headers: {},
|
|
14
|
-
}),
|
|
15
|
-
itemService: z.object({
|
|
16
|
-
domain: z.string(),
|
|
17
|
-
username: z.string(),
|
|
18
|
-
password: z.string(),
|
|
19
|
-
serverUrl: z.string().url(),
|
|
20
|
-
}).default({
|
|
21
|
-
domain: "sitecore",
|
|
22
|
-
username: "admin",
|
|
23
|
-
password: "b",
|
|
24
|
-
serverUrl: "https://xmcloudcm.localhost/",
|
|
25
|
-
}),
|
|
26
|
-
powershell: z.object({
|
|
27
|
-
domain: z.string(),
|
|
28
|
-
username: z.string(),
|
|
29
|
-
password: z.string(),
|
|
30
|
-
serverUrl: z.string().url(),
|
|
31
|
-
}).default({
|
|
32
|
-
domain: "sitecore",
|
|
33
|
-
username: "admin",
|
|
34
|
-
password: "b",
|
|
35
|
-
serverUrl: "https://xmcloudcm.localhost/",
|
|
36
|
-
}),
|
|
37
|
-
});
|
|
38
|
-
export const envSchema = z.object({
|
|
39
|
-
GRAPHQL_ENDPOINT: z.string().url().optional(),
|
|
40
|
-
GRAPHQL_SCHEMAS: z.string().optional(),
|
|
41
|
-
GRAPHQL_API_KEY: z.string().optional(),
|
|
42
|
-
GRAPHQL_HEADERS: z.string().optional(),
|
|
43
|
-
ITEM_SERVICE_DOMAIN: z.string().optional(),
|
|
44
|
-
ITEM_SERVICE_USERNAME: z.string().optional(),
|
|
45
|
-
ITEM_SERVICE_PASSWORD: z.string().optional(),
|
|
46
|
-
ITEM_SERVICE_SERVER_URL: z.string().url().optional(),
|
|
47
|
-
POWERSHELL_DOMAIN: z.string().optional(),
|
|
48
|
-
POWERSHELL_USERNAME: z.string().optional(),
|
|
49
|
-
POWERSHELL_PASSWORD: z.string().optional(),
|
|
50
|
-
POWERSHELL_SERVER_URL: z.string().url().optional(),
|
|
51
|
-
});
|
|
52
|
-
export const envStartSchema = z.object({
|
|
53
|
-
//* The transport to use for the server. Can be one of 'stdio' or 'sse'.
|
|
54
|
-
//* If not specified, the default is 'stdio'.
|
|
55
|
-
//* The 'stdio' transport is used for local work.
|
|
56
|
-
//* The 'sse' transport is used for server-sent events.
|
|
57
|
-
TRANSPORT: z.string().default("stdio").optional().transform((val) => {
|
|
58
|
-
if (val === "sse")
|
|
59
|
-
return "sse";
|
|
60
|
-
return "stdio";
|
|
61
|
-
})
|
|
62
|
-
});
|
|
63
|
-
//# sourceMappingURL=config.js.map
|
package/dist/config.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
package/dist/const.js
DELETED
package/dist/const.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"const.js","sourceRoot":"","sources":["../src/const.ts"],"names":[],"mappings":""}
|
package/dist/helper.js
DELETED
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import {} from '@modelcontextprotocol/sdk/types.js';
|
|
2
|
-
export async function safeMcpResponse(exec) {
|
|
3
|
-
try {
|
|
4
|
-
return await exec;
|
|
5
|
-
}
|
|
6
|
-
catch (error) {
|
|
7
|
-
console.error('Error executing tool:', error);
|
|
8
|
-
return {
|
|
9
|
-
isError: true,
|
|
10
|
-
content: [
|
|
11
|
-
{
|
|
12
|
-
type: 'text',
|
|
13
|
-
text: `Error executing tool: ${error}`,
|
|
14
|
-
},
|
|
15
|
-
],
|
|
16
|
-
};
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
//# sourceMappingURL=helper.js.map
|
package/dist/helper.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"helper.js","sourceRoot":"","sources":["../src/helper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,MAAM,oCAAoC,CAAC;AAEzE,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,IAA6B;IAC/D,IAAI,CAAC;QACD,OAAO,MAAM,IAAI,CAAC;IACtB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,uBAAuB,EAAE,KAAK,CAAC,CAAC;QAC9C,OAAO;YACH,OAAO,EAAE,IAAI;YACb,OAAO,EAAE;gBACL;oBACI,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,yBAAyB,KAAK,EAAE;iBACzC;aACJ;SACJ,CAAC;IACN,CAAC;AACL,CAAC"}
|
package/dist/index.js
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
import { envStartSchema } from './config.js';
|
|
3
|
-
import { startSTDIO } from './stdio.js';
|
|
4
|
-
import { startSSE } from './sse.js';
|
|
5
|
-
const ENV = envStartSchema.parse(process.env);
|
|
6
|
-
if (ENV.TRANSPORT === "stdio") {
|
|
7
|
-
startSTDIO();
|
|
8
|
-
}
|
|
9
|
-
else {
|
|
10
|
-
startSSE();
|
|
11
|
-
}
|
|
12
|
-
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA,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;AACjB,CAAC;KACI,CAAC;IACF,QAAQ,EAAE,CAAC;AACf,CAAC"}
|
package/dist/run.js
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
/* File to test the other code */
|
|
2
|
-
import { PowershellClient } from './tools/powershell/client.js';
|
|
3
|
-
const client = new PowershellClient('https://xmcloudcm.localhost/', 'admin', 'b', 'sitecore');
|
|
4
|
-
const response = await client.executeScript('Get-Item -Path "master:/sitecore/content/Home"');
|
|
5
|
-
console.log(response);
|
|
6
|
-
console.log(response[0].text); // Assuming the response is an array of objects with a 'text' property
|
|
7
|
-
//# sourceMappingURL=run.js.map
|
package/dist/run.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"run.js","sourceRoot":"","sources":["../src/run.ts"],"names":[],"mappings":"AAAA,iCAAiC;AAEjC,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAEhE,MAAM,MAAM,GAAG,IAAI,gBAAgB,CAC/B,8BAA8B,EAC9B,OAAO,EACP,GAAG,EACH,UAAU,CACb,CAAC;AAEF,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,aAAa,CACvC,gDAAgD,CAAE,CAAC;AAEvD,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AACtB,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,sEAAsE"}
|
package/dist/server.js
DELETED
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
2
|
-
import { registerItemService } from "./tools/item-service/register-item-service.js";
|
|
3
|
-
import { envSchema } from "./config.js";
|
|
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
|
-
import { registerPowerShell } from "./tools/powershell/register-powershell.js";
|
|
9
|
-
// Read package.json data
|
|
10
|
-
const __filename = fileURLToPath(import.meta.url);
|
|
11
|
-
const __dirname = path.dirname(__filename);
|
|
12
|
-
const packagePath = path.resolve(__dirname, '..', 'package.json');
|
|
13
|
-
const packageData = JSON.parse(fs.readFileSync(packagePath, 'utf8'));
|
|
14
|
-
const { version, name } = packageData;
|
|
15
|
-
export function getServer() {
|
|
16
|
-
const server = new McpServer({
|
|
17
|
-
name: `Sitecore MCP Server: ${name}`,
|
|
18
|
-
description: "Modle Context Protocol for Sitecore",
|
|
19
|
-
version: version
|
|
20
|
-
});
|
|
21
|
-
const ENV = envSchema.parse(process.env);
|
|
22
|
-
// Parse the environment variables and set default values
|
|
23
|
-
const config = {
|
|
24
|
-
name: `${name} ${version}`,
|
|
25
|
-
graphQL: {
|
|
26
|
-
endpoint: ENV.GRAPHQL_ENDPOINT || "https://xmcloudcm.localhost/sitecore/api/graph/",
|
|
27
|
-
schemas: ENV.GRAPHQL_SCHEMAS ? ENV.GRAPHQL_SCHEMAS.split(",").map(x => x.trim()) : ["edge", "master"],
|
|
28
|
-
apiKey: ENV.GRAPHQL_API_KEY || "{6D3F291E-66A5-4703-887A-D549AF83D859}",
|
|
29
|
-
headers: ENV.GRAPHQL_HEADERS ? JSON.parse(ENV.GRAPHQL_HEADERS) : {},
|
|
30
|
-
},
|
|
31
|
-
itemService: {
|
|
32
|
-
domain: ENV.ITEM_SERVICE_DOMAIN || "sitecore",
|
|
33
|
-
username: ENV.ITEM_SERVICE_USERNAME || "admin",
|
|
34
|
-
password: ENV.ITEM_SERVICE_PASSWORD || "b",
|
|
35
|
-
serverUrl: ENV.ITEM_SERVICE_SERVER_URL || "https://xmcloudcm.localhost/",
|
|
36
|
-
},
|
|
37
|
-
powershell: {
|
|
38
|
-
domain: ENV.POWERSHELL_DOMAIN || "sitecore",
|
|
39
|
-
username: ENV.POWERSHELL_USERNAME || "admin",
|
|
40
|
-
password: ENV.POWERSHELL_PASSWORD || "b",
|
|
41
|
-
serverUrl: ENV.POWERSHELL_SERVER_URL || "https://xmcloudcm.localhost/",
|
|
42
|
-
},
|
|
43
|
-
};
|
|
44
|
-
server.resource("config", "config://main", async (uri) => {
|
|
45
|
-
return {
|
|
46
|
-
contents: [{
|
|
47
|
-
uri: uri.href,
|
|
48
|
-
text: JSON.stringify(config, null, 2),
|
|
49
|
-
}]
|
|
50
|
-
};
|
|
51
|
-
});
|
|
52
|
-
server.tool("config", "Prints the configuration of the Sitecore MCP server.", {}, async (params) => {
|
|
53
|
-
return {
|
|
54
|
-
content: [
|
|
55
|
-
{
|
|
56
|
-
type: "text",
|
|
57
|
-
text: JSON.stringify(config, null, 2)
|
|
58
|
-
}
|
|
59
|
-
]
|
|
60
|
-
};
|
|
61
|
-
});
|
|
62
|
-
registerGraphQL(server, config);
|
|
63
|
-
registerItemService(server, config);
|
|
64
|
-
registerPowerShell(server, config);
|
|
65
|
-
return server;
|
|
66
|
-
}
|
|
67
|
-
//# sourceMappingURL=server.js.map
|
package/dist/server.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
|
package/dist/sse.js
DELETED
|
@@ -1,31 +0,0 @@
|
|
|
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
DELETED
|
@@ -1 +0,0 @@
|
|
|
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.js
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
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
|
package/dist/stdio.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
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"}
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import {} from "@modelcontextprotocol/sdk/types.js";
|
|
2
|
-
import { buildClientSchema, getIntrospectionQuery, printSchema } from "graphql";
|
|
3
|
-
import {} from "graphql";
|
|
4
|
-
import {} from "../../../config.js";
|
|
5
|
-
export async function introspection(conf, schemaName) {
|
|
6
|
-
const url = `${conf.graphQL.endpoint}/${schemaName}?sc_apikey=${conf.graphQL.apiKey}`;
|
|
7
|
-
const response = await fetch(url, {
|
|
8
|
-
method: 'POST',
|
|
9
|
-
headers: {
|
|
10
|
-
'Content-Type': 'application/json',
|
|
11
|
-
...conf.graphQL.headers,
|
|
12
|
-
},
|
|
13
|
-
body: JSON.stringify({
|
|
14
|
-
query: getIntrospectionQuery(),
|
|
15
|
-
}),
|
|
16
|
-
});
|
|
17
|
-
if (!response.ok) {
|
|
18
|
-
throw new Error(`GraphQL request failed: ${response.statusText}`);
|
|
19
|
-
}
|
|
20
|
-
const responseJson = await response.json();
|
|
21
|
-
// Transform to a schema object
|
|
22
|
-
const schema = buildClientSchema(responseJson.data);
|
|
23
|
-
// Print the schema SDL
|
|
24
|
-
return {
|
|
25
|
-
content: [
|
|
26
|
-
{
|
|
27
|
-
type: "text",
|
|
28
|
-
text: printSchema(schema),
|
|
29
|
-
},
|
|
30
|
-
],
|
|
31
|
-
isError: false,
|
|
32
|
-
};
|
|
33
|
-
}
|
|
34
|
-
//# sourceMappingURL=introspection.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"introspection.js","sourceRoot":"","sources":["../../../../src/tools/graphql/generic/introspection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAChF,OAAO,EAA2B,MAAM,SAAS,CAAC;AAClD,OAAO,EAAe,MAAM,oBAAoB,CAAC;AAEjD,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,IAAY,EAAE,UAAkB;IAEhE,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,UAAU,cAAc,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;IAEtF,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;QAC9B,MAAM,EAAE,MAAM;QACd,OAAO,EAAE;YACL,cAAc,EAAE,kBAAkB;YAClC,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO;SAC1B;QACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;YACjB,KAAK,EAAE,qBAAqB,EAAE;SACjC,CAAC;KACL,CAAC,CAAC;IAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CAAC,2BAA2B,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;IACnE,CAAC;IAED,MAAM,YAAY,GAAG,MAAM,QAAQ,CAAC,IAAI,EAA6C,CAAC;IACtF,+BAA+B;IAC/B,MAAM,MAAM,GAAG,iBAAiB,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IAEpD,uBAAuB;IACvB,OAAO;QACA,OAAO,EAAE;YACL;gBACI,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,WAAW,CAAC,MAAM,CAAC;aAC5B;SACJ;QACD,OAAO,EAAE,KAAK;KACjB,CAAA;AACL,CAAC"}
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
import {} from "@modelcontextprotocol/sdk/types.js";
|
|
2
|
-
import { buildClientSchema, getIntrospectionQuery, printSchema } from "graphql";
|
|
3
|
-
import {} from "graphql";
|
|
4
|
-
import {} from "../../../config.js";
|
|
5
|
-
import { parse } from "graphql/language/index.js";
|
|
6
|
-
export async function query(conf, schemaName, query, variables) {
|
|
7
|
-
const url = `${conf.graphQL.endpoint}/${schemaName}?sc_apikey=${conf.graphQL.apiKey}`;
|
|
8
|
-
const parsedQuery = parse(query);
|
|
9
|
-
const response = await fetch(url, {
|
|
10
|
-
method: 'POST',
|
|
11
|
-
headers: {
|
|
12
|
-
'Content-Type': 'application/json',
|
|
13
|
-
...conf.graphQL.headers,
|
|
14
|
-
},
|
|
15
|
-
body: JSON.stringify({
|
|
16
|
-
query,
|
|
17
|
-
variables,
|
|
18
|
-
}),
|
|
19
|
-
});
|
|
20
|
-
if (!response.ok) {
|
|
21
|
-
throw new Error(`GraphQL request failed: ${response.statusText}`);
|
|
22
|
-
}
|
|
23
|
-
const responseJson = await response.json();
|
|
24
|
-
if (responseJson.errors && responseJson.errors.length > 0) {
|
|
25
|
-
throw new Error(`GraphQL query errors: ${JSON.stringify(responseJson.errors)}`);
|
|
26
|
-
}
|
|
27
|
-
return {
|
|
28
|
-
content: [
|
|
29
|
-
{
|
|
30
|
-
type: "text",
|
|
31
|
-
text: responseJson.data ? JSON.stringify(responseJson.data, null, 2) : "No data returned",
|
|
32
|
-
},
|
|
33
|
-
],
|
|
34
|
-
isError: false,
|
|
35
|
-
};
|
|
36
|
-
}
|
|
37
|
-
//# sourceMappingURL=query.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"query.js","sourceRoot":"","sources":["../../../../src/tools/graphql/generic/query.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAChF,OAAO,EAA2B,MAAM,SAAS,CAAC;AAClD,OAAO,EAAe,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAC;AAElD,MAAM,CAAC,KAAK,UAAU,KAAK,CAAC,IAAY,EAAE,UAAiB,EAAE,KAAa,EAAE,SAAkB;IAC1F,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,UAAU,cAAc,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;IAEtF,MAAM,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;IACjC,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;QAC9B,MAAM,EAAE,MAAM;QACd,OAAO,EAAE;YACL,cAAc,EAAE,kBAAkB;YAClC,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO;SAC1B;QACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;YACjB,KAAK;YACL,SAAS;SACZ,CAAC;KACL,CAAC,CAAC;IAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,2BAA2B,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;IACtE,CAAC;IAED,MAAM,YAAY,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IAE3C,IAAI,YAAY,CAAC,MAAM,IAAI,YAAY,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxD,MAAM,IAAI,KAAK,CAAC,yBAAyB,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACpF,CAAC;IAED,OAAO;QACH,OAAO,EAAE;YACL;gBACI,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,kBAAkB;aAC5F;SACJ;QACD,OAAO,EAAE,KAAK;KACjB,CAAA;AACL,CAAC"}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import { safeMcpResponse } from "../../helper.js";
|
|
2
|
-
import { introspection } from "./generic/introspection.js";
|
|
3
|
-
import { z } from "zod";
|
|
4
|
-
import { query } from "./generic/query.js";
|
|
5
|
-
function registerIntrospectionTool(server, config, schema) {
|
|
6
|
-
server.tool(`introspection-graphql-${schema}`, `Introspection Sitecore GraphQL ${schema} schema, use this tool before doing a query to get the schema information if you do not have it available as a resource already.`, {}, () => {
|
|
7
|
-
return safeMcpResponse(introspection(config, schema));
|
|
8
|
-
});
|
|
9
|
-
}
|
|
10
|
-
function registerQueryTool(server, config, schema) {
|
|
11
|
-
server.tool(`query-graphql-${schema}`, `Query a Sitecore GraphQL ${schema} endpoint with the given query and variables.`, {
|
|
12
|
-
query: z.string(),
|
|
13
|
-
variables: z.string().optional(),
|
|
14
|
-
}, (params) => {
|
|
15
|
-
return safeMcpResponse(query(config, schema, params.query, params.variables));
|
|
16
|
-
});
|
|
17
|
-
}
|
|
18
|
-
export function registerGraphQL(server, config) {
|
|
19
|
-
config.graphQL.schemas.forEach((schema) => {
|
|
20
|
-
registerIntrospectionTool(server, config, schema);
|
|
21
|
-
registerQueryTool(server, config, schema);
|
|
22
|
-
});
|
|
23
|
-
}
|
|
24
|
-
//# sourceMappingURL=register-graphql.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"register-graphql.js","sourceRoot":"","sources":["../../../src/tools/graphql/register-graphql.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAG3C,SAAS,yBAAyB,CAAC,MAAiB,EAAE,MAAc,EAAE,MAAc;IAChF,MAAM,CAAC,IAAI,CACP,yBAAyB,MAAM,EAAE,EACjC,kCAAkC,MAAM,kIAAkI,EAC1K,EAAE,EACF,GAAG,EAAE;QACD,OAAO,eAAe,CAAC,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;IACzD,CAAC,CACJ,CAAA;AACL,CAAC;AAED,SAAS,iBAAiB,CAAC,MAAiB,EAAE,MAAc,EAAE,MAAc;IACxE,MAAM,CAAC,IAAI,CACP,iBAAiB,MAAM,EAAE,EACzB,4BAA4B,MAAM,+CAA+C,EACjF;QACI,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;QACjB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;KACnC,EACD,CAAC,MAAM,EAAE,EAAE;QACP,OAAO,eAAe,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC,CAAA;IACjF,CAAC,CACJ,CAAA;AACL,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,MAAiB,EAAE,MAAc;IAC7D,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;QACtC,yBAAyB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QAClD,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAA;AACN,CAAC"}
|