@antonytm/mcp-sitecore-server 0.1.4 → 0.1.6
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/README.md +72 -2
- package/dist/app.js +0 -1
- package/dist/app.js.map +1 -1
- package/dist/config.js +1 -3
- package/dist/config.js.map +1 -1
- package/dist/index.js +0 -2
- package/dist/index.js.map +1 -1
- package/dist/server.js +2 -2
- package/dist/server.js.map +1 -1
- package/dist/tools/item-service/composite/get-item-descendants.d.ts +10 -0
- package/dist/tools/item-service/composite/get-item-descendants.js +30 -0
- package/dist/tools/item-service/composite/get-item-descendants.js.map +1 -0
- package/dist/tools/item-service/register-item-service.js +14 -0
- package/dist/tools/item-service/register-item-service.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,2 +1,72 @@
|
|
|
1
|
-
#
|
|
2
|
-
|
|
1
|
+
# Model Context Protocol server for Sitecore
|
|
2
|
+
|
|
3
|
+

|
|
4
|
+
|
|
5
|
+
[](CONTRIBUTING.md)
|
|
6
|
+
|
|
7
|
+
## Implemented tools
|
|
8
|
+
|
|
9
|
+
- [x] GraphQL API
|
|
10
|
+
- [x] `introspection-grahpql-{schema}`: returns the GraphQL schema
|
|
11
|
+
- [x] `query-graphql-{schema}`: executes a GraphQL query
|
|
12
|
+
- [x] Item Service API
|
|
13
|
+
- [x] `item-service-get-item`: returns an item by ID
|
|
14
|
+
- [x] `item-service-get-item-children`: returns the children of an item by ID
|
|
15
|
+
- [x] `item-service-get-item-by-path`: returns an item by path
|
|
16
|
+
- [x] `item-service-create-item`: creates an item by providing a template ID and parent path.
|
|
17
|
+
- [x] `item-service-edit-item`: edits an item by ID
|
|
18
|
+
- [x] `item-service-delete-item`: deletes an item by ID
|
|
19
|
+
- [x] `item-service-search-items`: searches for items
|
|
20
|
+
- [x] `item-service-run-stored-query`: runs a stored query
|
|
21
|
+
- [x] `item-service-run-stored-search`: runs a stored search
|
|
22
|
+
- [x] Composite Item Service API
|
|
23
|
+
- [x] `item-service-get-languages`: returns Sitcore languages in the instance
|
|
24
|
+
- [x] `item-service-get-item-descendants`: returns the descendants of an item by ID
|
|
25
|
+
- [ ] Sitecore Powershell
|
|
26
|
+
- [ ] Sitecore CLI
|
|
27
|
+
|
|
28
|
+
## Installation
|
|
29
|
+
|
|
30
|
+
Add the following Model Context Protocol server to your Cursor, VS Code, Claud:
|
|
31
|
+
|
|
32
|
+
```json
|
|
33
|
+
"Sitecore": {
|
|
34
|
+
"type": "stdio",
|
|
35
|
+
"command": "npx",
|
|
36
|
+
"args": ["@antonytm/mcp-sitecore-server@latest"],
|
|
37
|
+
"env": {
|
|
38
|
+
"TRANSPORT": "stdio",
|
|
39
|
+
"GRAPHQL_ENDPOINT": "https://xmcloudcm.localhost/sitecore/api/graph/",
|
|
40
|
+
"GRAPHQL_SCHEMAS": "edge,master,core",
|
|
41
|
+
"GRAPHQL_API_KEY": "{6D3F291E-66A5-4703-887A-D549AF83D859}",
|
|
42
|
+
"GRAPHQL_HEADERS": "",
|
|
43
|
+
"ITEM_SERVICE_DOMAIN": "sitecore",
|
|
44
|
+
"ITEM_SERVICE_USERNAME": "admin",
|
|
45
|
+
"ITEM_SERVICE_PASSWORD": "b",
|
|
46
|
+
"ITEM_SERVICE_SERVER_URL": "https://xmcloudcm.localhost/"
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
### Environment Variables Description
|
|
52
|
+
|
|
53
|
+
- `TRANSPORT`: The transport protocol to use. Options are `stdio` or `sse`.
|
|
54
|
+
- `GRAPHQL_ENDPOINT`: The GraphQL endpoint URL for the Sitecore instance.
|
|
55
|
+
- `GRAPHQL_SCHEMAS`: The Sitecore schemas to use for the GraphQL API, comma-separated.
|
|
56
|
+
- `GRAPHQL_API_KEY`: The API key for the GraphQL endpoint.
|
|
57
|
+
- `GRAPHQL_HEADERS`: Additional headers to include in the GraphQL requests.
|
|
58
|
+
- `ITEM_SERVICE_DOMAIN`: The domain for the Item Service API login. Default is `sitecore`.
|
|
59
|
+
- `ITEM_SERVICE_USERNAME`: The username for the Item Service API login.
|
|
60
|
+
- `ITEM_SERVICE_PASSWORD`: The password for the Item Service API login.
|
|
61
|
+
- `ITEM_SERVICE_SERVER_URL`: The base URL for the Item Service API.
|
|
62
|
+
|
|
63
|
+
## Resources list
|
|
64
|
+
|
|
65
|
+
- [x] `config`: returns the configuration of the server. Use it to check if everything is properly configured.
|
|
66
|
+
|
|
67
|
+
## Local Installation / Development
|
|
68
|
+
|
|
69
|
+
1. Clone the repository
|
|
70
|
+
2. Run `npm install` to install dependencies
|
|
71
|
+
3. Run `npm run build` to build the project
|
|
72
|
+
4. Run `npm start` to start the server
|
package/dist/app.js
CHANGED
package/dist/app.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
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
|
|
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
CHANGED
|
@@ -40,11 +40,9 @@ export const envStartSchema = z.object({
|
|
|
40
40
|
//* The 'stdio' transport is used for local work.
|
|
41
41
|
//* The 'sse' transport is used for server-sent events.
|
|
42
42
|
TRANSPORT: z.string().default("stdio").optional().transform((val) => {
|
|
43
|
-
if (val === "stdio")
|
|
44
|
-
return "stdio";
|
|
45
43
|
if (val === "sse")
|
|
46
44
|
return "sse";
|
|
47
|
-
|
|
45
|
+
return "stdio";
|
|
48
46
|
})
|
|
49
47
|
});
|
|
50
48
|
//# 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;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,
|
|
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,KAAK;YAAE,OAAO,KAAK,CAAC;QAChC,OAAO,OAAO,CAAC;IACnB,CAAC,CAAC;CACL,CAAC,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -5,10 +5,8 @@ import { startSSE } from './sse.js';
|
|
|
5
5
|
const ENV = envStartSchema.parse(process.env);
|
|
6
6
|
if (ENV.TRANSPORT === "stdio") {
|
|
7
7
|
startSTDIO();
|
|
8
|
-
console.log("STDIO transport started.");
|
|
9
8
|
}
|
|
10
9
|
else {
|
|
11
10
|
startSSE();
|
|
12
|
-
console.log("SSE transport started.");
|
|
13
11
|
}
|
|
14
12
|
//# 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":";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;
|
|
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/server.js
CHANGED
|
@@ -20,10 +20,10 @@ export function getServer() {
|
|
|
20
20
|
const ENV = envSchema.parse(process.env);
|
|
21
21
|
// Parse the environment variables and set default values
|
|
22
22
|
const config = {
|
|
23
|
-
name: name
|
|
23
|
+
name: `${name} ${version}`,
|
|
24
24
|
graphQL: {
|
|
25
25
|
endpoint: ENV.GRAPHQL_ENDPOINT || "https://xmcloudcm.localhost/sitecore/api/graph/",
|
|
26
|
-
schemas: ENV.GRAPHQL_SCHEMAS ? ENV.GRAPHQL_SCHEMAS.split(",") : ["edge", "master"],
|
|
26
|
+
schemas: ENV.GRAPHQL_SCHEMAS ? ENV.GRAPHQL_SCHEMAS.split(",").map(x => x.trim()) : ["edge", "master"],
|
|
27
27
|
apiKey: ENV.GRAPHQL_API_KEY || "{6D3F291E-66A5-4703-887A-D549AF83D859}",
|
|
28
28
|
headers: ENV.GRAPHQL_HEADERS ? JSON.parse(ENV.GRAPHQL_HEADERS) : {},
|
|
29
29
|
},
|
package/dist/server.js.map
CHANGED
|
@@ -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;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;
|
|
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,GAAG,IAAI,IAAI,OAAO,EAAE;QAC1B,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,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,QAAQ,CAAC;YACrG,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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { type CallToolResult } from "@modelcontextprotocol/sdk/types.js";
|
|
2
|
+
import { type Config } from "../../../config.js";
|
|
3
|
+
export declare function getItemDescendants(conf: Config, id: string, options: {
|
|
4
|
+
database?: string;
|
|
5
|
+
language?: string;
|
|
6
|
+
version?: string;
|
|
7
|
+
includeStandardTemplateFields?: boolean;
|
|
8
|
+
includeMetadata?: boolean;
|
|
9
|
+
fields?: string[];
|
|
10
|
+
}): Promise<CallToolResult>;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import {} from "@modelcontextprotocol/sdk/types.js";
|
|
2
|
+
import {} from "../../../config.js";
|
|
3
|
+
import SitecoreRestfulItemServiceClient from "../client.js";
|
|
4
|
+
export async function getItemDescendants(conf, id, options) {
|
|
5
|
+
const client = new SitecoreRestfulItemServiceClient(conf.itemService.serverUrl, conf.itemService.username, conf.itemService.password, conf.itemService.domain);
|
|
6
|
+
const responseArray = [];
|
|
7
|
+
const idsSet = new Set();
|
|
8
|
+
idsSet.add(id);
|
|
9
|
+
while (idsSet.size > 0) {
|
|
10
|
+
const idToProcess = idsSet.values().next().value ?? "";
|
|
11
|
+
idsSet.delete(idToProcess);
|
|
12
|
+
const children = await client.getItemChildren(idToProcess, options);
|
|
13
|
+
if (children) {
|
|
14
|
+
for (const child of children) {
|
|
15
|
+
idsSet.add(child.ItemID);
|
|
16
|
+
}
|
|
17
|
+
responseArray.push(...children);
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
return {
|
|
21
|
+
content: [
|
|
22
|
+
{
|
|
23
|
+
type: "text",
|
|
24
|
+
text: JSON.stringify(responseArray, null, 2),
|
|
25
|
+
},
|
|
26
|
+
],
|
|
27
|
+
isError: false,
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=get-item-descendants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-item-descendants.js","sourceRoot":"","sources":["../../../../src/tools/item-service/composite/get-item-descendants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAe,MAAM,oBAAoB,CAAC;AACjD,OAAO,gCAAgC,MAAM,cAAc,CAAC;AAE5D,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,IAAY,EACjD,EAAU,EAAE,OAOX;IAED,MAAM,MAAM,GAAG,IAAI,gCAAgC,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,EAC1E,IAAI,CAAC,WAAW,CAAC,QAAQ,EACzB,IAAI,CAAC,WAAW,CAAC,QAAQ,EACzB,IAAI,CAAC,WAAW,CAAC,MAAM,CAC1B,CAAC;IAEF,MAAM,aAAa,GAAG,EAAE,CAAC;IACzB,MAAM,MAAM,GAAG,IAAI,GAAG,EAAU,CAAC;IAEjC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAEf,OAAM,MAAM,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;QACpB,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC;QACvD,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QAC3B,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,WAAW,EAAE,OAAO,CAAQ,CAAC;QAE3E,IAAI,QAAQ,EAAE,CAAC;YACX,KAAK,MAAM,KAAK,IAAI,QAAQ,EAAE,CAAC;gBAC3B,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAC7B,CAAC;YACD,aAAa,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC;QACpC,CAAC;IACL,CAAC;IAED,OAAO;QACH,OAAO,EAAE;YACL;gBACI,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;aAC/C;SACJ;QACD,OAAO,EAAE,KAAK;KACjB,CAAA;AACL,CAAC"}
|
|
@@ -10,6 +10,7 @@ import { runStoredQuery } from "./simple/run-stored-query.js";
|
|
|
10
10
|
import { runStoredSearch } from "./simple/run-stored-search.js";
|
|
11
11
|
import { editItem } from "./simple/edit-item.js";
|
|
12
12
|
import { searchItems } from "./simple/search-items.js";
|
|
13
|
+
import { getItemDescendants } from "./composite/get-item-descendants.js";
|
|
13
14
|
function registerSimpleItemServices(server, config) {
|
|
14
15
|
server.tool('item-service-get-item', "Get a Sitecore item by its ID.", {
|
|
15
16
|
id: z.string(),
|
|
@@ -134,6 +135,19 @@ function registerCompositeItemServices(server, config) {
|
|
|
134
135
|
server.tool('item-service-get-languages', "Get Sitecore languages.", {}, async () => {
|
|
135
136
|
return safeMcpResponse(getLanguages(config));
|
|
136
137
|
});
|
|
138
|
+
server.tool('item-service-get-item-descendants', "Get descendants of a Sitecore item by its ID.", {
|
|
139
|
+
id: z.string(),
|
|
140
|
+
options: z.object({
|
|
141
|
+
database: z.string().optional(),
|
|
142
|
+
language: z.string().optional(),
|
|
143
|
+
version: z.string().optional(),
|
|
144
|
+
includeStandardTemplateFields: z.boolean().optional(),
|
|
145
|
+
includeMetadata: z.boolean().optional(),
|
|
146
|
+
fields: z.array(z.string()).optional(),
|
|
147
|
+
}).optional(),
|
|
148
|
+
}, async (params) => {
|
|
149
|
+
return safeMcpResponse(getItemDescendants(config, params.id, params.options || {}));
|
|
150
|
+
});
|
|
137
151
|
}
|
|
138
152
|
export function registerItemService(server, config) {
|
|
139
153
|
registerSimpleItemServices(server, config);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"register-item-service.js","sourceRoot":"","sources":["../../../src/tools/item-service/register-item-service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAEhE,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"register-item-service.js","sourceRoot":"","sources":["../../../src/tools/item-service/register-item-service.ts"],"names":[],"mappings":"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"}
|