Sitecore MCP 服务器
     ](https://nodejs.org/)
一个针对Sitecore的模型上下文协议(MCP)服务器 GraphQL API, 版本控制, 父级导航,以及 项目统计通过Claude和GitHub Copilot等AI助手查询Sitecore项目。
✨ 特点/功能
🎯 核心工具(共21个)
项目运营:
- 🔍(放大镜,表示搜索或查看细节) Sitecore获取项目(或条目) - 获取特定的Sitecore项目(支持版本)
- 👶 这个表情符号代表“婴儿”或“小孩”,可以翻译为“👶 婴儿”或简单地用“小孩”来表达。 Sitecore获取子项 - 获取子项(支持版本)
- 文件 获取Sitecore字段值 - 获取字段值(支持版本)
- (此句为无效字符,无法翻译) 获取Sitecore项目字段 - 获取项目的所有字段(模板感知)
- 🔎 Sitecore查询 - 执行 Sitecore 查询
- 🔍(放大镜图标,通常表示搜索或查看细节) Sitecore搜索 - 使用筛选器和排序功能搜索项目
- 📄(文件/纸张) Sitecore 分页搜索 - 支持分页的搜索功能
模板操作:
- 📋 代表“清单”或“待办事项列表”的意思。 Sitecore获取模板 - 获取模板信息
- 📚 书籍 Sitecore 获取模板 - 获取多个模板
版本控制:
- 🕐 时钟(表示一小时的时间单位,或用于计时) 获取Sitecore项目版本 - 查看某项目的所有版本
- 📊 表格/数据图表 获取带统计信息的Sitecore项目 - 获取创建/更新日期和用户
导航:
- ⬆️(向上箭头) Sitecore获取父节点 - 导航到父项
- 🧭 Sitecore获取祖先节点 - 获取所有祖先(面包屑导航)
布局与站点:
- 🎨 表示绘画或艺术创作的符号。 获取Sitecore布局 - 获取布局/展示信息
- 🌐(表示互联网或全球网络的符号) 获取Sitecore站点 - 获取Sitecore网站配置
突变(创建/更新/删除):
- 加号 Sitecore创建项目 - 创建新的Sitecore项目项
- ✏️ Sitecore更新项目 - 更新现有项目
- ❌(表示错误或否定) Sitecore 删除项目 - 删除项目
高级功能:
- 🔬(表示实验室或科学相关的符号) Sitecore扫描模式/架构 - 自动GraphQL模式分析
- 💬 Sitecore 命令 - 自然语言
/sitecore聊天中的命令 - 🔍 翻译为中文是:“🔍”(这个符号本身在中文中没有直接的对应翻译,因为它是一个图形符号,通常用于表示搜索、放大镜等含义,在中文语境中可能直接保留原样或根据上下文解释为“放大镜/搜索”等意思。) Sitecore发现项目依赖项 - 基于模板、字段和关系的全面项目发现
📣 实时进度(所有工具)
所有MCP工具现在都通过标准错误输出(stderr)报告进度,因此您可以在AI客户端中看到长时间操作期间的进展情况。
- 格式:
[tool_name] Message... - 示例:
- [sitecore_get_item] Starting (path=/sitecore/content/Home, language=nl-NL) - [sitecore_get_item] Completed: Home (template=Page, version=1) - [sitecore_search_paginated] Completed: 50 item(s), hasNextPage=true
注:我们在消息中总是提及语言(对Sitecore至关重要)。
🎨 示例
通过斜杠命令菜单 (类型 / (在聊天中):
# 1. Type / to open the menu
# 2. Choose "🔧 /sitecore - Sitecore command interface"
# 3. Type your command (with or without /sitecore prefix)
help
get item /sitecore/content/Home
get item /sitecore/content/Home version 2 # NEW: Version support!
get parent /sitecore/content/Home/Article # NEW: Parent navigation!
get ancestors /sitecore/content/Home/Article # NEW: Breadcrumb!
search articles
field Title from /sitecore/content/Home
templates直接自然语言指令:
/sitecore help
/sitecore scan schema
/sitecore get item /sitecore/content/Home
/sitecore get item /sitecore/content/Home version 2
/sitecore get parent /sitecore/content/Home/Article
/sitecore get ancestors /sitecore/content/Home/Article
/sitecore search articles
/sitecore field Title from /sitecore/content/Home
/sitecore templates版本控制示例:
// Get specific version
sitecore_get_item({
path: "/sitecore/content/Home",
language: "en",
version: 2
})
// Get all versions
sitecore_get_item_versions({
path: "/sitecore/content/Home",
language: "en"
})
// Returns: { totalVersions: 5, versions: [...], latestVersion: 5 }
// Get item with statistics
sitecore_get_item_with_statistics({
path: "/sitecore/content/Home",
language: "en"
})
// Returns: { created: "20211011T073530Z", createdBy: "sitecore\admin", ... }导航示例:
// Get parent
sitecore_get_parent({
path: "/sitecore/content/Home/Article"
})
// Returns: { name: "Home", path: "/sitecore/content/Home", ... }
// Get all ancestors (breadcrumb)
sitecore_get_ancestors({
path: "/sitecore/content/Home/Article"
})
// Returns: {
// count: 3,
// ancestors: [...],
// breadcrumb: "sitecore > content > Home"
// }📚 文档地图
- 文档/指南/ - 技术指南和实施细节(GUID格式、内容发现、斜杠命令等)
- 文档/发布版/ - 每个版本的发布说明(RELEASE-NOTES-v1.x.md)
- 文档/准备发货/ - 每个版本发布检查清单和准备就绪文件
- 文档/状态/ - 进度报告和状态更新
- 文档/摘要/ - 版本摘要和概览
- docs/BACKLOG.md 翻译为中文是:文档/待办事项清单.md - 产品待办事项列表和规划
提示:所有文档都组织在 docs/ 目录下。根目录仅包含 README.md 文件。
📁 仓库结构
SitecoreMCP/
├── .github/ # CI/CD workflows en GitHub configuratie
│ └── workflows/
│ └── root-scan.yml # Root hygiene enforcement
│
├── src/ # TypeScript source code
│ ├── index.ts # MCP server entry point (11 tools)
│ ├── sitecore-service.ts # GraphQL client & business logic
│ ├── sitecore-types.ts # TypeScript type definitions (auto-generated)
│ └── sitecore-types-FULL.ts # Extended type definitions
│
├── dist/ # Compiled JavaScript (build output)
│
├── scripts/ # All scripts organized by category
│ ├── build/
│ │ └── build-vsix.ps1 # VS Code extension packaging
│ │
│ ├── schema/ # GraphQL schema management
│ │ ├── download-schema.ps1 # Download schema from Sitecore
│ │ ├── download-full-schema.ps1
│ │ ├── analyze-schema.ps1 # Analyze schema structure
│ │ ├── extract-schema-types.ps1
│ │ ├── find-mutations.ps1 # Find mutation capabilities
│ │ ├── generate-types.ps1 # Generate TypeScript types
│ │ ├── generate-types-full.ps1
│ │ └── check-search-schema.cjs # Validate search schema
│ │
│ ├── tests/ # Test scripts (72 files)
│ │ ├── Load-DotEnv.ps1 # Environment loader for tests
│ │ ├── test-*.ps1 # PowerShell test scripts
│ │ └── test-*.cjs # Node.js test scripts
│ │
│ ├── tools/ # Utility tools
│ │ ├── build-relationship-graph.ps1 # Build item relationship graphs
│ │ ├── parse-field-references.ps1 # Parse field references
│ │ └── Load-DotEnv.ps1 # Canonical environment loader
│ │
│ └── wrappers/ # Backward compatibility wrappers
│ ├── *.ps1 # PowerShell wrappers (deprecated)
│ └── *.cjs # Node.js wrappers (deprecated)
│
├── docs/ # All documentation
│ ├── guides/ # Technical guides (35+ documents)
│ ├── releases/ # Release notes per version
│ ├── ready-to-ship/ # Release readiness checklists
│ ├── status/ # Status and progress reports
│ ├── summaries/ # Version summaries
│ └── BACKLOG.md # Product backlog
│
├── data/ # Schema and graph data (generated)
│ ├── graphql-schema.json # GraphQL schema dump
│ ├── graphql-schema-full.json # Full introspection result
│ └── graph.json # Relationship graph data
│
├── .env.example # Environment variabelen template
├── package.json # NPM dependencies en scripts
├── tsconfig.json # TypeScript compiler configuratie
├── LICENSE # MIT licentie
└── README.md # Dit bestand (quick start)每个目录的目的
| 目录 | 用途 | 允许的文件 |
|---|---|---|
| 根(或“超级用户”,在计算机领域中常指拥有最高权限的用户) | 项目元数据和入口点 | 仅配置文件 + README.md |
| 源文件夹/ | TypeScript 源代码 | .ts 文件 |
| dist/ (可译为“发布目录/”或根据上下文具体翻译,这里保留原样以体现技术术语的通用性) | 构建输出 | .js、.d.ts 文件(生成的) |
| 脚本/ | 所有脚本已整理 | 按类别划分子目录 |
| 脚本/构建/ | 构建和打包脚本 | build-vsix.ps1 |
| 脚本/模式/ | GraphQL 模式管理 | 模式工具(9个脚本) |
| 脚本/测试/ | 测试脚本 | 测试文件(72个文件) |
| 脚本/工具/ | 实用工具 | 辅助工具和实用程序(3个工具) |
| 脚本/包装器/ | 向后兼容性 | 已弃用的包装器(11个文件) |
| 文档/ | 所有文档 | 子目录中的.md文件 |
| 数据/ | 生成的数据文件 | .json模式转储文件(已添加到git忽略列表) |
| .github/ | CI/CD 工作流 | GitHub Actions 工作流 |
卫生政策根目录仅包含配置文件和README.md。所有文档均位于docs/目录下,所有脚本均位于scripts/目录下。此结构由CI工作流(root-scan.yml)强制执行。
API 状态
GraphQL API已激活并运行正常!
- ✅ 项目查询
- ✅ 带上孩子们
- ✅ 获取字段值
- ✅ 模板信息
- ✅ 查询中的变量
要求
- Node.js 18 或更高版本
- 带有GraphQL端点的Sitecore实例:
/sitecore/api/graph/items/master - Sitecore API密钥(参见配置)
🚀 快速入门
1. 安装依赖项
cd c:\gary\Sitecore\SitecoreMCP
npm install
npm run build2. 配置环境
复制 .env.example to .env 并配置您的 Sitecore 实例:
SITECORE_HOST=https://your-sitecore-instance.com
SITECORE_API_KEY=your-api-key-here3. 运行测试
验证所有MCP工具是否正常工作:
.\scripts\tests\run-tests.ps1这将运行一个全面的测试套件,涵盖:
- ✅ 基本查询(项目检索、子项、字段)
- ✅ 高级搜索与发现
- ✅ 导航与层级(父级、祖先)
- ✅ 实用程序和扩展
预期输出: 17项测试全部通过(100%成功率)
4. 配置您的集成开发环境(IDE)/工具
选择您喜欢的工具并配置Sitecore MCP服务器:
Claude Desktop(中文可译为“Claude桌面版”或“Claude桌面应用”,具体根据上下文选择更贴切的表述): %APPDATA%\Claude\claude_desktop_config.json VS Code: .vscode/settings.json 或用户设置\ 骑士: %APPDATA%\JetBrains\Rider2024.3\options\mcp-servers.json\ Visual Studio: %USERPROFILE%\.github-copilot\mcp-servers.json
看 docs/guides/INSTALLATION.md 翻译为中文是:文档/指南/安装指南.md 针对每种工具的详细配置。
示例配置 (Claude Desktop):
{
"mcpServers": {
"sitecore": {
"command": "node",
"args": ["c:\\gary\\Sitecore\\SitecoreMCP\\dist\\index.js"],
"env": {
"SITECORE_HOST": "https://your-sitecore-instance.com",
"SITECORE_API_KEY": "your-api-key-here"
}
}
}
}关于VS Code、Rider和Visual Studio的配置,请参阅 docs/guides/INSTALLATION.md 翻译为中文是:文档/指南/安装指南.md。
5. 重启您的工具
- Claude Desktop(可译为“Claude桌面版”)完全关闭并重新启动
- VS Code(Visual Studio Code,简称VS Code)重新加载窗口 (Ctrl+Shift+P)
- 骑士清除缓存并重启
- Visual Studio关闭解决方案并重新打开
现在Sitecore MCP服务器应该已经可以使用了!
💡 使用示例
斜杠命令菜单(v1.2.0 新增功能!)
第一步打开你的AI聊天工具(如Claude Desktop、VS Code Copilot等)\ 第二步类型 / 打开斜杠命令菜单\ 第三步选择 🔧 /sitecore 从菜单中\ 第四步输入您的命令(前缀已自动添加)
# Via slash menu:
/ → choose /sitecore → "help"
/ → choose /sitecore → "get item /sitecore/content/Home"
/ → choose /sitecore → "search articles"
/ → choose /sitecore → "field Title from /sitecore/content/Home"直接指令
你也可以直接输入命令:
Get the Home item: /sitecore/content/HomeShow all children of /sitecore/content/HomeExecute this query: /sitecore/content/Home//*[@@templatename='Sample Item']Search for items with "contact" in the nameWhat is the Title field of /sitecore/content/Home?见 文档/指南/示例.md 和 文档/指南/斜杠命令.md 以获取更多广泛示例。
Sitecore PowerShell Extensions API
这个MCP服务器使用的是Sitecore PowerShell Extensions (SPE) API终端节点:
POST https://your-sitecore-instance.com/sitecore/api/spe/v2/script确保SPE已正确配置且API可访问。
📚 文档
要全面了解所有目录及其用途,请参阅 📁 仓库结构 上面的部分。
主要文件:
- README.md(通常翻译为“README文件”或保持原名,因为“README.md”是文件名,直接翻译可能不够直观,所以通常保留原样或简述为“README文件说明”) (此文件):概述与快速入门
- docs/guides/INSTALLATION.md 翻译为中文是:docs/guides/安装指南.md所有集成开发环境(IDE)的详细安装指南
- docs/guides/EXAMPLES.md 翻译为中文是:文档/指南/示例.md大量的使用示例和用例
- 文档/指南/斜杠命令.md⚡ 斜杠命令菜单指南
- docs/guides/SITECORE-COMMAND-GUIDE.md 翻译为中文是:文档/指南/SITECORE命令指南.md自然语言命令参考
文档结构:
docs/guides/– 技术指南和操作手册(35+份文档)docs/releases/– 每个版本的发行说明(RELEASE-NOTES-v1.x.md)docs/ready-to-ship/– 发布准备检查清单docs/status/– 状态和进度报告docs/summaries/– 版本摘要
注所有文件均在此下 docs/根目录仅包含README.md文件。脚本位于 scripts/ 在以下类别中(构建、模式、测试、工具、封装)。
🔧 故障排除
MCP服务器未出现
- 克劳德检查
claude_desktop_config.json语法 → 重启应用 - VS Code重新加载窗口(Ctrl+Shift+P)→ 检查输出面板
- 骑手清除缓存 → 检查事件日志
- Visual Studio以管理员身份重新启动 → 检查扩展程序日志
SPE API错误
- 跑
.\test-spe-api.ps1测试API - 验证SPE远程调用是否已启用
Spe.config - 检查Sitecore日志:
https://your-sitecore-instance.com/sitecore/admin/showlog.aspx
未找到项目
- 验证路径是否存在(区分大小写!)
- 验证数据库(主/网页/核心)
- 检查语言代码(en/nl/等)
如需更多详情,请参阅 docs/guides/INSTALLATION.md 翻译为中文是:docs/guides/安装指南.md。
⚠️ 安全
警告此配置仅适用于本地开发!
对于生产环境:
- ✅ 使用带有有效证书的HTTPS
- ✅ 配置文件中无凭据
- ✅ 使用 Sitecore API 密钥
- ✅ 限制SPE权限
- ✅ 启用SSL证书验证
🤝 贡献(或参与贡献)
欢迎提出建议和改进意见!请创建一个问题或提交一个拉取请求。
📄 许可证
麻省理工学院(MIT)
