@antonytm/mcp-sitecore-server 0.1.0
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/LICENSE +201 -0
- package/README.md +2 -0
- package/dist/app.d.ts +1 -0
- package/dist/app.js +29 -0
- package/dist/app.js.map +1 -0
- package/dist/config.d.ts +66 -0
- package/dist/config.js +27 -0
- package/dist/config.js.map +1 -0
- package/dist/const.d.ts +0 -0
- package/dist/const.js +2 -0
- package/dist/const.js.map +1 -0
- package/dist/helper.d.ts +2 -0
- package/dist/helper.js +19 -0
- package/dist/helper.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +6 -0
- package/dist/index.js.map +1 -0
- package/dist/server.d.ts +2 -0
- package/dist/server.js +37 -0
- package/dist/server.js.map +1 -0
- package/dist/tools/graphql/generic/introspection.d.ts +3 -0
- package/dist/tools/graphql/generic/introspection.js +34 -0
- package/dist/tools/graphql/generic/introspection.js.map +1 -0
- package/dist/tools/graphql/generic/query.d.ts +3 -0
- package/dist/tools/graphql/generic/query.js +37 -0
- package/dist/tools/graphql/generic/query.js.map +1 -0
- package/dist/tools/graphql/register-graphql.d.ts +3 -0
- package/dist/tools/graphql/register-graphql.js +24 -0
- package/dist/tools/graphql/register-graphql.js.map +1 -0
- package/dist/tools/item-service/client.d.ts +148 -0
- package/dist/tools/item-service/client.js +428 -0
- package/dist/tools/item-service/client.js.map +1 -0
- package/dist/tools/item-service/composite/get-languages.d.ts +3 -0
- package/dist/tools/item-service/composite/get-languages.js +19 -0
- package/dist/tools/item-service/composite/get-languages.js.map +1 -0
- package/dist/tools/item-service/register-item-service.d.ts +3 -0
- package/dist/tools/item-service/register-item-service.js +142 -0
- package/dist/tools/item-service/register-item-service.js.map +1 -0
- package/dist/tools/item-service/simple/create-item.d.ts +10 -0
- package/dist/tools/item-service/simple/create-item.js +17 -0
- package/dist/tools/item-service/simple/create-item.js.map +1 -0
- package/dist/tools/item-service/simple/delete-item.d.ts +13 -0
- package/dist/tools/item-service/simple/delete-item.js +23 -0
- package/dist/tools/item-service/simple/delete-item.js.map +1 -0
- package/dist/tools/item-service/simple/edit-item.d.ts +15 -0
- package/dist/tools/item-service/simple/edit-item.js +23 -0
- package/dist/tools/item-service/simple/edit-item.js.map +1 -0
- package/dist/tools/item-service/simple/get-item-by-path.d.ts +10 -0
- package/dist/tools/item-service/simple/get-item-by-path.js +17 -0
- package/dist/tools/item-service/simple/get-item-by-path.js.map +1 -0
- package/dist/tools/item-service/simple/get-item-children.d.ts +10 -0
- package/dist/tools/item-service/simple/get-item-children.js +17 -0
- package/dist/tools/item-service/simple/get-item-children.js.map +1 -0
- package/dist/tools/item-service/simple/get-item.d.ts +10 -0
- package/dist/tools/item-service/simple/get-item.js +18 -0
- package/dist/tools/item-service/simple/get-item.js.map +1 -0
- package/dist/tools/item-service/simple/run-stored-query.d.ts +17 -0
- package/dist/tools/item-service/simple/run-stored-query.js +24 -0
- package/dist/tools/item-service/simple/run-stored-query.js.map +1 -0
- package/dist/tools/item-service/simple/run-stored-search.d.ts +19 -0
- package/dist/tools/item-service/simple/run-stored-search.js +24 -0
- package/dist/tools/item-service/simple/run-stored-search.js.map +1 -0
- package/dist/tools/item-service/simple/search-items.d.ts +11 -0
- package/dist/tools/item-service/simple/search-items.js +17 -0
- package/dist/tools/item-service/simple/search-items.js.map +1 -0
- package/package.json +32 -0
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { getItemById } from "./simple/get-item.js";
|
|
3
|
+
import { getItemChildren } from "./simple/get-item-children.js";
|
|
4
|
+
import { getItemByPath } from "./simple/get-item-by-path.js";
|
|
5
|
+
import { safeMcpResponse } from "../../helper.js";
|
|
6
|
+
import { getLanguages } from "./composite/get-languages.js";
|
|
7
|
+
import { createItem } from "./simple/create-item.js";
|
|
8
|
+
import { deleteItem } from "./simple/delete-item.js";
|
|
9
|
+
import { runStoredQuery } from "./simple/run-stored-query.js";
|
|
10
|
+
import { runStoredSearch } from "./simple/run-stored-search.js";
|
|
11
|
+
import { editItem } from "./simple/edit-item.js";
|
|
12
|
+
import { searchItems } from "./simple/search-items.js";
|
|
13
|
+
function registerSimpleItemServices(server, config) {
|
|
14
|
+
server.tool('item-service-get-item', "Get a Sitecore item by its ID.", {
|
|
15
|
+
id: z.string(),
|
|
16
|
+
options: z.object({
|
|
17
|
+
database: z.string().optional(),
|
|
18
|
+
language: z.string().optional(),
|
|
19
|
+
version: z.string().optional(),
|
|
20
|
+
includeStandardTemplateFields: z.boolean().optional(),
|
|
21
|
+
includeMetadata: z.boolean().optional(),
|
|
22
|
+
fields: z.array(z.string()).optional(),
|
|
23
|
+
}).optional(),
|
|
24
|
+
}, async (params) => {
|
|
25
|
+
return safeMcpResponse(getItemById(config, params.id, params.options || {}));
|
|
26
|
+
});
|
|
27
|
+
server.tool('item-service-get-item-children', "Get children of a Sitecore item by its ID.", {
|
|
28
|
+
id: z.string(),
|
|
29
|
+
options: z.object({
|
|
30
|
+
database: z.string().optional(),
|
|
31
|
+
language: z.string().optional(),
|
|
32
|
+
version: z.string().optional(),
|
|
33
|
+
includeStandardTemplateFields: z.boolean().optional(),
|
|
34
|
+
includeMetadata: z.boolean().optional(),
|
|
35
|
+
fields: z.array(z.string()).optional(),
|
|
36
|
+
}).optional(),
|
|
37
|
+
}, async (params) => {
|
|
38
|
+
return safeMcpResponse(getItemChildren(config, params.id, params.options || {}));
|
|
39
|
+
});
|
|
40
|
+
server.tool('item-service-get-item-by-path', "Get a Sitecore item by its path.", {
|
|
41
|
+
path: z.string(),
|
|
42
|
+
options: z.object({
|
|
43
|
+
database: z.string().optional(),
|
|
44
|
+
language: z.string().optional(),
|
|
45
|
+
version: z.string().optional(),
|
|
46
|
+
includeStandardTemplateFields: z.boolean().optional(),
|
|
47
|
+
includeMetadata: z.boolean().optional(),
|
|
48
|
+
fields: z.array(z.string()).optional(),
|
|
49
|
+
}).optional(),
|
|
50
|
+
}, async (params) => {
|
|
51
|
+
return safeMcpResponse(getItemByPath(config, params.path, params.options || {}));
|
|
52
|
+
});
|
|
53
|
+
// It seems that union types are not supported in the current version of AI agents
|
|
54
|
+
// I tried to use z.intersection() but it does not work
|
|
55
|
+
// z.union doesn't work either
|
|
56
|
+
// z.passthrough() doesn't work either
|
|
57
|
+
// So, data object will be split into required and optional
|
|
58
|
+
// And as it is the API for the AI agent, not for people, it is not a big deal
|
|
59
|
+
server.tool('item-service-create-item', "Create a new Sitecore item under parent path with name using template id.", {
|
|
60
|
+
parentPath: z.string(),
|
|
61
|
+
itemName: z.string(),
|
|
62
|
+
templateId: z.string(),
|
|
63
|
+
data: z.record(z.string(), z.string()).optional(),
|
|
64
|
+
options: z.object({
|
|
65
|
+
database: z.string().optional(),
|
|
66
|
+
language: z.string().optional(),
|
|
67
|
+
}).optional(),
|
|
68
|
+
}, async (params) => {
|
|
69
|
+
return safeMcpResponse(createItem(config, params.parentPath, { ItemName: params.itemName, TemplateID: params.templateId, ...params.data }, params.options || {}));
|
|
70
|
+
});
|
|
71
|
+
server.tool('item-service-edit-item', "Edit a Sitecore item by its ID.", {
|
|
72
|
+
id: z.string(),
|
|
73
|
+
data: z.record(z.string(), z.string()),
|
|
74
|
+
options: z.object({
|
|
75
|
+
database: z.string().optional(),
|
|
76
|
+
language: z.string().optional(),
|
|
77
|
+
version: z.string().optional(),
|
|
78
|
+
}).optional(),
|
|
79
|
+
}, async (params) => {
|
|
80
|
+
return safeMcpResponse(editItem(config, params.id, params.data, params.options || {}));
|
|
81
|
+
});
|
|
82
|
+
server.tool('item-service-delete-item', "Delete a Sitecore item by its ID.", {
|
|
83
|
+
id: z.string(),
|
|
84
|
+
options: z.object({
|
|
85
|
+
database: z.string().optional(),
|
|
86
|
+
language: z.string().optional(),
|
|
87
|
+
version: z.string().optional(),
|
|
88
|
+
}).optional(),
|
|
89
|
+
}, async (params) => {
|
|
90
|
+
return safeMcpResponse(deleteItem(config, params.id, params.options || {}));
|
|
91
|
+
});
|
|
92
|
+
server.tool('item-service-search-items', "Search Sitecore items using the ItemService RESTful API.", {
|
|
93
|
+
term: z.string(),
|
|
94
|
+
fields: z.array(z.string()).optional(),
|
|
95
|
+
facet: z.string().optional(),
|
|
96
|
+
page: z.number().optional(),
|
|
97
|
+
pageSize: z.number().optional(),
|
|
98
|
+
database: z.string().optional(),
|
|
99
|
+
includeStandardTemplateFields: z.boolean().optional(),
|
|
100
|
+
}, async (params) => {
|
|
101
|
+
return safeMcpResponse(searchItems(config, params));
|
|
102
|
+
});
|
|
103
|
+
server.tool('item-service-run-stored-query', "Run a stored Sitecore query by its definition item ID.", {
|
|
104
|
+
id: z.string(),
|
|
105
|
+
options: z.object({
|
|
106
|
+
database: z.string().optional(),
|
|
107
|
+
language: z.string().optional(),
|
|
108
|
+
page: z.number().optional(),
|
|
109
|
+
pageSize: z.number().optional(),
|
|
110
|
+
fields: z.array(z.string()).optional(),
|
|
111
|
+
includeStandardTemplateFields: z.boolean().optional(),
|
|
112
|
+
}).optional(),
|
|
113
|
+
}, async (params) => {
|
|
114
|
+
return safeMcpResponse(runStoredQuery(config, params.id, params.options || {}));
|
|
115
|
+
});
|
|
116
|
+
server.tool('item-service-run-stored-search', "Run a stored Sitecore search by its definition item ID.", {
|
|
117
|
+
id: z.string(),
|
|
118
|
+
term: z.string(),
|
|
119
|
+
options: z.object({
|
|
120
|
+
pageSize: z.number().optional(),
|
|
121
|
+
page: z.number().optional(),
|
|
122
|
+
database: z.string().optional(),
|
|
123
|
+
language: z.string().optional(),
|
|
124
|
+
includeStandardTemplateFields: z.boolean().optional(),
|
|
125
|
+
fields: z.array(z.string()).optional(),
|
|
126
|
+
facet: z.string().optional(),
|
|
127
|
+
sorting: z.string().optional(),
|
|
128
|
+
}).optional(),
|
|
129
|
+
}, async (params) => {
|
|
130
|
+
return safeMcpResponse(runStoredSearch(config, params.id, params.term, params.options || {}));
|
|
131
|
+
});
|
|
132
|
+
}
|
|
133
|
+
function registerCompositeItemServices(server, config) {
|
|
134
|
+
server.tool('item-service-get-languages', "Get Sitecore languages.", {}, async () => {
|
|
135
|
+
return safeMcpResponse(getLanguages(config));
|
|
136
|
+
});
|
|
137
|
+
}
|
|
138
|
+
export function registerItemService(server, config) {
|
|
139
|
+
registerSimpleItemServices(server, config);
|
|
140
|
+
registerCompositeItemServices(server, config);
|
|
141
|
+
}
|
|
142
|
+
//# sourceMappingURL=register-item-service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"register-item-service.js","sourceRoot":"","sources":["../../../src/tools/item-service/register-item-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { type CallToolResult } from "@modelcontextprotocol/sdk/types.js";
|
|
2
|
+
import { type Config } from "../../../config.js";
|
|
3
|
+
export declare function createItem(conf: Config, parentPath: string, data: {
|
|
4
|
+
ItemName: string;
|
|
5
|
+
TemplateID: string;
|
|
6
|
+
[key: string]: any;
|
|
7
|
+
}, options?: {
|
|
8
|
+
database?: string;
|
|
9
|
+
language?: string;
|
|
10
|
+
}): Promise<CallToolResult>;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import {} from "@modelcontextprotocol/sdk/types.js";
|
|
2
|
+
import {} from "../../../config.js";
|
|
3
|
+
import SitecoreRestfulItemServiceClient from "../client.js";
|
|
4
|
+
export async function createItem(conf, parentPath, data, options = {}) {
|
|
5
|
+
const client = new SitecoreRestfulItemServiceClient(conf.itemService.serverUrl, conf.itemService.username, conf.itemService.password, conf.itemService.domain);
|
|
6
|
+
const response = await client.createItem(parentPath, data, options);
|
|
7
|
+
return {
|
|
8
|
+
content: [
|
|
9
|
+
{
|
|
10
|
+
type: "text",
|
|
11
|
+
text: JSON.stringify(response, null, 2),
|
|
12
|
+
},
|
|
13
|
+
],
|
|
14
|
+
isError: false,
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=create-item.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-item.js","sourceRoot":"","sources":["../../../../src/tools/item-service/simple/create-item.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,UAAU,CAAC,IAAY,EACzC,UAAkB,EAClB,IAIC,EACD,UAGI,EAAE;IAEN,MAAM,MAAM,GAAG,IAAI,gCAAgC,CAC/C,IAAI,CAAC,WAAW,CAAC,SAAS,EAC1B,IAAI,CAAC,WAAW,CAAC,QAAQ,EACzB,IAAI,CAAC,WAAW,CAAC,QAAQ,EACzB,IAAI,CAAC,WAAW,CAAC,MAAM,CAC1B,CAAC;IAEF,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,UAAU,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IAEpE,OAAO;QACH,OAAO,EAAE;YACL;gBACI,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;aAC1C;SACJ;QACD,OAAO,EAAE,KAAK;KACjB,CAAC;AACN,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { type CallToolResult } from "@modelcontextprotocol/sdk/types.js";
|
|
2
|
+
import { type Config } from "../../../config.js";
|
|
3
|
+
/**
|
|
4
|
+
* Delete a Sitecore item by ID using the RESTful ItemService API.
|
|
5
|
+
* @param conf - Sitecore connection config
|
|
6
|
+
* @param id - The GUID of the Sitecore item to delete
|
|
7
|
+
* @param options - Optional parameters (database, language, version)
|
|
8
|
+
*/
|
|
9
|
+
export declare function deleteItem(conf: Config, id: string, options?: {
|
|
10
|
+
database?: string;
|
|
11
|
+
language?: string;
|
|
12
|
+
version?: string;
|
|
13
|
+
}): Promise<CallToolResult>;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import {} from "@modelcontextprotocol/sdk/types.js";
|
|
2
|
+
import {} from "../../../config.js";
|
|
3
|
+
import SitecoreRestfulItemServiceClient from "../client.js";
|
|
4
|
+
/**
|
|
5
|
+
* Delete a Sitecore item by ID using the RESTful ItemService API.
|
|
6
|
+
* @param conf - Sitecore connection config
|
|
7
|
+
* @param id - The GUID of the Sitecore item to delete
|
|
8
|
+
* @param options - Optional parameters (database, language, version)
|
|
9
|
+
*/
|
|
10
|
+
export async function deleteItem(conf, id, options = {}) {
|
|
11
|
+
const client = new SitecoreRestfulItemServiceClient(conf.itemService.serverUrl, conf.itemService.username, conf.itemService.password, conf.itemService.domain);
|
|
12
|
+
const response = await client.deleteItem(id, options);
|
|
13
|
+
return {
|
|
14
|
+
content: [
|
|
15
|
+
{
|
|
16
|
+
type: "text",
|
|
17
|
+
text: JSON.stringify(response, null, 2),
|
|
18
|
+
},
|
|
19
|
+
],
|
|
20
|
+
isError: false,
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=delete-item.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delete-item.js","sourceRoot":"","sources":["../../../../src/tools/item-service/simple/delete-item.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAe,MAAM,oBAAoB,CAAC;AACjD,OAAO,gCAAgC,MAAM,cAAc,CAAC;AAE5D;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAC5B,IAAY,EACZ,EAAU,EACV,UAAsE,EAAE;IAExE,MAAM,MAAM,GAAG,IAAI,gCAAgC,CAC/C,IAAI,CAAC,WAAW,CAAC,SAAS,EAC1B,IAAI,CAAC,WAAW,CAAC,QAAQ,EACzB,IAAI,CAAC,WAAW,CAAC,QAAQ,EACzB,IAAI,CAAC,WAAW,CAAC,MAAM,CAC1B,CAAC;IACF,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;IACtD,OAAO;QACH,OAAO,EAAE;YACL;gBACI,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;aAC1C;SACJ;QACD,OAAO,EAAE,KAAK;KACjB,CAAC;AACN,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { type CallToolResult } from "@modelcontextprotocol/sdk/types.js";
|
|
2
|
+
/**
|
|
3
|
+
* Edit a Sitecore item by ID using the RESTful ItemService API.
|
|
4
|
+
* @param conf - Sitecore connection config
|
|
5
|
+
* @param id - The GUID of the Sitecore item to edit
|
|
6
|
+
* @param data - The data to update (fields, etc)
|
|
7
|
+
* @param options - Optional parameters (database, language, version)
|
|
8
|
+
*/
|
|
9
|
+
export declare function editItem(conf: any, id: string, data: {
|
|
10
|
+
[key: string]: any;
|
|
11
|
+
}, options?: {
|
|
12
|
+
database?: string;
|
|
13
|
+
language?: string;
|
|
14
|
+
version?: string;
|
|
15
|
+
}): Promise<CallToolResult>;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import {} from "@modelcontextprotocol/sdk/types.js";
|
|
2
|
+
import SitecoreRestfulItemServiceClient from "../client.js";
|
|
3
|
+
/**
|
|
4
|
+
* Edit a Sitecore item by ID using the RESTful ItemService API.
|
|
5
|
+
* @param conf - Sitecore connection config
|
|
6
|
+
* @param id - The GUID of the Sitecore item to edit
|
|
7
|
+
* @param data - The data to update (fields, etc)
|
|
8
|
+
* @param options - Optional parameters (database, language, version)
|
|
9
|
+
*/
|
|
10
|
+
export async function editItem(conf, id, data, options = {}) {
|
|
11
|
+
const client = new SitecoreRestfulItemServiceClient(conf.itemService.serverUrl, conf.itemService.username, conf.itemService.password, conf.itemService.domain);
|
|
12
|
+
const response = await client.editItem(id, data, options);
|
|
13
|
+
return {
|
|
14
|
+
content: [
|
|
15
|
+
{
|
|
16
|
+
type: "text",
|
|
17
|
+
text: JSON.stringify(response, null, 2),
|
|
18
|
+
},
|
|
19
|
+
],
|
|
20
|
+
isError: false,
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=edit-item.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"edit-item.js","sourceRoot":"","sources":["../../../../src/tools/item-service/simple/edit-item.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,MAAM,oCAAoC,CAAC;AACzE,OAAO,gCAAgC,MAAM,cAAc,CAAC;AAE5D;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,QAAQ,CAC1B,IAAS,EACT,EAAU,EACV,IAA4B,EAC5B,UAAsE,EAAE;IAExE,MAAM,MAAM,GAAG,IAAI,gCAAgC,CAC/C,IAAI,CAAC,WAAW,CAAC,SAAS,EAC1B,IAAI,CAAC,WAAW,CAAC,QAAQ,EACzB,IAAI,CAAC,WAAW,CAAC,QAAQ,EACzB,IAAI,CAAC,WAAW,CAAC,MAAM,CAC1B,CAAC;IACF,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IAC1D,OAAO;QACH,OAAO,EAAE;YACL;gBACI,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;aAC1C;SACJ;QACD,OAAO,EAAE,KAAK;KACjB,CAAC;AACN,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 getItemByPath(conf: Config, path: 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,17 @@
|
|
|
1
|
+
import {} from "@modelcontextprotocol/sdk/types.js";
|
|
2
|
+
import {} from "../../../config.js";
|
|
3
|
+
import SitecoreRestfulItemServiceClient from "../client.js";
|
|
4
|
+
export async function getItemByPath(conf, path, options) {
|
|
5
|
+
const client = new SitecoreRestfulItemServiceClient(conf.itemService.serverUrl, conf.itemService.username, conf.itemService.password, conf.itemService.domain);
|
|
6
|
+
const response = await client.getItemByPath(path, options);
|
|
7
|
+
return {
|
|
8
|
+
content: [
|
|
9
|
+
{
|
|
10
|
+
type: "text",
|
|
11
|
+
text: JSON.stringify(response, null, 2),
|
|
12
|
+
},
|
|
13
|
+
],
|
|
14
|
+
isError: false,
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=get-item-by-path.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-item-by-path.js","sourceRoot":"","sources":["../../../../src/tools/item-service/simple/get-item-by-path.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,aAAa,CAAC,IAAY,EAC5C,IAAY,EAAE,OAOb;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,QAAQ,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAE3D,OAAO;QACH,OAAO,EAAE;YACL;gBACI,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;aAC1C;SACJ;QACD,OAAO,EAAE,KAAK;KACjB,CAAA;AACL,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 getItemChildren(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,17 @@
|
|
|
1
|
+
import {} from "@modelcontextprotocol/sdk/types.js";
|
|
2
|
+
import {} from "../../../config.js";
|
|
3
|
+
import SitecoreRestfulItemServiceClient from "../client.js";
|
|
4
|
+
export async function getItemChildren(conf, id, options) {
|
|
5
|
+
const client = new SitecoreRestfulItemServiceClient(conf.itemService.serverUrl, conf.itemService.username, conf.itemService.password, conf.itemService.domain);
|
|
6
|
+
const response = await client.getItemChildren(id, options);
|
|
7
|
+
return {
|
|
8
|
+
content: [
|
|
9
|
+
{
|
|
10
|
+
type: "text",
|
|
11
|
+
text: JSON.stringify(response, null, 2),
|
|
12
|
+
},
|
|
13
|
+
],
|
|
14
|
+
isError: false,
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=get-item-children.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-item-children.js","sourceRoot":"","sources":["../../../../src/tools/item-service/simple/get-item-children.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,eAAe,CAAC,IAAY,EAC9C,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,QAAQ,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;IAE3D,OAAO;QACH,OAAO,EAAE;YACL;gBACI,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;aAC1C;SACJ;QACD,OAAO,EAAE,KAAK;KACjB,CAAA;AACL,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 getItemById(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,18 @@
|
|
|
1
|
+
import {} from "@modelcontextprotocol/sdk/types.js";
|
|
2
|
+
import {} from "../../../config.js";
|
|
3
|
+
import { get } from "http";
|
|
4
|
+
import SitecoreRestfulItemServiceClient from "../client.js";
|
|
5
|
+
export async function getItemById(conf, id, options) {
|
|
6
|
+
const client = new SitecoreRestfulItemServiceClient(conf.itemService.serverUrl, conf.itemService.username, conf.itemService.password, conf.itemService.domain);
|
|
7
|
+
const response = await client.getItemById(id, options);
|
|
8
|
+
return {
|
|
9
|
+
content: [
|
|
10
|
+
{
|
|
11
|
+
type: "text",
|
|
12
|
+
text: JSON.stringify(response, null, 2),
|
|
13
|
+
},
|
|
14
|
+
],
|
|
15
|
+
isError: false,
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=get-item.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-item.js","sourceRoot":"","sources":["../../../../src/tools/item-service/simple/get-item.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAe,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,GAAG,EAAE,MAAM,MAAM,CAAC;AAC3B,OAAO,gCAAgC,MAAM,cAAc,CAAC;AAE5D,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,IAAY,EAC1C,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,QAAQ,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;IAEvD,OAAO;QACH,OAAO,EAAE;YACL;gBACI,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;aAC1C;SACJ;QACD,OAAO,EAAE,KAAK;KACjB,CAAA;AACL,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { type CallToolResult } from "@modelcontextprotocol/sdk/types.js";
|
|
2
|
+
import { type Config } from "../../../config.js";
|
|
3
|
+
/**
|
|
4
|
+
* Calls the Sitecore RESTful ItemService to run a stored query.
|
|
5
|
+
* @param conf {Config} - The configuration object.
|
|
6
|
+
* @param id {string} - The GUID of the Sitecore query definition item.
|
|
7
|
+
* @param options {object} - Optional parameters for the request.
|
|
8
|
+
* @returns {Promise<CallToolResult>} - The query results.
|
|
9
|
+
*/
|
|
10
|
+
export declare function runStoredQuery(conf: Config, id: string, options?: {
|
|
11
|
+
database?: string;
|
|
12
|
+
language?: string;
|
|
13
|
+
page?: number;
|
|
14
|
+
pageSize?: number;
|
|
15
|
+
fields?: string[];
|
|
16
|
+
includeStandardTemplateFields?: boolean;
|
|
17
|
+
}): Promise<CallToolResult>;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import {} from "@modelcontextprotocol/sdk/types.js";
|
|
2
|
+
import {} from "../../../config.js";
|
|
3
|
+
import SitecoreRestfulItemServiceClient from "../client.js";
|
|
4
|
+
/**
|
|
5
|
+
* Calls the Sitecore RESTful ItemService to run a stored query.
|
|
6
|
+
* @param conf {Config} - The configuration object.
|
|
7
|
+
* @param id {string} - The GUID of the Sitecore query definition item.
|
|
8
|
+
* @param options {object} - Optional parameters for the request.
|
|
9
|
+
* @returns {Promise<CallToolResult>} - The query results.
|
|
10
|
+
*/
|
|
11
|
+
export async function runStoredQuery(conf, id, options = {}) {
|
|
12
|
+
const client = new SitecoreRestfulItemServiceClient(conf.itemService.serverUrl, conf.itemService.username, conf.itemService.password, conf.itemService.domain);
|
|
13
|
+
const response = await client.runStoredQuery(id, options);
|
|
14
|
+
return {
|
|
15
|
+
content: [
|
|
16
|
+
{
|
|
17
|
+
type: "text",
|
|
18
|
+
text: JSON.stringify(response, null, 2),
|
|
19
|
+
},
|
|
20
|
+
],
|
|
21
|
+
isError: false,
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=run-stored-query.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"run-stored-query.js","sourceRoot":"","sources":["../../../../src/tools/item-service/simple/run-stored-query.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAe,MAAM,oBAAoB,CAAC;AACjD,OAAO,gCAAgC,MAAM,cAAc,CAAC;AAE5D;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,IAAY,EACZ,EAAU,EACV,UAOI,EAAE;IAEN,MAAM,MAAM,GAAG,IAAI,gCAAgC,CACjD,IAAI,CAAC,WAAW,CAAC,SAAS,EAC1B,IAAI,CAAC,WAAW,CAAC,QAAQ,EACzB,IAAI,CAAC,WAAW,CAAC,QAAQ,EACzB,IAAI,CAAC,WAAW,CAAC,MAAM,CACxB,CAAC;IACF,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;IAC1D,OAAO;QACL,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;aACxC;SACF;QACD,OAAO,EAAE,KAAK;KACf,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { type CallToolResult } from "@modelcontextprotocol/sdk/types.js";
|
|
2
|
+
import { type Config } from "../../../config.js";
|
|
3
|
+
/**
|
|
4
|
+
* Calls the Sitecore RESTful ItemService to run a stored search.
|
|
5
|
+
* @param conf {Config} - The configuration object.
|
|
6
|
+
* @param id {string} - The GUID of the Sitecore search definition item.
|
|
7
|
+
* @param options {object} - Search options (term, pageSize, page, database, language, includeStandardTemplateFields, fields, facet, sorting).
|
|
8
|
+
* @returns {Promise<CallToolResult>} - The search results.
|
|
9
|
+
*/
|
|
10
|
+
export declare function runStoredSearch(conf: Config, id: string, term: string, options: {
|
|
11
|
+
pageSize?: number;
|
|
12
|
+
page?: number;
|
|
13
|
+
database?: string;
|
|
14
|
+
language?: string;
|
|
15
|
+
includeStandardTemplateFields?: boolean;
|
|
16
|
+
fields?: string[];
|
|
17
|
+
facet?: string;
|
|
18
|
+
sorting?: string;
|
|
19
|
+
}): Promise<CallToolResult>;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import {} from "@modelcontextprotocol/sdk/types.js";
|
|
2
|
+
import {} from "../../../config.js";
|
|
3
|
+
import SitecoreRestfulItemServiceClient from "../client.js";
|
|
4
|
+
/**
|
|
5
|
+
* Calls the Sitecore RESTful ItemService to run a stored search.
|
|
6
|
+
* @param conf {Config} - The configuration object.
|
|
7
|
+
* @param id {string} - The GUID of the Sitecore search definition item.
|
|
8
|
+
* @param options {object} - Search options (term, pageSize, page, database, language, includeStandardTemplateFields, fields, facet, sorting).
|
|
9
|
+
* @returns {Promise<CallToolResult>} - The search results.
|
|
10
|
+
*/
|
|
11
|
+
export async function runStoredSearch(conf, id, term, options) {
|
|
12
|
+
const client = new SitecoreRestfulItemServiceClient(conf.itemService.serverUrl, conf.itemService.username, conf.itemService.password, conf.itemService.domain);
|
|
13
|
+
const response = await client.runStoredSearch(id, term, options);
|
|
14
|
+
return {
|
|
15
|
+
content: [
|
|
16
|
+
{
|
|
17
|
+
type: "text",
|
|
18
|
+
text: JSON.stringify(response, null, 2),
|
|
19
|
+
},
|
|
20
|
+
],
|
|
21
|
+
isError: false,
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=run-stored-search.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"run-stored-search.js","sourceRoot":"","sources":["../../../../src/tools/item-service/simple/run-stored-search.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAe,MAAM,oBAAoB,CAAC;AACjD,OAAO,gCAAgC,MAAM,cAAc,CAAC;AAE5D;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,IAAY,EACZ,EAAU,EACV,IAAY,EACZ,OASC;IAED,MAAM,MAAM,GAAG,IAAI,gCAAgC,CACjD,IAAI,CAAC,WAAW,CAAC,SAAS,EAC1B,IAAI,CAAC,WAAW,CAAC,QAAQ,EACzB,IAAI,CAAC,WAAW,CAAC,QAAQ,EACzB,IAAI,CAAC,WAAW,CAAC,MAAM,CACxB,CAAC;IACF,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IACjE,OAAO;QACL,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;aACxC;SACF;QACD,OAAO,EAAE,KAAK;KACf,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { type CallToolResult } from "@modelcontextprotocol/sdk/types.js";
|
|
2
|
+
import { type Config } from "../../../config.js";
|
|
3
|
+
export declare function searchItems(conf: Config, options: {
|
|
4
|
+
term: string;
|
|
5
|
+
fields?: string[];
|
|
6
|
+
facet?: string;
|
|
7
|
+
page?: number;
|
|
8
|
+
pageSize?: number;
|
|
9
|
+
database?: string;
|
|
10
|
+
includeStandardTemplateFields?: boolean;
|
|
11
|
+
}): Promise<CallToolResult>;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import {} from "@modelcontextprotocol/sdk/types.js";
|
|
2
|
+
import {} from "../../../config.js";
|
|
3
|
+
import SitecoreRestfulItemServiceClient from "../client.js";
|
|
4
|
+
export async function searchItems(conf, options) {
|
|
5
|
+
const client = new SitecoreRestfulItemServiceClient(conf.itemService.serverUrl, conf.itemService.username, conf.itemService.password, conf.itemService.domain);
|
|
6
|
+
const response = await client.searchItems(options);
|
|
7
|
+
return {
|
|
8
|
+
content: [
|
|
9
|
+
{
|
|
10
|
+
type: "text",
|
|
11
|
+
text: JSON.stringify(response, null, 2),
|
|
12
|
+
},
|
|
13
|
+
],
|
|
14
|
+
isError: false,
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=search-items.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"search-items.js","sourceRoot":"","sources":["../../../../src/tools/item-service/simple/search-items.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,WAAW,CAC/B,IAAY,EACZ,OAQC;IAED,MAAM,MAAM,GAAG,IAAI,gCAAgC,CACjD,IAAI,CAAC,WAAW,CAAC,SAAS,EAC1B,IAAI,CAAC,WAAW,CAAC,QAAQ,EACzB,IAAI,CAAC,WAAW,CAAC,QAAQ,EACzB,IAAI,CAAC,WAAW,CAAC,MAAM,CACxB,CAAC;IACF,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IACnD,OAAO;QACL,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;aACxC;SACF;QACD,OAAO,EAAE,KAAK;KACf,CAAC;AACJ,CAAC"}
|
package/package.json
ADDED
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@antonytm/mcp-sitecore-server",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "A Model Context Protocol server for Sitecore",
|
|
5
|
+
"files": [
|
|
6
|
+
"dist",
|
|
7
|
+
"README.md",
|
|
8
|
+
"LICENSE"
|
|
9
|
+
],
|
|
10
|
+
"type": "module",
|
|
11
|
+
"scripts": {
|
|
12
|
+
"build": "tsc",
|
|
13
|
+
"prepare": "npm run build",
|
|
14
|
+
"watch": "tsc --watch",
|
|
15
|
+
"inspector": "npx @modelcontextprotocol/inspector@0.9.0 dist/src/index.js",
|
|
16
|
+
"start": "npm run build && node dist/app.js"
|
|
17
|
+
},
|
|
18
|
+
"dependencies": {
|
|
19
|
+
"@modelcontextprotocol/sdk": "^1.9.0",
|
|
20
|
+
"graphql": "^16.10.0"
|
|
21
|
+
},
|
|
22
|
+
"devDependencies": {
|
|
23
|
+
"@types/express": "^5.0.1",
|
|
24
|
+
"@types/node": "^22.14.1",
|
|
25
|
+
"express": "^5.1.0",
|
|
26
|
+
"ts-node": "^10.9.2",
|
|
27
|
+
"typescript": "^5.8.3"
|
|
28
|
+
},
|
|
29
|
+
"publishConfig": {
|
|
30
|
+
"access": "public"
|
|
31
|
+
}
|
|
32
|
+
}
|