这是一个 Model Context Protocol (MCP) 服务器实现,专门用于与 Sitecore 内容管理系统集成。它允许大型语言模型 (LLM) 应用通过标准化的 MCP 协议访问 Sitecore 的内容、执行管理任务以及利用 Sitecore 的功能。
项目简介
Sitecore MCP 服务器作为一个中间层,将 Sitecore 的各种 API(包括 GraphQL、Item Service 和 PowerShell Remoting)封装成 MCP 协议下的资源和工具。这使得 LLM 客户端能够以结构化的方式与 Sitecore 交互,获取实时信息、修改内容或执行复杂的管理操作。
主要功能点
- 内容访问 (Item Service & GraphQL): 提供读取、创建、编辑、删除 Sitecore Item 的能力。支持通过 ID、路径、查询或存储的搜索定义来查找 Item。通过 GraphQL 接口获取内容或执行 GraphQL 查询。
- 用户和角色管理 (PowerShell): 支持获取当前用户、通过身份或过滤器查找用户和角色、创建/删除用户和角色、启用/禁用用户、设置用户密码、管理角色成员关系等。
- 权限管理 (PowerShell): 提供锁定/解锁 Item、保护/取消保护 Item、获取/测试 Item 的访问控制列表 (ACL)、添加/清除/设置 Item 的 ACL 等功能。
- 索引管理 (PowerShell): 支持初始化搜索索引、获取索引信息、在索引中查找 Item、将 Item 添加到索引或从索引中移除 Item。
- 配置资源: 暴露服务器自身的配置信息作为 MCP 资源,方便客户端检查连接设置。
安装步骤
该项目作为 Node.js 应用发布到 npm。你可以使用 'npx' 直接运行它,或者全局/本地安装。
- 确保 Node.js 环境: 你的系统需要安装 Node.js (建议使用 LTS 版本)。
- 克隆仓库 (如果需要本地开发或修改):
git clone https://github.com/Antonytm/mcp-sitecore-server.git cd mcp-sitecore-server npm install npm run build - 运行服务器:
- 本地开发时:
npm start - 直接使用 npx (推荐用于客户端配置):
npx @antonytm/mcp-sitecore-server@latest
- 本地开发时:
服务器配置 (供 MCP 客户端使用)
MCP 客户端(如 Cursor, VS Code, Claud 等)通常需要一个 JSON 配置来启动并连接 MCP 服务器进程。以下是基于该仓库 'README' 和代码生成的标准配置示例,你需要将此配置添加到你的 MCP 客户端中,并确保运行 MCP 服务器的环境设置了相应的环境变量。
{ "Sitecore": { "type": "stdio", // 连接类型: stdio, sse, 或 streamable-http (推荐 streamable-http 或 stdio) "command": "npx", // 启动服务器进程的命令 "args": ["@antonytm/mcp-sitecore-server@latest"], // 启动命令的参数 "env": { // 需要设置的环境变量,用于配置服务器连接Sitecore "TRANSPORT": "stdio", // 服务器进程使用的传输协议 (与 type 一致) "GRAPHQL_ENDPOINT": "https://xmcloudcm.localhost/sitecore/api/graph/", // Sitecore GraphQL Endpoint URL "GRAPHQL_SCHEMAS": "edge,master,core", // GraphQL 可用的 Schema 列表 (逗号分隔) "GRAPHQL_API_KEY": "{YOUR_GRAPHQL_API_KEY}", // Sitecore GraphQL API Key "GRAPHQL_HEADERS": "", // 额外的 GraphQL 请求头 (JSON 字符串) "ITEM_SERVICE_DOMAIN": "sitecore", // Item Service 认证域名 "ITEM_SERVICE_USERNAME": "admin", // Item Service 认证用户名 "ITEM_SERVICE_PASSWORD": "b", // Item Service 认证密码 "ITEM_SERVICE_SERVER_URL": "https://xmcloudcm.localhost/", // Item Service Server URL "POWERSHELL_DOMAIN": "sitecore", // PowerShell Remoting 认证域名 "POWERSHELL_USERNAME": "admin", // PowerShell Remoting 认证用户名 "POWERSHELL_PASSWORD": "b", // PowerShell Remoting 认证密码 "POWERSHELL_SERVER_URL": "https://xmcloudcm.localhost/" // PowerShell Remoting Server URL } } }
重要提示:
- 将上述 JSON 添加到你的 MCP 客户端的服务器配置中。
- 将 'YOUR_GRAPHQL_API_KEY', 'admin', 'b' 等替换为你实际的 Sitecore 连接信息。
- 确保运行 'npx @antonytm/mcp-sitecore-server@latest' 命令的环境能够访问 Sitecore 服务器,并且环境变量已正确设置。
基本使用方法
成功配置并在 MCP 客户端中连接到 Sitecore MCP 服务器后,你的 LLM 或客户端应用即可通过 MCP 协议发现并调用服务器暴露的工具和资源。例如,可以调用 'item-service-get-item' 工具来获取 Sitecore Item 的详细信息,或者访问 'config://main' 资源来查看服务器配置。具体的工具使用方式和参数可以在客户端中通过 MCP 内省功能获取。
信息
分类
AI与计算