这是一个 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' 直接运行它,或者全局/本地安装。

  1. 确保 Node.js 环境: 你的系统需要安装 Node.js (建议使用 LTS 版本)。
  2. 克隆仓库 (如果需要本地开发或修改):
    git clone https://github.com/Antonytm/mcp-sitecore-server.git
    cd mcp-sitecore-server
    npm install
    npm run build
  3. 运行服务器:
    • 本地开发时:
      npm start
    • 直接使用 npx (推荐用于客户端配置):
      npx @antonytm/mcp-sitecore-server@latest
    服务器需要通过环境变量配置连接 Sitecore 的信息。

服务器配置 (供 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与计算