MCP Server实战:将AnQiCMS接入Claude和Cursor
模型上下文协议(MCP)为AI客户端与服务端能力之间提供了标准化的通信桥梁。安企内容管理系统内置的MCP Server将后台功能按意图域分类收敛,通过Bearer Token进行身份验证,并对写操作实施回合级批量审批机制。外部AI客户端如Claude Desktop或Cursor只需完成简单的连接配置,即可安全地调用CMS的内容管理、SEO优化和站点运维能力。
MCP协议的核心价值
传统API集成需要开发者手动编写认证、参数校验和错误处理逻辑,而MCP通过统一的意图目录抽象,让AI客户端能自动发现可用的工具及其输入输出规范。对于CMS这类功能密集型的系统,MCP的优势在于将分散的接口按业务意图重新组织,例如”创建文章”“查询收录状态”“备份数据”等高层操作,而非暴露底层的HTTP端点细节。
AnQiCMS的MCP实现将工具面划分为内容、SEO、运维、商务等多个意图域,每个域内的工具共享相同的权限策略和审计规则。这种设计既降低了AI客户端的学习成本,也便于管理员按需开放或关闭特定功能域,实现细粒度的访问控制。
Bearer Token鉴权配置
安全性是MCP集成的首要考量。AnQiCMS的MCP Server要求所有请求在HTTP头部携带有效的Bearer Token,令牌值通过系统后台的密钥管理模块生成,支持设置有效期和适用范围。与传统的API Key相比,Bearer Token的优势在于可与用户会话绑定,实现更精确的权限映射。
配置步骤如下:首先在CMS后台的”MCP设置”页面启用服务并生成令牌,记录生成的令牌字符串(该值仅显示一次)。然后在AI客户端的配置文件中添加服务端点和令牌信息,例如Claude Desktop需在claude_desktop_config.json中指定mcpServers.anqicms.url和mcpServers.anqicms.headers.Authorization字段。重启客户端后,可在对话中测试连接是否成功。
意图目录的工具组织结构
意图目录是MCP Server的核心索引,它将上百个底层接口归类为若干业务域。高危域(如备份恢复、系统升级、多站点管理等全站级操作)默认处于关闭状态,需管理员显式开启才能被AI客户端调用。这种默认拒绝的策略确保即使令牌泄露,攻击者也无法立即执行破坏性操作。
每个意图域包含若干具体工具,例如”内容域”下有创建文章、查询文档、更新标签等工具;”SEO域”下有推送链接、生成Sitemap、管理锚文本等工具。AI客户端在发起调用前会先读取意图目录的元数据,了解每个工具的必填参数、返回值结构和权限要求,从而生成符合规范的请求。
回合级批量审批机制
对于写操作(如发布文章、删除分类、修改系统设置),MCP Server不会立即执行单个请求,而是将其暂存于待审批队列。当同一会话内累积多个写操作时,系统会向管理员发起批量确认请求,列出所有待执行的操作及其影响范围。管理员可选择全部批准、部分批准或全部拒绝。
这种回合级审批的设计平衡了自动化效率与安全管控:AI助手能在单次对话中规划多步操作,减少反复确认的中断感;同时管理员仍保有最终的决策权,避免AI因误解指令而执行危险操作。审批记录会被完整审计,便于事后追溯责任归属。
常见问题
如何限制AI客户端只能读取不能修改?
在MCP设置页面,可将意图域的权限级别调整为”只读”,此时AI客户端只能调用查询类工具(如获取文章列表、检查SEO状态),所有写操作工具会被隐藏。若需更细粒度的控制,可为不同AI客户端生成独立的Bearer Token,每个令牌绑定不同的权限策略。
MCP Server会影响CMS的性能吗?
MCP Server作为独立的服务模块运行,与主站的HTTP服务进程隔离。常规查询操作的响应延迟在毫秒级,仅在批量导出或复杂分析场景下可能占用较多资源。若担心性能影响,可在低峰期执行密集的MCP调用,或通过限流配置约束单分钟的请求上限。
Claude和Cursor的连接配置有何区别?
两者均遵循标准的MCP客户端规范,但配置文件的位置和格式略有差异。Claude Desktop使用JSON格式的桌面配置文件,而Cursor需在VS Code风格的settings.json中添加MCP服务器条目。核心参数(端点URL、Bearer Token、超时时间)相同,具体路径可参考各自官方文档的MCP集成章节。若在配置过程中遇到连接失败,首先检查防火墙是否放行MCP服务的监听端口,其次确认Token未过期且未被撤销。