@antonytm/mcp-sitecore-server 0.20.1 → 0.20.3
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 +9 -3
- package/dist/bundle.js +4 -4
- package/dist/sse.js +2 -2
- package/dist/sse.js.map +1 -1
- package/dist/streamable-http.js +2 -2
- package/dist/streamable-http.js.map +1 -1
- package/package.json +5 -5
package/README.md
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
# Model Context Protocol server for Sitecore
|
|
2
2
|
|
|
3
3
|
[](https://github.com/Antonytm/mcp-sitecore-server/actions/workflows/publish-npm.yml)
|
|
4
|
-
|
|
5
4
|
[](CONTRIBUTING.md)
|
|
5
|
+
[](https://smithery.ai/server/@Antonytm/mcp-sitecore-server)
|
|
6
6
|
|
|
7
7
|
## Implemented tools
|
|
8
8
|
|
|
@@ -116,7 +116,7 @@ AI Agents may have limit on the amount of tools they can use. Please make sure t
|
|
|
116
116
|
|
|
117
117
|
## Installation
|
|
118
118
|
|
|
119
|
-
Add the following Model Context Protocol server to your Cursor, VS Code,
|
|
119
|
+
Add the following Model Context Protocol server to your Cursor, VS Code, Claude:
|
|
120
120
|
|
|
121
121
|
```json
|
|
122
122
|
"Sitecore": {
|
|
@@ -143,7 +143,7 @@ Add the following Model Context Protocol server to your Cursor, VS Code, Claud:
|
|
|
143
143
|
|
|
144
144
|
### Environment Variables Description
|
|
145
145
|
|
|
146
|
-
- `TRANSPORT`: The transport protocol to use. Options are `stdio` or `sse`.
|
|
146
|
+
- `TRANSPORT`: The transport protocol to use. Options are `streamable-http`, `stdio` or `sse`.
|
|
147
147
|
- `GRAPHQL_ENDPOINT`: The GraphQL endpoint URL for the Sitecore instance.
|
|
148
148
|
- `GRAPHQL_SCHEMAS`: The Sitecore schemas to use for the GraphQL API, comma-separated.
|
|
149
149
|
- `GRAPHQL_API_KEY`: The API key for the GraphQL endpoint.
|
|
@@ -156,6 +156,12 @@ Add the following Model Context Protocol server to your Cursor, VS Code, Claud:
|
|
|
156
156
|
- `POWERSHELL_USERNAME`: The username for the Sitecore PowerShell Remoting API authentication.
|
|
157
157
|
- `POWERSHELL_PASSWORD`: The password for the Sitecore PowerShell Remoting API authentication.
|
|
158
158
|
- `POWERSHELL_SERVER_URL`: The base URL for the Sitecore PowerShell Remoting API.
|
|
159
|
+
- `AUTORIZATION_HEADER`: Optional. If set, it will be used as an authorization header for access to the server. MCP server will expect `authorization` header to be passed with the value of this environment variable. If environment variable is not set, the server will not check for the authorization header.
|
|
160
|
+
|
|
161
|
+
## Docker images
|
|
162
|
+
|
|
163
|
+
- `antonytm/mcp-sitecore-linux`: [The Linux version](https://hub.docker.com/r/antonytm/mcp-sitecore-linux) of the MCP Sitecore server.
|
|
164
|
+
- `antonytm/mcp-sitecore-windows`: [The Windows version](https://hub.docker.com/r/antonytm/mcp-sitecore-windows) of the MCP Sitecore server.
|
|
159
165
|
|
|
160
166
|
## Resources list
|
|
161
167
|
|
package/dist/bundle.js
CHANGED
|
@@ -47002,7 +47002,7 @@ async function startSSE() {
|
|
|
47002
47002
|
// sessionId to transport
|
|
47003
47003
|
const transports = {};
|
|
47004
47004
|
app.get("/sse", async (req, res) => {
|
|
47005
|
-
const authHeaderValue = req.headers[authorizationHeaderName]
|
|
47005
|
+
const authHeaderValue = (req.headers[authorizationHeaderName] ?? "")
|
|
47006
47006
|
.replace(/Bearer\s+/i, '');
|
|
47007
47007
|
if (config.authorizationHeader === ""
|
|
47008
47008
|
|| config.authorizationHeader === authHeaderValue) {
|
|
@@ -47018,7 +47018,7 @@ async function startSSE() {
|
|
|
47018
47018
|
}
|
|
47019
47019
|
});
|
|
47020
47020
|
app.post("/messages", async (req, res) => {
|
|
47021
|
-
const authHeaderValue = req.headers[authorizationHeaderName]
|
|
47021
|
+
const authHeaderValue = (req.headers[authorizationHeaderName] ?? "")
|
|
47022
47022
|
.replace(/Bearer\s+/i, '');
|
|
47023
47023
|
if (config.authorizationHeader === ""
|
|
47024
47024
|
|| config.authorizationHeader === authHeaderValue) {
|
|
@@ -47605,7 +47605,7 @@ function startStreamableHTTP() {
|
|
|
47605
47605
|
// Handle POST requests for client-to-server communication
|
|
47606
47606
|
app.post('/mcp', async (req, res) => {
|
|
47607
47607
|
// Inspector adds "Bearer" to the authorization header, so we need to strip it
|
|
47608
|
-
const authHeaderValue = req.headers[authorizationHeaderName]
|
|
47608
|
+
const authHeaderValue = (req.headers[authorizationHeaderName] ?? "")
|
|
47609
47609
|
.replace(/Bearer\s+/i, '');
|
|
47610
47610
|
if (config.authorizationHeader === "" ||
|
|
47611
47611
|
config.authorizationHeader === authHeaderValue) {
|
|
@@ -47655,7 +47655,7 @@ function startStreamableHTTP() {
|
|
|
47655
47655
|
});
|
|
47656
47656
|
// Reusable handler for GET and DELETE requests
|
|
47657
47657
|
const handleSessionRequest = async (req, res) => {
|
|
47658
|
-
const authHeaderValue = req.headers[authorizationHeaderName]
|
|
47658
|
+
const authHeaderValue = (req.headers[authorizationHeaderName] ?? "")
|
|
47659
47659
|
.replace(/Bearer\s+/i, '');
|
|
47660
47660
|
if (config.authorizationHeader === "" ||
|
|
47661
47661
|
config.authorizationHeader === authHeaderValue) {
|
package/dist/sse.js
CHANGED
|
@@ -10,7 +10,7 @@ export async function startSSE() {
|
|
|
10
10
|
// sessionId to transport
|
|
11
11
|
const transports = {};
|
|
12
12
|
app.get("/sse", async (req, res) => {
|
|
13
|
-
const authHeaderValue = req.headers[authorizationHeaderName]
|
|
13
|
+
const authHeaderValue = (req.headers[authorizationHeaderName] ?? "")
|
|
14
14
|
.replace(/Bearer\s+/i, '');
|
|
15
15
|
if (config.authorizationHeader === ""
|
|
16
16
|
|| config.authorizationHeader === authHeaderValue) {
|
|
@@ -26,7 +26,7 @@ export async function startSSE() {
|
|
|
26
26
|
}
|
|
27
27
|
});
|
|
28
28
|
app.post("/messages", async (req, res) => {
|
|
29
|
-
const authHeaderValue = req.headers[authorizationHeaderName]
|
|
29
|
+
const authHeaderValue = (req.headers[authorizationHeaderName] ?? "")
|
|
30
30
|
.replace(/Bearer\s+/i, '');
|
|
31
31
|
if (config.authorizationHeader === ""
|
|
32
32
|
|| config.authorizationHeader === authHeaderValue) {
|
package/dist/sse.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sse.js","sourceRoot":"","sources":["../src/sse.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAC;AAC7E,OAAO,OAAO,MAAM,SAAS,CAAC;AAG9B,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAErD,MAAM,CAAC,KAAK,UAAU,QAAQ;IAC5B,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,MAAM,CAAC,CAAC;IAEvC,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,GAAY,EAAE,GAAa,EAAE,EAAE;QACpD,MAAM,eAAe,
|
|
1
|
+
{"version":3,"file":"sse.js","sourceRoot":"","sources":["../src/sse.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAC;AAC7E,OAAO,OAAO,MAAM,SAAS,CAAC;AAG9B,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAErD,MAAM,CAAC,KAAK,UAAU,QAAQ;IAC5B,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,MAAM,CAAC,CAAC;IAEvC,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,GAAY,EAAE,GAAa,EAAE,EAAE;QACpD,MAAM,eAAe,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,uBAAuB,CAAW,IAAI,EAAE,CAAC;aACrE,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;QACnC,IAAI,MAAM,CAAC,mBAAmB,KAAK,EAAE;eAChC,MAAM,CAAC,mBAAmB,KAAK,eAAe,EAAE,CAAC;YACpD,MAAM,SAAS,GAAG,IAAI,kBAAkB,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;YAC3D,UAAU,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC;YAC5C,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;gBACnB,OAAO,UAAU,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;YACzC,CAAC,CAAC,CAAC;YACH,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAClC,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QACvC,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,GAAY,EAAE,GAAa,EAAE,EAAE;QAC1D,MAAM,eAAe,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,uBAAuB,CAAW,IAAI,EAAE,CAAC;aACrE,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;QACnC,IAAI,MAAM,CAAC,mBAAmB,KAAK,EAAE;eAChC,MAAM,CAAC,mBAAmB,KAAK,eAAe,EAAE,CAAC;YACpD,MAAM,SAAS,GAAG,GAAG,CAAC,KAAK,CAAC,SAAmB,CAAC;YAChD,MAAM,SAAS,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC;YACxC,IAAI,SAAS,EAAE,CAAC;gBACd,MAAM,SAAS,CAAC,iBAAiB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YAC9C,CAAC;iBAAM,CAAC;gBACN,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;YAC3D,CAAC;QACH,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QACvC,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AACnB,CAAC"}
|
package/dist/streamable-http.js
CHANGED
|
@@ -13,7 +13,7 @@ export function startStreamableHTTP() {
|
|
|
13
13
|
// Handle POST requests for client-to-server communication
|
|
14
14
|
app.post('/mcp', async (req, res) => {
|
|
15
15
|
// Inspector adds "Bearer" to the authorization header, so we need to strip it
|
|
16
|
-
const authHeaderValue = req.headers[authorizationHeaderName]
|
|
16
|
+
const authHeaderValue = (req.headers[authorizationHeaderName] ?? "")
|
|
17
17
|
.replace(/Bearer\s+/i, '');
|
|
18
18
|
if (config.authorizationHeader === "" ||
|
|
19
19
|
config.authorizationHeader === authHeaderValue) {
|
|
@@ -63,7 +63,7 @@ export function startStreamableHTTP() {
|
|
|
63
63
|
});
|
|
64
64
|
// Reusable handler for GET and DELETE requests
|
|
65
65
|
const handleSessionRequest = async (req, res) => {
|
|
66
|
-
const authHeaderValue = req.headers[authorizationHeaderName]
|
|
66
|
+
const authHeaderValue = (req.headers[authorizationHeaderName] ?? "")
|
|
67
67
|
.replace(/Bearer\s+/i, '');
|
|
68
68
|
if (config.authorizationHeader === "" ||
|
|
69
69
|
config.authorizationHeader === authHeaderValue) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"streamable-http.js","sourceRoot":"","sources":["../src/streamable-http.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,SAAS,CAAC;AAC9B,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,6BAA6B,EAAE,MAAM,oDAAoD,CAAC;AACnG,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAA;AACxE,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAErD,MAAM,UAAU,mBAAmB;IAC/B,MAAM,GAAG,GAAG,OAAO,EAAE,CAAC;IACtB,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IAExB,wCAAwC;IACxC,MAAM,UAAU,GAA2D,EAAE,CAAC;IAE9E,0DAA0D;IAE1D,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;QAChC,+EAA+E;QAC/E,MAAM,eAAe,
|
|
1
|
+
{"version":3,"file":"streamable-http.js","sourceRoot":"","sources":["../src/streamable-http.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@antonytm/mcp-sitecore-server",
|
|
3
|
-
"version": "0.20.
|
|
3
|
+
"version": "0.20.3",
|
|
4
4
|
"description": "A Model Context Protocol server for Sitecore",
|
|
5
5
|
"files": [
|
|
6
6
|
"dist",
|
|
@@ -24,13 +24,13 @@
|
|
|
24
24
|
"start:stdio": "npm run build && cross-env TRANSPORT=stdio node dist/index.js",
|
|
25
25
|
"run": "npm run build && node dist/run.js",
|
|
26
26
|
"test": "npm run build && npm run bundle && vitest run",
|
|
27
|
-
"docker:windows:build": "docker build -t antonytm/mcp-sitecore-windows:0.20.
|
|
27
|
+
"docker:windows:build": "docker build -t antonytm/mcp-sitecore-windows:0.20.3 -t antonytm/mcp-sitecore-windows:latest --file .\\docker\\windows\\Dockerfile .",
|
|
28
28
|
"docker:windows:run": "docker run -it --rm -p 4001:3001 antonytm/mcp-sitecore-windows:latest",
|
|
29
|
-
"docker:windows:push": "docker push antonytm/mcp-sitecore-windows:0.20.
|
|
29
|
+
"docker:windows:push": "docker push antonytm/mcp-sitecore-windows:0.20.3 && docker push antonytm/mcp-sitecore-windows:latest",
|
|
30
30
|
"docker:windows": "npm run docker:windows:build && npm run docker:windows:push",
|
|
31
|
-
"docker:linux:build": "docker build -t antonytm/mcp-sitecore-linux:0.20.
|
|
31
|
+
"docker:linux:build": "docker build -t antonytm/mcp-sitecore-linux:0.20.3 -t antonytm/mcp-sitecore-linux:latest --file ./docker/linux/Dockerfile .",
|
|
32
32
|
"docker:linux:run": "docker run -it --rm -p 4001:3001 antonytm/mcp-sitecore-linux:latest",
|
|
33
|
-
"docker:linux:push": "docker push antonytm/mcp-sitecore-linux:0.20.
|
|
33
|
+
"docker:linux:push": "docker push antonytm/mcp-sitecore-linux:0.20.3 && docker push antonytm/mcp-sitecore-linux:latest",
|
|
34
34
|
"docker:linux": "npm run docker:linux:build && npm run docker:linux:push"
|
|
35
35
|
},
|
|
36
36
|
"dependencies": {
|