关于 agilitycms
Agility CMS 官方托管 MCP 服务让 AI 工具访问 Agility 实例中的内容、模型、页面和媒体。它使用 OAuth 2.0,并按登录用户的 Agility 权限执行操作。
主要功能
- 01读取和编辑内容项
- 02管理页面、站点地图与工作流
- 03创建和更新内容模型及容器
- 04列出和管理媒体资源
- 05基于用户权限的 OAuth 2.0 认证
适用场景
- 01起草并发布本地化内容
- 02检查频道中尚未发布的页面
- 03修改内容模型和容器
- 04查找和管理媒体库资源
MCP 相关
通过 https://mcp.agilitycms.com/api/mcp 的 Streamable HTTP 向 MCP 客户端提供 32 个工具。OAuth 2.0 使用用户的 Agility 组织进行认证,操作受该用户权限约束。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://mcp.agilitycms.com/api/mcpclaude mcp add --transport http com-agilitycms https://mcp.agilitycms.com/api/mcp{"mcpServers":{"com-agilitycms":{"type":"http","url":"https://mcp.agilitycms.com/api/mcp"}}}在 Cursor 中打开{"servers":{"com-agilitycms":{"type":"http","url":"https://mcp.agilitycms.com/api/mcp"}}}在 VS Code 中打开{"mcpServers":{"com-agilitycms":{"type":"http","url":"https://mcp.agilitycms.com/api/mcp"}}}{"mcpServers":{"com-agilitycms":{"serverUrl":"https://mcp.agilitycms.com/api/mcp"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
工具
详细介绍
Agility CMS MCP 服务
Agility CMS 的官方 MCP 服务(Agility CMS):一个托管的远程服务,让你的 AI 工具通过对话(而非 API)实时访问你已有权限使用的 Agility 实例中的内容、模型、页面和媒体。
连接客户端 · 你可以询问的内容 · 工具 · 数据与安全 · 故障排除 · 支持
无需安装任何内容。 将客户端指向 https://mcp.agilitycms.com/api/mcp,使用 Agility 账号登录,助手即可使用你已有权限访问的实例。
- 端点:
https://mcp.agilitycms.com/api/mcp(可流式传输的 HTTP) - 身份验证: 通过 OAuth 2.0 使用 Agility 组织进行身份验证 — Agility 权限是最终依据
- 工具: 32 个,涵盖内容、模型、组件、容器、页面、站点地图和媒体
- 含屏幕截图的设置指南: mcp.agilitycms.com/instructions
- 实时工具目录: mcp.agilitycms.com/tools
连接客户端
一键连接
所有受支持的客户端
| 客户端 | 添加方式 |
|---|---|
| VS Code(GitHub Copilot) | 点击上方的一键徽章,或打开命令面板 → MCP: Add Server → HTTP |
| Cursor | 点击上方的一键徽章,或打开设置 → MCP → Add new MCP server → HTTP |
| LM Studio | 点击上方的一键徽章 |
| Claude Code | claude mcp add --transport http "Agility-CMS" https://mcp.agilitycms.com/api/mcp |
| Claude(桌面端和网页端) | 官方连接器 — 自定义 → 连接器 → 发现 → 搜索 Agility CMS → 连接 |
| Windsurf | 设置 → Cascade → MCP servers → 添加端点 |
| Gemini CLI | gemini mcp add --transport http agility-cms https://mcp.agilitycms.com/api/mcp |
| ChatGPT | 设置 → Apps & Connectors → Advanced → Developer mode → 添加连接器 |
| 其他客户端 | 任何支持可流式 HTTP 的客户端 — 或使用 mcp-remote 为仅支持 stdio 的客户端搭建桥接 |
带截图的完整操作指南请参阅 mcp.agilitycms.com/instructions。手动配置时,只需提供端点即可。以下是各客户端的详细说明。
Claude Code
claude mcp add --transport http "Agility-CMS" https://mcp.agilitycms.com/api/mcp
Claude(桌面端和网页端)
Agility CMS 是 Claude 目录中的官方连接器,因此无需粘贴任何内容。
在个人账户中使用 — 打开自定义 → 连接器 → 发现,搜索 Agility CMS,然后点击 连接,并在提示时登录 Agility。也可以直接打开该连接器页面: https://claude.ai/customize/connectors/directory?q=Agility%20CMS
选择 Agility CMS。Agility CMS Knowledgebase 是另一个用于文档网站的连接器,并标记为 Custom。
管理 Team 或 Enterprise 工作区 — 在管理员设置中为组织启用 Agility CMS 连接器。这样所有人都可以使用,但不会自动连接任何人: 每位成员仍需自行登录 Agility,且每次调用都受其个人 Agility 权限控制。没有共享凭据或服务凭据。
如果目录条目尚未向你开放,也可以直接使用端点 — 打开自定义 → 连接器 → 添加,然后将其添加为自定义连接器:
https://mcp.agilitycms.com/api/mcp
VS Code(GitHub Copilot)
打开命令面板 → MCP: Add Server → HTTP,然后粘贴端点。也可以将其添加到 MCP 配置中:
{
"servers": {
"agility-cms": {
"type": "http",
"url": "https://mcp.agilitycms.com/api/mcp"
}
}
}
Cursor
打开设置 → MCP → Add new MCP server → 输入 HTTP,并将 URL 设为上述端点。也可以在 ~/.cursor/mcp.json 中配置:
{
"mcpServers": {
"agility-cms": {
"url": "https://mcp.agilitycms.com/api/mcp"
}
}
}
LM Studio
使用上方的一键徽章,或在 Program → Install → Edit mcp.json 下添加端点:
{
"mcpServers": {
"agility-cms": {
"url": "https://mcp.agilitycms.com/api/mcp"
}
}
}
Windsurf
打开设置 → Cascade → MCP servers → 使用上述端点添加服务。
Gemini CLI
gemini mcp add --transport http agility-cms https://mcp.agilitycms.com/api/mcp
或者在 ~/.gemini/settings.json 中配置:
{
"mcpServers": {
"agility-cms": {
"httpUrl": "https://mcp.agilitycms.com/api/mcp"
}
}
}
ChatGPT
打开设置 → Apps & Connectors → Advanced → Developer mode,然后使用上述端点添加连接器。
其他客户端
任何支持可流式 HTTP 的客户端都可以使用。向其提供端点并让它运行 OAuth 流程即可 — 无需粘贴 API 密钥,也无需将任何内容保存在配置文件中。
如果客户端仅支持本地(stdio)服务,可以使用
mcp-remote 为其搭建桥接:
{
"mcpServers": {
"agility-cms": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://mcp.agilitycms.com/api/mcp"]
}
}
}
这个桥接是通用的客户端侧垫片,并非 Agility 软件包。不存在 agility-mcp-server npm 软件包,今后也不会有 — 托管式 HTTP 服务无需安装,因此,如果你发现某个配置要求你运行 Agility 命名的 npx 命令,那就是错的。
可以提出的请求
连接后,你可以与助手讨论你的内容——它会选择合适的工具。大多数工具
需要一个 instanceGuid(Agility 实例)以及一个 locale(内容语言区域);先让它列出你的
实例,之后它就会使用正确的实例。
- “列出我可以访问的 Agility 实例,然后向我展示营销网站中的内容模型。”
- “在 Blog Post 模型中添加一个
Subtitle文本字段,放在现有的 SEO 选项卡下。” - “创建一个 Team Member 模型——包括姓名、照片、简介和指向其文章的链接——并为它创建一个容器。”
- “根据这份大纲,用
en-us创建一篇博客文章,并提供编辑器链接。” - “主频道中还有哪些页面尚未发布?”
- “发布我刚创建的三篇文章。”
数据与安全
身份验证通过 OAuth 2.0 对接你的 Agility 组织,并使用 HTTPS。 无需粘贴 API 密钥,也无需在配置文件中保存任何内容——令牌由你的 MCP 客户端持有,而不是由此代码仓库的配置或你编辑的任何文件持有。
你的 Agility 权限就是权限上限。 每次调用都以你的身份执行:Management API 会拒绝你本人无权执行的操作,因此 MCP 服务无法超出你已有的访问权限。由此可见,限制助手可访问内容的实际做法,是使用一个仅拥有你愿意授予的权限的 Agility 用户登录。
破坏性操作会标记并提示确认。 delete_*、unpublish_content 和
unpublish_page 工具带有 destructiveHint: true,因此交互式客户端会在执行前询问。非交互式客户端完全不会提示——必须将每个写入工具加入允许列表。
将内容视为不可信输入。 这是 MCP 的结构性特点,并非 Agility 特有:助手会读取内容项、页面文本和字段说明,其中任何内容都可能包含看起来像指令的文本(提示词注入)。根据这些内容采取操作的客户端会使用你的权限。请使用你信任的客户端,为破坏性工具保留确认提示,并且不要将权限过大的 Agility 账户交给无人值守的 Agent。
记录哪些内容。 托管服务会将运行遥测数据记录到 Agility 的 Application
Insights:包括调用的工具或 API 方法、持续时间、成功或失败、Agility 实例 GUID
以及你的 Agility 用户 ID。请求和响应负载会以截断形式记录以供调试(默认上限为 2 KB),因此较短的内容值可能会出现在这些日志中。托管服务不支持客户端选择退出;如需不收集任何数据,请在自托管时不要设置 APP_INSIGHTS_CONNECTION_STRING。
可用的 MCP 工具
Agility CMS MCP Server 提供 32 个强大的工具,分为以下类别:
🔍 发现工具
get_available_instances- 列出你可以访问的所有 Agility CMS 实例get_current_user- 确认当前令牌所认证的用户(只读的 whoami)get_containers- 访问按类别组织的内容容器
📋 模型列表工具
get_content_models- 获取某个实例的所有内容模型get_component_models- 访问页面组件模型
🔍 详情工具
get_content_model_details- 获取内容模型的详细字段定义get_component_model_details- 获取组件模型的详细字段定义
📝 内容管理工具
get_locales- 获取多语言内容可用的语言区域get_content_items- 使用筛选和分页获取多个内容项get_content_item- 按 ID 获取单个内容项save_content_items- 创建或更新内容项(为每个内容项返回一个编辑器 URL)publish_content- 发布一个或多个内容项unpublish_content- 取消发布(下线)一个或多个内容项 (破坏性操作)manage_content_workflow- 批准、拒绝内容项,或请求批准内容项delete_content_item- 删除内容项 (破坏性操作)
📄 页面管理工具
get_sitemaps- 列出所有数字渠道(站点地图)get_sitemap- 获取渠道的完整页面层级结构get_page- 按 ID 获取页面get_page_models- 列出可用的页面模型(模板)save_page_model- 创建或更新页面模型(模板)及其内容区域save_page- 创建或更新页面reorder_page_modules- 调整页面区域内模块的顺序publish_page- 发布一个或多个页面unpublish_page- 取消发布(下线)一个或多个页面 (具有破坏性)manage_page_workflow- 批准、拒绝页面,或请求批准页面delete_page- 删除页面 (具有破坏性)
🖼️ 媒体与资源工具
initialize_media_upload- 获取媒体文件的签名上传 URLlist_media- 列出媒体库资源(分页)delete_media- 按 ID 删除媒体资源 (具有破坏性)
⚡ 模型创建与管理工具
save_content_model- 创建或更新内容模型save_component_model- 创建或更新组件模型save_container- 创建和配置内容容器
🔒 具有破坏性的操作均有标记。
delete_*工具以及unpublish_content/unpublish_page工具带有destructiveHint: true,因此交互式 MCP 客户端会在运行前提示(“允许运行此工具吗?”——选择 “始终允许” 即表示选择不再提示)。发布和审批工作流会增加内容或可撤销,不会标记为具有破坏性。有关权限和提示的工作方式,请参阅数据与安全,各工具的详细信息请参阅文档。
📚 完整工具文档和示例: mcp.agilitycms.com/tools
支持的字段类型
Agility CMS MCP Server 支持 20+ 种字段类型,可用于构建全面的内容模型:
- 📝 基本字段:文本、长文本、HTML、布尔值、整数、小数、日期
- 🎯 选择字段:下拉列表、链接、搜索列表框、复选框
- 🎨 媒体字段:图像附件、文件附件
- 🔗 内容关系:共享网格/链接、嵌套网格/链接
- 📂 组织结构:选项卡字段、自定义分区
- ⚡ 高级字段:复杂对象字段、自定义字段类型、富文本编辑器
📚 完整字段类型文档: mcp.agilitycms.com/tools
故障排除
| 症状 | 通常表示 |
|---|---|
get_available_instances 中缺少某个实例 | 您的 Agility 用户无权访问该实例,或者该实例不在此服务连接的生产 Agility 租户中。 |
| 调用开始因授权错误而失败 | OAuth 令牌已过期或被撤销——请在客户端中重新连接该服务。 |
| 助手表示无法写入,或只读取而不提示 | 非交互式客户端要求按名称将每个写入工具添加到允许列表中。请检查客户端的工具权限。 |
| 一键安装链接不起作用 | 编辑器未运行,或阻止了交接操作——请改为手动添加端点。 |
| 工具拒绝某项字段设置 | Agility 会在服务器端验证模型变更;错误文本会原样传递。例如,关联内容字段不支持 required、unique 或 copyAcrossAllLanguages 设置。 |
仍未解决问题:[email protected] 或 我们的 Slack 社区。
支持与反馈
- 🌐 网站:mcp.agilitycms.com
- 📖 设置说明:mcp.agilitycms.com/instructions
- 🛠️ 工具目录:mcp.agilitycms.com/tools
- 📚 Agility CMS 文档:agilitycms.com/docs
- 💬 支持:[email protected]
- 👥 社区:加入我们的 Slack
关于此仓库
此仓库是 Agility CMS MCP Server 的公开主页,包含托管服务 https://mcp.agilitycms.com 的文档、许可证和安全策略。
该服务器是托管的远程 MCP 服务:无需安装,也无需拉取软件包,因此这里没有可复现的构建。其源代码由 Agility CMS 维护,目前尚未公开。上方已列出使用此服务所需的全部信息。
许可证
此仓库中的文档采用 Apache License 2.0 许可。
该许可证明确不涵盖以下两项:
- 托管服务。 Agility CMS 根据其自身的服务条款运营
https://mcp.agilitycms.com。您对该服务以及其背后的 Agility CMS Management API 的使用,受这些条款和您的 Agility 订阅约束。 - Agility 名称和标志。 Apache 2.0 §6 不授予任何商标权。请参阅 NOTICE。
安全问题报告:SECURITY.md。
由 Agility CMS 倾心打造 ❤️ — 面向开发者和营销人员的最快无头 CMS
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。