每个 AI 应用都单独接文件、数据库和业务系统,会形成重复集成。MCP(模型上下文协议)提供共同语言,但协议打通的是连接,不是信任。

我的定义是:MCP = AI 客户端与外部能力之间的标准化接口层。它降低连接成本,却不会替你决定哪个数据可信、哪个动作可逆、哪个用户有权调用。

Host、Client、Server:先看清信任发生在哪里

官方架构中,Host 是承载用户体验与安全策略的 AI 应用;每个 Client 与一个 Server 建立有状态连接;Server 暴露 Tools(动作)、Resources(数据)与 Prompts(可复用交互模板)。本地 Server 可以访问本机能力,远程 Server 通常通过网络和授权连接。

Host编排、同意、策略与用户体验
Client一对一会话与协议通信
Server暴露工具、资源和提示
Transport本地或远程消息通道

这层分离带来复用:同一个 Server 可以服务多个兼容客户端。但也扩大了攻击面——一个工具描述、授权流程或返回内容的错误,会被所有连接它的客户端继承。

MCP 没有替你解决的五件事

BOUNDARY 01

业务语义

协议知道参数叫 status,不知道“已完成”在你的公司究竟意味着什么。

BOUNDARY 02

数据可信度

Resource 能被读取,不代表它新鲜、权威或适用于当前决定。

BOUNDARY 03

最小权限

连接成功不等于应该开放写入、删除和外发。

BOUNDARY 04

失败语义

HTTP 成功不等于业务完成;部分写入、重复调用和超时都要另行定义。

BOUNDARY 05

责任归属

谁批准调用、谁审计结果、谁处理事故,不属于协议自动答案。

最强反对意见:一个 API 就够了,为什么再加一层

对于单一客户端、单一服务、稳定接口,这条反对意见一票否决:直接 API 更简单。只有能力需要被多个 AI 客户端复用、动态发现或统一治理时,MCP 的标准化收益才超过维护成本。

完整案例:搭一张产品研究工作台

虚构场景:产品负责人需要把文件、分析数据和客户问题放进同一研究流程案例为架构演示,不对应真实客户。

不要做一个“万能公司 Server”。我会按信任边界拆成三个:Research Files 只读正式材料;Analytics 只允许参数化查询;Issue Tracker 默认只读,创建或修改必须人工确认。

01
读取研究材料Resource 返回正文、版本、负责人和更新时间;过期材料显式标记。
Read
02
查询指标Tool 只接受指标、时间范围和分组,不开放任意 SQL。
Query
03
形成证据账本所有判断绑定来源 URI 和工具调用记录,不把推断冒充数据。
Ground
04
提交变更建议创建任务前展示完整参数,由人确认;写操作返回业务回执与可撤销标识。
Approve

MCP Server Contract:在 Schema 之外补上治理

MCP SERVER CONTRACTv1.0
<purpose>服务哪类任务;明确不服务什么</purpose>
<primitives>Tools / Resources / Prompts 清单与所有者</primitives>
<semantics>参数定义、单位、时区、枚举、业务完成条件</semantics>
<authority>读取范围、写入范围、确认点、禁止动作</authority>
<failure>超时、部分成功、幂等、重试与回滚规则</failure>
<audit>记录调用者、参数摘要、结果、时间与批准人</audit>
<versioning>兼容策略、弃用周期与撤销方式</versioning>

授权不是登录成功,而是每次都只拿到必要能力

远程 MCP 的授权建立在 OAuth 体系上。实际设计还要防止 confused deputy(混淆代理):攻击者诱导中间服务替自己使用别人的授权。对策包括精确回调地址、短期令牌、作用域分离、禁止令牌透传,以及把写操作与只读操作拆开。

测试破坏方式通过标准
Discovery增加相似工具名模型仍能选对且说明依据
Schema缺字段、错单位、极端值明确拒绝,不猜参数
Privilege用只读令牌请求写入服务端拒绝并留下审计
InjectionResource 内夹入伪指令被视为数据,不覆盖 Host 策略
Failure超时、重复请求、部分写入不重复副作用,状态可恢复

采用 MCP 的判断标准

我会在三个条件同时出现时采用 MCP:能力需要被多个客户端复用;需要标准发现而不是写死调用;团队愿意为权限、版本和审计维护一层产品。如果只是一次脚本或单一后端,直接集成通常更诚实。

MCP 最有价值的地方,不是“什么都能连”,而是让连接成为可发现、可替换、可限制、可审计的基础设施。