Sitecore的模型上下文协议服务器
  ](https://smithery.ai/server/@Antonytm/mcp-sitecore-server)
已实施的工具
- \[x\] GraphQL API
- \[x\] introspection-grahpql-{schema}:返回GraphQL架构 - \[x\] query-graphql-{schema}:执行GraphQL查询
- \[x\] 物品服务API
- \[x\] item-service-get-item:按ID返回项目 - \[x\] item-service-get-item-children:按ID返回项目的子项 - \[x\] item-service-get-item-by-path:按路径返回项目 - \[x\] item-service-create-item:通过提供模板ID和父路径创建项目。 - \[x\] item-service-edit-item:按ID编辑项目 - \[x\] item-service-delete-item:按ID删除项目 - \[x\] item-service-search-items:搜索项目 - \[x\] item-service-run-stored-query:运行存储查询 - \[x\] item-service-run-stored-search:运行存储搜索 - \[x\] 综合物品服务API - \[x\] item-service-get-languages:返回实例中的Sitcore语言 - \[x\] item-service-get-item-descendants:按ID返回项目的后代
- \[\]Sitecore Powershell
- \[x\] get-powershell-documentation:返回描述所有Sitecore Powershell命令的文档 - \[x\] run-powershell-script:运行PowerShell脚本并返回输出 - \[\]安全 - \[x\] security-get-current-user:返回当前用户 - \[x\] security-get-user-by-identity:按名称返回用户 - \[x\] security-get-user-by-filter:按筛选器返回用户 - \[x\] security-new-domain:创建新域 - \[x\] security-new-user:创建新用户 - \[x\] security-new-role:创建新角色 - \[x\] security-remove-domain:删除域 - \[x\] security-remove-user:删除用户 - \[x\] security-remove-role:删除角色 - \[x\] security-get-domain:返回域 - \[x\] security-get-domain-by-name:按名称返回域 - \[x\] security-get-role-by-identity:按名称返回角色 - \[x\] security-get-role-by-filter:按筛选器返回角色 - \[x\] security-get-role-member:返回角色的成员 - \[x\] security-enable-user:启用用户 - \[x\] security-disable-user:禁用用户 - \[x\] security-set-user-password:更改用户的密码 - \[x\] security-lock-item-by-id:按ID锁定项目 - \[x\] security-unlock-item-by-id:按ID解锁物品 - \[x\] security-lock-item-by-path:按路径锁定项目 - \[x\] security-unlock-item-by-path:按路径解锁项目 - \[x\] security-protect-item-by-id:通过ID保护项目 - \[x\] security-protect-item-by-path:按路径保护项目 - \[x\] security-unprotect-item-by-id:按ID取消对项目的保护 - \[x\] security-unprotect-item-by-path:按路径取消对项目的保护 - \[x\] security-test-acccount:测试帐户 - \[x\] security-unlock-user:解锁用户 - \[\]测试覆盖范围要求使用错误密码登录用户 - \[ \] security-login-user:登录用户。被封锁 SPE问题. - \[ \] security-logout-user:注销用户。被封锁 SPE问题 - \[ \] security-export-user:导出用户。被封锁 SPE问题 - \[ \] security-import-user:导入用户。被封锁 SPE问题 - \[ \] security-export-role:导出一个角色。被封锁 SPE问题 - \[ \] security-import-role:导入角色。被封锁 SPE问题 - \[x\] security-add-role-member:向角色添加成员 - \[x\] security-remove-role-member:从角色中删除成员 - \[x\] security-test-item-acl-by-id:按ID测试项目ACL - \[x\] security-test-item-acl-by-path:按路径测试项目ACL - \[x\] security-add-item-acl-by-id:按ID添加项目ACL - \[x\] security-add-item-acl-by-path:按路径添加项目ACL - \[x\] security-clear-item-acl-by-id:按ID清除项目ACL - \[x\] security-clear-item-acl-by-path:按路径清除项目ACL - \[x\] security-set-item-acl-by-id:按ID设置项目ACL - \[x\] security-set-item-acl-by-path:按路径设置项目ACL - \[x\] 供应商 - \[x\] provider-get-item-by-id:按ID返回项目 - \[x\] provider-get-item-by-path:按路径返回项目 - \[x\] provider-get-item-by-query:通过查询返回项目 - \[x\] provider-get-item-by-path:按路径返回项目 - \[x\] 演示文稿 - \[x\] presentation-get-layout-by-id:按ID返回项目演示文稿布局 - \[x\] presentation-get-layout-by-path:按路径返回项目演示文稿布局 - \[x\] presentation-set-layout-by-id:按ID设置项目演示文稿布局 - \[x\] presentation-set-layout-by-path:按路径设置项目演示文稿布局 - \[x\] presentation-reset-layout-by-id:按ID重置项目演示文稿布局 - \[x\] presentation-reset-layout-by-path:按路径重置项目演示文稿布局 - \[x\] presentation-merge-layout-by-id:按项目Id合并最终布局和共享布局 - \[x\] presentation-merge-layout-by-path:按项目路径合并最终布局和共享布局 - \[x\] presentation-get-layout-device:获取指定设备的布局 - \[x\] presentation-get-default-layout-device:获取默认布局 - \[x\] presentation-get-rendering-by-id:按项id获取呈现定义 - \[x\] presentation-get-rendering-by-path:按项路径获取呈现定义 - \[x\] presentation-remove-rendering-by-path:按所有者从项目中删除渲染项目路径 - \[x\] presentation-remove-rendering-by-id:按所有者项目ID从项目中删除渲染图 - \[x\] presentation-add-rendering-by-path:将渲染添加到由路径指定的项目的演示文稿中 - \[x\] presentation-add-rendering-by-id:将渲染添加到由项目ID指定的项目的演示中 - \[x\] presentation-set-rendering-by-path:用新值更新项目路径指定的渲染 - \[x\] presentation-set-rendering-by-id:用新值更新由项目ID指定的渲染 - \[x\] presentation-switch-rendering-by-id:将项目ID指定的现有呈现与项目ID指定项目的替代呈现进行切换 - \[x\] presentation-switch-rendering-by-path:将路径指定的现有渲染与路径指定的项目的替代渲染进行切换 - \[x\] presentation-switch-rendering-by-unique-id:将由唯一ID指定的现有呈现与由项目ID指定的项目的替代呈现进行切换 - \[x\] presentation-get-placeholder-setting-by-id:获取为ID指定的项分配的占位符设置 - \[x\] presentation-get-placeholder-setting-by-path:获取为路径指定的项分配的占位符设置 - \[x\] presentation-add-placeholder-setting-by-id:向ID指定的项添加占位符设置 - \[x\] presentation-add-placeholder-setting-by-path:向路径指定的项添加占位符设置 - \[x\] presentation-remove-placeholder-setting-by-id:从ID指定的项目中删除占位符设置 - \[x\] presentation-remove-placeholder-setting-by-path:从路径指定的项目中删除占位符设置 - \[x\] presentation-get-rendering-parameter-by-id:获取由ID指定的项的呈现参数 - \[x\] presentation-get-rendering-parameter-by-path:获取由路径指定的项的呈现参数 - \[x\] presentation-remove-rendering-parameter-by-id:从放置在ID指定的项目上的渲染中删除指定的渲染参数 - \[x\] presentation-remove-rendering-parameter-by-path:从放置在路径指定的项目上的渲染中删除指定的渲染参数 - \[x\] presentation-set-rendering-parameter-by-id:从放置在ID指定的项目上的渲染中添加和更新指定的渲染参数 - \[x\] presentation-set-rendering-parameter-by-path:从放置在路径指定的项目上的渲染中添加和更新指定的渲染参数 - \[x\] 索引 - \[x\] indexing-initialize-search-index:初始化一个或多个搜索索引 - \[x\] indexing-get-search-index:返回搜索索引 - \[x\] indexing-find-item:在搜索索引中查找项目 - \[x\] indexing-suspend-search-index:暂停一个或多个正在运行的搜索索引 - \[x\] indexing-stop-search-index:停止一个或多个正在运行的搜索索引 - \[x\] indexing-resume-search-index:恢复一个或多个暂停的搜索索引 - \[x\] indexing-initialize-search-index-item-by-id:按ID和索引名称使用指定的根项重建给定树的索引 - \[x\] indexing-initialize-search-index-item-by-path:按路径和索引名称使用指定的根项重建给定树的索引 - \[x\] indexing-remove-search-index-item-by-id:从搜索索引中删除具有指定ID的项目 - \[x\] indexing-remove-search-index-item-by-path:从搜索索引中删除具有指定路径的项 - \[ \] ~~indexing-initialize-item:使用每个字段的PowerShell自动属性初始化项目。~~跳过,MCP服务器没有值。 - \[x\] 常见 - \[x\] common-add-base-template-by-id:按ID向模板项添加基础模板 - \[x\] common-add-base-template-by-path:按路径将基础模板添加到模板项中 - \[x\] common-add-item-version-by-id:基于现有语言版本以新语言创建项目的版本(通过其id) - \[x\] common-add-item-version-by-path:基于现有语言版本以新语言创建项目的版本(按其路径) - \[x\] common-convert-from-item-clone-by-id:通过ID将项目从克隆转换为完全独立的项目 - \[x\] common-convert-from-item-clone-by-path:按路径将项目从克隆转换为完全独立的项目 - \[x\] common-get-archive:获取Sitecore数据库存档 - \[x\] common-get-archive-item:获取在指定存档中找到的项目列表 - \[x\] common-get-cache:获取有关Sitecore缓存的信息 - \[x\] common-get-database:获取有关Sitecore数据库的信息 - \[x\] common-get-item-field-by-id:按ID获取项目字段的名称、字段或模板字段 - \[x\] common-get-item-field-by-path:按路径将项目字段获取为名称、字段或模板字段 - \[x\] common-get-item-clone-by-id:按ID获取指定项目的所有克隆 - \[x\] common-get-item-clone-by-path:按路径获取指定项的所有克隆 - \[x\] common-get-item-reference-by-id:按ID获取Sitecore项目的项目引用(使用位置) - \[x\] common-get-item-reference-by-path:按路径获取Sitecore项目的项目引用(使用位置) - \[x\] common-get-item-referrer-by-id:按ID获取引用Sitecore项目的项目(哪些项目引用它) - \[x\] common-get-item-referrer-by-path:按路径获取引用Sitecore项目的项目(哪些项目引用它) - \[x\] common-get-item-template-by-id:按ID获取Sitecore项目的模板信息 - \[x\] common-get-item-template-by-path:按路径获取Sitecore项目的模板信息 - \[x\] common-get-item-workflow-event-by-id:按ID从工作流历史记录中获取指定项目的条目 - \[x\] common-get-item-workflow-event-by-path:按路径从工作流历史记录中获取指定项目的条目 - \[x\] common-get-sitecore-job:获取当前Sitecore作业的列表 - \[x\] common-invoke-workflow-by-id:按ID执行Sitecore项目的工作流操作 - \[x\] common-invoke-workflow-by-path:按路径执行Sitecore项目的工作流操作 - \[x\] common-new-item-clone-by-id:根据ID提供的项目创建新的项目克隆 - \[x\] common-new-item-clone-by-path:根据路径提供的项目创建新的项目克隆 - \[x\] common-new-item-workflow-event-by-id:在工作流历史记录中按ID为Sitecore项目创建新条目 - \[x\] common-new-item-workflow-event-by-path:在工作流历史记录中按路径为Sitecore项目创建新条目 - \[x\] common-publish-item-by-id:按ID发布Sitecore项目 - \[x\] common-publish-item-by-path:按路径发布Sitecore项目 - \[x\] common-remove-archive-item:从指定的存档中永久删除项目 - \[x\] common-remove-base-template-by-id:按ID从模板项中删除基础模板 - \[x\] common-remove-base-template-by-path:按路径从模板项中删除基础模板 - \[x\] common-remove-item-version-by-id:按ID删除Sitecore项目的版本 - \[x\] common-remove-item-version-by-path:按路径删除Sitecore项目的版本 - \[x\] common-reset-item-field-by-id:重置按ID指定为名称、字段或模板字段的项目字段 - \[x\] common-reset-item-field-by-path:重置项目字段,按路径指定为名称、字段或模板字段 - \[x\] common-restart-application:重新启动Sitecore应用程序池 - \[x\] common-restore-archive-item:将项目从指定的存档还原到原始数据库 - \[x\] common-set-item-template-by-id:按ID设置项目模板 - \[x\] common-set-item-template-by-path:按路径设置项目模板 - \[x\] common-test-base-template-by-id:检查该项是否按ID继承自指定的模板 - \[x\] common-test-base-template-by-path:检查项目是否按路径继承自指定的模板 - \[x\] common-update-item-referrer-by-id:更新对指定项目的所有引用(按ID),以指向-NewTarget中提供的新项目,或删除指向该项目的链接 - \[x\] common-update-item-referrer-by-path:更新对指定项目的所有引用(按路径),以指向-NewTarget中提供的新项目,或删除指向该项目的链接 - \[x\] 日志记录 - \[x\] logging-get-logs:使用筛选选项从日志目录中检索Sitecore日志
- \[\]Sitecore命令行界面
- \[x\] sitecore-cli-documentation:获取sitecore-cli文档,为LLM提供更多上下文
工具选择
AI代理可能对他们可以使用的工具数量有限制。请确保您已禁用不需要的工具。这将使您的代理更快、更便宜、更高效。
安装
将以下模型上下文协议服务器添加到您的游标、VS代码、Claude中:
"Sitecore": {
"type": "stdio",
"command": "npx",
"args": ["@antonytm/mcp-sitecore-server@latest"],
"env": {
"TRANSPORT": "stdio",
"GRAPHQL_ENDPOINT": "https://xmcloudcm.localhost/sitecore/api/graph/",
"GRAPHQL_SCHEMAS": "edge,master,core",
"GRAPHQL_API_KEY": "{6D3F291E-66A5-4703-887A-D549AF83D859}",
"GRAPHQL_HEADERS": "",
"ITEM_SERVICE_DOMAIN": "sitecore",
"ITEM_SERVICE_USERNAME": "admin",
"ITEM_SERVICE_PASSWORD": "b",
"ITEM_SERVICE_SERVER_URL": "https://xmcloudcm.localhost/",
"POWERSHELL_DOMAIN": "sitecore",
"POWERSHELL_USERNAME": "admin",
"POWERSHELL_PASSWORD": "b",
"POWERSHELL_SERVER_URL": "https://xmcloudcm.localhost/",
}
}环境变量描述
TRANSPORT:要使用的传输协议。选项包括streamable-http,stdio或sse.GRAPHQL_ENDPOINT:Sitecore实例的GraphQL端点URL。GRAPHQL_SCHEMAS:用于GraphQL API的Sitecore架构,comm-aseparated。GRAPHQL_API_KEY:GraphQL终结点的API键。GRAPHQL_HEADERS:GraphQL请求中要包含的其他标头。ITEM_SERVICE_DOMAIN:项目服务API身份验证的域。默认值为sitecore.ITEM_SERVICE_USERNAME:项目服务API身份验证的用户名。ITEM_SERVICE_PASSWORD:项目服务API身份验证的密码。ITEM_SERVICE_SERVER_URL:项目服务API的基本URL。POWERSHELL_DOMAIN:Sitecore PowerShell远程处理API身份验证的域。默认值为sitecore.POWERSHELL_USERNAME:Sitecore PowerShell远程处理API身份验证的用户名。POWERSHELL_PASSWORD:Sitecore PowerShell远程处理API身份验证的密码。POWERSHELL_SERVER_URL:Sitecore PowerShell远程处理API的基本URL。AUTORIZATION_HEADER:可选。如果设置,它将用作访问服务器的授权标头。MCP服务器将期望authorization将此环境变量的值传递给标头。如果未设置环境变量,服务器将不会检查授权标头。
Docker镜像
antonytm/mcp-sitecore-linux: Linux版本 MCP Sitecore服务器。antonytm/mcp-sitecore-windows: Windows版本 MCP Sitecore服务器。
资源列表
- \[x\]
config:返回服务器的配置。使用它来检查所有内容是否配置正确。
本地安装/开发
- 克隆存储库
- 跑
npm install安装依赖项 - 跑
npm run build建设项目 - 跑
npm start启动服务器
贡献
请阅读 贡献.md 了解详情。
