此仓库已迁移至 - https://github.com/umbraco/Umbraco-Cms-MCP-Dev
Umbraco MCP 翻译为中文是“Umbraco 成为会员计划(Membership Control Provider)”或更简洁地称为“Umbraco 会员控制提供程序”,不过具体翻译可能根据上下文和使用场景有所调整。在Umbraco这个内容管理系统中,MCP通常指的是用于管理用户会员身份的组件或插件
一个用于(某功能/应用的)MCP(模型上下文协议)服务器 Umbraco 内容管理系统(CMS) 它提供了管理API的关键部分的访问权限,使您能够使用您的代理执行后台任务。
引言
MCP服务器使用一个Umbraco API用户来访问您的Umbraco管理API,这意味着AI可用的工具可以通过常规的Umbraco用户权限进行控制。
入门指南
Umbraco(乌姆布罗)
为了使MCP能够与管理API通信,您需要创建一个API用户 如果你不确定如何操作,请继续按照以下步骤 Umbraco的文档。
您为该用户提供的访问级别将决定您的代理能够执行哪些操作。
安装
首先,创建一个具有适当权限的Umbraco API用户。您可以在以下位置找到说明: Umbraco的文档。
Claude Desktop
要开始使用Claude与Umbraco MCP一起工作,首先请下载并安装 Claude.ai 桌面应用程序。
启动您的Umbraco实例(当前使用版本 15. 最新的并创建新的API用户凭据。您可以在(某处)看到如何操作的说明 Umbraco 文档。
一旦你获取了这些信息,请返回到Claude桌面应用程序,然后进入“设置”>“开发者”>“编辑配置”。用你选择的文本编辑器打开json文件,并添加以下内容,替换掉原有的(相应部分) UMBRACO_CLIENT_ID, UMBRACO_CLIENT_SECRET 并且 UMBRACO_BASE_URL 使用您的本地连接信息。添加 NODE_TLS_REJECT_UNAUTHORIZED \env\ 标志用于允许 Claude 使用自签名证书连接到 MCP。
{
"mcpServers": {
"umbraco-mcp": {
"command": "npx",
"args": ["@umbraco-mcp/umbraco-mcp-cms@alpha"],
"env": {
"NODE_TLS_REJECT_UNAUTHORIZED": "0",
"UMBRACO_CLIENT_ID": "umbraco-back-office-mcp",
"UMBRACO_CLIENT_SECRET": "1234567890",
"UMBRACO_BASE_URL": "https://localhost:44391"
}
}
}
}重启Claude,并尝试使用一个简单的提示语,比如 Tell me the GUID of the home page document type在Umbraco管理控制面板(MCP)开始运行过程中,您需要允许每个工具。如果在Umbraco MCP中遇到连接错误,请点击按钮打开日志并查看文件 mcp-server-umbraco-mcp.log 以获取关于如何解决此问题的更多信息。
\[!NOTE\] (注:此标记通常用于提醒或注意事项,具体翻译可能根据上下文有所调整,但在此处直接保留原样以体现其特殊性) 您可能需要升级到Claude.ai的付费版本,以便拥有足够大的上下文窗口来运行您的提示。
Claude Code
使用Claude Code CLI添加Umbraco MCP服务器:
claude mcp add umbraco-mcp npx @umbraco-mcp/umbraco-mcp-cms@alpha或者配置环境变量和作用域:
# Install Claude Code globally (if not already installed)
npm install -g @anthropic-ai/claude-code
# Add with environment variables
claude mcp add umbraco-mcp --env UMBRACO_CLIENT_ID="your-id" --env UMBRACO_CLIENT_SECRET="your-secret" --env UMBRACO_BASE_URL="https://your-domain.com" -- npx @umbraco-mcp/umbraco-mcp-cms@alpha
# Verify installation
claude mcp list这将在 claude.json 配置文件中将 umbraco-mcp 添加到现有项目中。
VS Code
点击按钮进行安装:
要求: 安装了GitHub Copilot Chat扩展的VS Code 1.101+版本。
或者手动安装: 遵循MCP(多路径控制协议/最小成本路径等,具体含义根据上下文确定) 安装指南,使用这个配置。
{
"servers": {
"umbraco-mcp": {
"type": "stdio",
"command": "npx",
"args": ["@umbraco-mcp/umbraco-mcp-cms@alpha"],
"env": {
"UMBRACO_CLIENT_ID": "",
"UMBRACO_CLIENT_SECRET": "",
"UMBRACO_BASE_URL": "https://",
"EXCLUDE_MANAGEMENT_TOOLS": ","
}
}
}
}Cursor
或者手动安装:
首选 Cursor Settings -> Tools & Integrations -> Add new MCP Server。
在配置文件中添加以下内容,并更新环境变量。
{
"mcpServers": {
"umbraco-mcp": {
"command": "npx",
"args": ["@umbraco-mcp/umbraco-mcp-cms@alpha"],
"env": {
"UMBRACO_CLIENT_ID": "",
"UMBRACO_CLIENT_SECRET": "",
"UMBRACO_BASE_URL": "https://",
"EXCLUDE_MANAGEMENT_TOOLS": ","
}
}
}
}配置环境变量
UMBRACO_CLIENT_ID
Umbraco API 用户名
UMBRACO_CLIENT_SECRET
Umbraco API 用户客户端密钥
UMBRACO_BASE_URL
您想要连接的网站的URL,只需提供协议和域名,例如 https://example.com(示例域名)
EXCLUDE_MANAGEMENT_TOOLS
该功能允许您通过名称指定工具,如果您希望将它们从可用工具列表中排除。这对于某些无法处理太多工具的代理来说非常有用。以下是一个以逗号分隔的工具列表。
Umbraco管理API工具
View Tool list
Culture
get-culture - 获取Umbraco支持的所有文化(语言)
Data Type
get-data-type-search - 搜索数据类型\ get-data-type - 通过ID获取特定的数据类型\ get-data-type-references - 获取数据类型的引用\ is-used-data-type - 检查数据类型是否正在使用中\ get-data-type-root - 获取根级别的数据类型\ get-data-type-children - 获取子数据类型\ get-data-type-ancestors - 获取祖先数据类型\ get-all-data-types - 获取所有数据类型\ delete-data-type - 删除数据类型\ create-data-type - 创建一个新的数据类型\ update-data-type - 更新现有数据类型\ copy-data-type - 复制数据类型\ move-data-type - 将数据类型移动到不同的位置\ create-data-type-folder - 创建一个文件夹来组织数据类型\ delete-data-type-folder - 删除数据类型文件夹\ get-data-type-folder - 获取有关数据类型文件夹的信息\ update-data-type-folder - 更新数据类型文件夹的详细信息
Dictionary
get-dictionary-search - 搜索字典条目\ get-dictionary-by-key - 通过键获取字典项\ create-dictionary - 创建一个新的字典项\ update-dictionary - 更新字典项\ delete-dictionary - 删除字典中的一个项目
Document
get-document-by-id - 通过ID获取文档\ get-document-publish - 获取文档发布状态\ get-document-configuration - 获取文档配置\ copy-document - 复制一份文件\ create-document - 创建一个新文档\ post-document-public-access - 设置文档为公开访问\ delete-document - 删除一个文档\ delete-document-public-access - 从文档中移除公开访问权限\ get-document-urls - 获取文档URL\ get-document-domains - 获取文档域\ get-document-audit-log - 获取文档审核日志\ get-document-public-access - 获取文档公开访问设置\ move-document - 移动文件\ move-to-recycle-bin - 将文档移至回收站\ get-document-notifications - 获取文档通知\ publish-document - 发布一份文件\ publish-document-with-descendants - 发布一个文档及其子文档\ sort-document - 按文档顺序排序\ unpublish-document - 取消发布文档\ update-document - 更新一份文档\ put-document-domains - 更新文档域\ put-document-notifications - 更新文档通知\ put-document-public-access - 更新文档公开访问权限\ delete-from-recycle-bin - 从回收站中删除文档\ empty-recycle-bin - 清空回收站\ get-recycle-bin-root - 获取回收站中的根项\ get-recycle-bin-children - 获取回收站中的子项\ search-document - 搜索文档\ validate-document - 验证文档\ get-document-root - 获取根文档\ get-document-children - 获取子文档\ get-document-ancestors - 获取文档祖先
Document Blueprint
get-blueprint - 获取一份文件蓝图\ delete-blueprint - 删除文档蓝图\ update-blueprint - 更新文档蓝图\ create-blueprint - 创建一个新的文档蓝图\ get-blueprint-ancestors - 获取蓝图祖先\ get-blueprint-children - 获取蓝图子项\ get-blueprint-root - 获取root蓝图
Document Type
get-document-type - 获取一个文档类型\ get-document-type-configuration - 获取文档类型配置\ get-document-type-blueprint - 获取文档类型蓝图\ get-document-type-by-id-array - 通过ID获取文档类型\ get-document-type-available-compositions - 获取可用的组合\ get-document-type-composition-references - 获取配乐参考资料\ update-document-type - 更新文档类型\ copy-document-type - 复制一个文档类型\ move-document-type - 移动文档类型\ create-document-type - 创建一个新的文档类型\ delete-document-type - 删除文档类型\ create-element-type - 创建一个元素类型\ get-icons - 获取可用图标\ get-document-type-allowed-children - 获取允许的子类型\ get-all-document-types - 获取所有文档类型\ create-document-type-folder - 创建一个文件夹\ delete-document-type-folder - 删除一个文件夹\ get-document-type-folder - 获取文件夹信息\ update-document-type-folder - 更新文件夹详情\ get-document-type-root - 获取根文档类型\ get-document-type-ancestors - 获取文档类型的祖先\ get-document-type-children - 获取文档类型子项
Language
get-language-items - 获取所有语言\ get-default-language - 获取默认语言\ create-language - 创建一种新语言\ update-language - 更新语言\ delete-language - 删除一种语言\ get-language-by-iso-code - 通过ISO代码获取语言
Log Viewer
get-log-viewer-saved-search-by-name - 通过名称获取保存的搜索\ get-log-viewer-level-count - 获取日志级别计数\ post-log-viewer-saved-search - 保存日志搜索\ delete-log-viewer-saved-search-by-name - 删除已保存的搜索\ get-log-viewer - 获取日志\ get-log-viewer-level - 获取日志级别\ get-log-viewer-search - 搜索日志\ get-log-viewer-validate-logs - 验证日志\ get-log-viewer-message-template - 获取消息模板
Media
get-media-by-id - 通过ID获取媒体\ get-media-ancestors - 获取媒体祖先\ get-media-children - 获取媒体子项\ get-media-root - 获取根媒体项目\ create-media - 创建新媒体\ delete-media - 删除媒体\ update-media - 更新媒体\ get-media-configuration - 获取媒体配置\ get-media-urls - 获取媒体URL\ validate-media - 验证媒体\ sort-media - 对媒体项目进行排序\ get-media-by-id-array - 通过ID获取媒体\ move-media - 移动媒体\ get-media-audit-log - 获取媒体审核日志\ get-media-recycle-bin-root - 获取回收站根目录\ get-media-recycle-bin-children - 获取回收站中的文件/项目\ empty-recycle-bin - 清空回收站\ restore-from-recycle-bin - 从回收站恢复\ move-media-to-recycle-bin - 移动到回收站\ delete-from-recycle-bin - 从回收站中删除
Media Type
get-media-type-configuration - 获取媒体类型配置\ get-media-type-by-id - 通过ID获取媒体类型\ get-media-type-by-ids - 通过ID获取媒体类型\ get-allowed - 获取允许的媒体类型\ get-media-type-allowed-at-root - 获取根级别允许的类型\ get-media-type-allowed-children - 获取允许的子类型\ get-media-type-composition-references - 获取作曲参考资料\ get-root - 获取根媒体类型\ get-children - 获取子媒体类型\ get-ancestors - 获取祖先媒体类型\ get-folder - 获取文件夹信息\ create-folder - 创建一个新文件夹\ delete-folder - 删除一个文件夹\ update-folder - 更新文件夹详情\ create-media-type - 创建一个新的媒体类型\ copy-media-type - 复制媒体类型\ get-media-type-available-compositions - 获取可用的组合\ update-media-type - 更新媒体类型\ move-media-type - 移动媒体类型\ delete-media-type - 删除媒体类型
Member
get-member - 通过ID获取成员\ create-member - 创建一个新成员\ delete-member - 删除成员\ update-member - 更新成员信息\ find-member - 寻找成员
Member Group
get-member-group - 获取成员组\ get-member-group-by-id-array - 通过ID获取成员组\ create-member-group - 创建一个新的成员组\ update-member-group - 更新成员组\ delete-member-group - 删除成员组\ get-member-group-root - 获取根成员组
Member Type
get-member-type-by-id - 通过ID获取成员类型\ create-member-type - 创建一个新的成员类型\ get-member-type-by-id-array - 通过ID获取成员类型\ delete-member-type - 删除成员类型\ update-member-type - 更新成员类型\ copy-member-type - 复制一个成员类型\ get-member-type-available-compositions - 获取可用的组合\ get-member-type-composition-references - 获取作曲参考资料\ get-member-type-configuration - 获取成员类型配置\ get-member-type-root - 获取根成员类型
Property Type
get-property-type - 通过ID获取属性类型\ get-property-type-all-property-type-groups - 获取所有属性类型组\ create-property-type - 创建一个新的属性类型\ update-property-type - 更新属性类型\ delete-property-type - 删除属性类型
Redirect
get-all-redirects - 获取所有重定向\ get-redirect-by-id - 通过ID获取重定向\ delete-redirect - 删除重定向\ get-redirect-status - 获取重定向状态\ update-redirect-status - 更新重定向状态
Server
get-server-status - 获取服务器状态\ get-server-log-file - 获取服务器日志文件\ tour-status - 获取旅行状态\ upgrade-status - 获取升级状态
Template
get-template-search - 按名称搜索模板\ get-template - 通过ID获取模板\ get-templates-by-id-array - 通过ID获取模板\ create-template - 创建一个新模板\ update-template - 通过ID更新模板\ delete-template - 通过ID删除模板\ execute-template-query - 执行模板查询并返回生成的LINQ代码\ get-template-query-settings - 获取模板查询的模式(文档类型、属性、操作符)\ get-template-root - 获取根模板项\ get-template-children - 通过父级ID获取子模板或模板文件夹\ get-template-ancestors - 通过ID获取模板的祖先
Temporary File
create-temporary-file - 创建一个临时文件\ get-temporary-file - 获取一个临时文件\ delete-temporary-file - 删除临时文件\ get-temporary-file-configuration - 获取临时文件配置
User Group
get-user-group - 获取用户组\ get-user-group-by-id-array - 通过ID获取用户组\ get-user-groups - 获取所有用户组\ get-filter-user-group - 过滤用户组\ create-user-group - 创建一个新的用户组\ update-user-group - 更新用户组\ delete-user-group - 删除用户组\ delete-user-groups - 删除多个用户组
Webhook
get-webhook-by-id - 通过ID获取webhook\ get-webhook-by-id-array - 通过ID获取webhooks\ delete-webhook - 删除一个Webhook\ update-webhook - 更新一个webhook\ get-webhook-events - 获取Webhook事件\ get-all-webhook-logs - 获取所有Webhook日志\ create-webhook - 创建一个新的webhook
利用人工智能工具做出贡献
这个项目经过优化,适合使用AI编码助手进行开发。我们为流行的AI工具提供了指令文件,以帮助保持与我们既定的模式和测试标准的一致性。
使用规则同步(或“规则同步功能”)
该项目包含rulesync配置文件,能够自动生成19+种AI开发工具的指令文件。为您的首选AI工具生成配置文件:
# Generate only for Claude Code
npx rulesync generate --claudecode
# Generate only for Cursor
npx rulesync generate --cursor
# Generate only for Vs Code Copilot
npx rulesync generate --copilot其他人工智能工具
rulesync 支持 19+ 个 AI 开发工具,包括 GitHub Copilot、Cline、Aider 等更多工具。请查看 rulesync 仓库 以获取完整支持工具列表。
指令文件涵盖:
- MCP(可能指某种特定系统、框架或平台,如“Microsoft Certified Professional”或其他,具体需根据上下文确定)的开发模式与规范
- TypeScript 实施指南
- 与建筑商及辅助人员共同制定的综合测试标准
- 项目特定的上下文和架构
- 与Umbraco管理API的API集成模式
