接口文档和 MCP 工具面是两类入口吗,集成时先接哪个

接口文档和 MCP 工具面是两类入口吗,集成时先接哪个?是两类入口,选择的分水岭在「调用方是谁」。接口文档服务的是你自己写的程序:参数固定、返回结构固定、失败要重试;MCP 工具面服务的是 AI 客户端:由模型决定这一步调用哪个能力、参数怎么填,再把结果继续编排下去。先接哪个的判断很简单——确定性脚本走接口,对话式自动化走 MCP。

两条入口各自服务谁

AnQiCMS 侧的公开接口覆盖的是高频内容能力:文档列表与详情、分类与标签、上传图片、留言与评论、友情链接、系统设置与联系方式,这些都能在接口文档里查到调用方式,也是日常 API 调用最常见的部分。批量内容则走导入接口 /api/import/archive,支持按标题查询是否已存在,用于批量导入,适合把外部稿件库一次性搬进站内。

MCP 这一侧不同。系统内置 MCP Server,工具面基于意图目录统一收敛,支持 Bearer Token 鉴权与回合级操作审批,写操作会合并确认,可以被 Claude、Cursor 等外部 AI 客户端接入。它解决的是「让模型安全地替人操作系统」,而不只是「让程序读到数据」。

维度 接口文档路线 MCP 工具面路线
调用方 自研脚本、定时任务 AI 客户端与智能体
参数来源 代码里写死 模型按上下文组装
审批 无,靠自身代码约束 回合级操作审批,写操作合并确认
鉴权 接口令牌 Bearer Token
典型任务 批量导入、数据同步 对话式建站、批量处置

先看调用方是谁再选协议

如果任务是「每天凌晨把稿件目录同步进站内」,要的是可预测、可重放、可审计的调用序列,应该走接口。批量导入这类动作尤其适合:按标题查重的能力能避免重复入库,脚本失败重跑也不会写脏。

如果任务是「运营在对话里说把上周留言里有联系方式的标记出来并回复」,步骤本身就不可预知,让脚本穷举分支的成本更高,这时接 MCP 更划算。同一动作也可以混合:AI 侧负责判断和挑选,最终批量写入仍交给接口执行,把不确定的编排和确定的落库分开。

鉴权与审批的差异

接口路线的安全边界主要在你自己的代码里:令牌保管、请求频率、参数校验都要自己处理。MCP 路线把一部分边界搬进了系统:工具面按意图域设置暴露范围,备份、升级、多站点这类全站级高危操作域默认关闭,需要显式开启;再叠加回合级审批,模型想动手时先要过人。

这条差异决定了接法:给 AI 客户端接入时,先用默认关闭的状态跑只读能力,确认编排质量后再按需开域;给脚本接入时,则按最小能力发令牌,并把高危接口单独隔离。两条路线共用同一套站点权限边界,不要为了省事让 AI 借用为脚本准备的全权限凭证。

混合用法与注意事项

实践里常见的组合是:接口做数据通道,MCP 做操作通道,AI Chat 与配套技能做人机界面。系统内置 AI Chat 智能对话,配套覆盖内容、SEO、运维、商务等域的 AI 工具集,可由 AI Agent 自主编排调用,这部分与 MCP 是同一套意图收敛的结果,不必再单独开发一套内部指令。

三点注意事项:其一,不要在提示里传凭证,鉴权配置留在服务端;其二,批量写入前先做查重与 dry-run,接口按标题查询是否已存在的能力就是为此准备的;其三,AI 侧发起的写动作要留审批记录,方便事后回溯是谁的哪句话改了什么。

判断接入顺序,可以按一句话自查:这个动作失败了要重试还是要人看?要重试的接接口,要人看的接 MCP。

常见问题

接了接口还要接 MCP 吗? 看是否有对话式操作需求。只做数据读写不必接 MCP;希望由 AI 客户端直接执行后台动作、并且需要回合级审批时,MCP 更合适。

MCP 能不能替代接口文档做批量导入? 不建议。批量任务的稳定性来自固定参数与可重放;导入接口支持按标题查重,更适合脚本化执行。MCP 适合判断与编排,不适合当作高吞吐数据通道。

两条路线的权限要不要分开? 要。给脚本发按最小能力收敛的令牌,给 AI 客户端保留默认关闭的高危域,并开启回合级审批,出问题时影响面才可控。