MCP 协议:Agent 的”USB 接口”

本条目是「多工具协同方法论」的第 7 部分,对应学习清单条目 5.3.1。

前置依赖:工具选型原则、MCP工具选型

为以下铺垫:A2A协议、ACP协议


一、核心观点

MCP(Model Context Protocol,模型上下文协议)是 Agent 的「USB 接口」——它解决”Agent 怎么标准化地调外部工具/数据源”,把 N×M 的对接成本压成 N+M。

没有它,每接一个工具都要写一套胶水代码;有了它,写一个 Server,任何兼容 Agent 都能用。


二、定义与原理

2.1 是什么

  • MCP(Model Context Protocol,模型上下文协议):Anthropic 于 2024-11 开源,2025-12 捐赠给 Linux Foundation 的 AAIF(Agentic AI Foundation)

  • 作用:统一 Agent 与外部工具/数据源的通信格式

  • 地位:OpenAI / Google / Microsoft / AWS / Cloudflare 全部原生支持,已成事实标准

2.2 类比:USB 接口

就像 USB 让电脑统一接键盘、硬盘、摄像头,MCP 让 Agent 统一接数据库、GitHub、Slack——不用为每个外设单独焊接口

2.3 三类原语(primitives)

原语谁控制作用
tools模型控制可调用的动作(API 调用、写文件)
resources应用控制只读数据(文件、数据库内容)
prompts用户触发模板化工作流

这种区分是有意的安全设计:把”能自动发起什么”和”需要人/应用批准什么”分开。


三、工作原理(Mermaid)


sequenceDiagram

    participant A as Agent

    participant C as MCP Client

    participant S as MCP Server

    participant T as 工具 / 数据源

    A->>C: initialize(握手)

    C->>S: tools/list(发现)

    S-->>C: 返回工具清单

    A->>C: tools/call(调用)

    C->>S: 执行工具

    S->>T: 调外部系统

    T-->>S: 结果

    S-->>C: 结果

    C-->>A: 结构化 JSON 结果

  • 传输:本地用 stdio,远程/企业用 Streamable HTTP(2025-06 生产可用),认证走 OAuth 2.1 + PKCE

  • 核心循环initializetools/listtools/call,一切走结构化 JSON


四、优势

  • 标准化:一次实现,处处可用(N+M 而非 N×M)

  • 生态丰富:1 万+ 生产 Server,覆盖开发工具/业务应用/数据库/CRM/云

  • 安全:OAuth/OIDC、mTLS、细粒度授权 scope、输入校验、审计日志

  • ❌ 远程 Streamable HTTP 与负载均衡在”有状态会话 + 水平扩展”上仍有张力(2026 路线图在解)


五、优劣势小结

一句话:MCP 管”Agent 调工具”,是 agent-to-tool 层。和 A2A(agent-to-agent)互补,不是替代(见 A2A 协议)。维修厂比喻:MCP 管”员工用扳手”,A2A 管”员工之间沟通”。


六、最新研究与企业数据(2024–2026)

  • 9700 万次月下载(2026-03):从 2024-11 的约 200 万涨到 9700 万,16 个月约 4750%,比 React 当年快得多。

  • 生产规模:Uber 内部有 1500+ 月活 Agent、6 万+ 周执行,用内部 MCP 网关把 1 万+ 服务自动变成 Agent 可查询目录;Bloomberg、PwC 等也已生产部署。

  • 安全现实:2026 年初 30+ 个 CVE(含 CVSS 9.6 RCE);Equixly 研究发现约 43% 被测 MCP 实现存在命令注入——接社区 Server 必须限权限 + 审计。


七、学习资源


核心要点

  • 一句话:MCP = Agent 的 USB 接口,统一”Agent 调工具”,把 N×M 压成 N+M。

  • 三类原语:tools(模型控)/ resources(应用控)/ prompts(用户触发)——安全隔离。

  • 传输:本地 stdio,远程 Streamable HTTP + OAuth 2.1。

  • 规模锚点:9700 万月下载(2026-03),1 万+ 生产 Server,已归 Linux Foundation。

  • 互补:MCP 管工具,A2A 管 Agent 间通信。


参考来源(一手链接 · 可溯源深挖)

速记卡(面试闪卡)

Q1:一句话讲清「MCP 协议:Agent 的”USB 接口”」到底是什么?

A:MCP 协议是 Agent 的「USB 接口」,标准化解决「Agent 怎么调外部工具/数据源」,把 N×M 的对接成本压成 N+M,已成事实标准。

Q2:核心观点:USB 接口类比 —— 怎么理解?

A:没有 MCP,每接一个工具都要写一套胶水代码;有了它,写一个 Server 任何兼容 Agent 都能用——就像 USB 让电脑统一接键盘、硬盘、摄像头,不用为每个外设单独焊接口。

Q3:定义与三类原语 —— 怎么理解?

A:MCP 由 Anthropic 2024-11 开源、2025-12 捐给 Linux Foundation 的 AAIF;三类原语是有意的安全设计:tools(模型控,可调动作)、resources(应用控,只读)、prompts(用户触发)——把「能自动发起什么」和「需人批准什么」分开。

Q4:工作原理与传输 —— 怎么理解?

A:核心循环 initialize → tools/list → tools/call,全走结构化 JSON;本地用 stdio,远程/企业用 Streamable HTTP(带 OAuth 2.1+PKCE)——本质是把「发现工具→调用→拿结果」标准化。

Q5:优势、局限与企业数据 —— 怎么理解?

A:优势是标准化/生态丰富(1 万+ Server)/安全;局限是远程 HTTP 与有状态水平扩展仍有张力;数据上 2026-03 月下载 9700 万次,Uber 1500+ 月活 Agent,但 43% 实现存命令注入——接社区 Server 要限权+审计。

Q6:核心速记主线有哪些?

  • 核心:Agent 的 USB 接口,N×M 压成 N+M

  • 三类原语:tools/resources/prompts 权责分离

  • 原理:initialize→list→call,stdio 本地 / HTTP 远程

  • 优势:标准化+生态+安全;互补 A2A(管工具 vs 管 Agent 间)

  • 数据:9700 万月下载、Uber 生产、43% 命令注入风险

口诀

A:MCP 像 USB,对接成本省一半;

三类原语分权责,tools 资源 prompts 管;

本地 stdio 远程 HTTP,认证 OAuth 不难;

下载近亿权限审,社区 Server 要设限。

相关链接