MCP生态全景图:谁在定义Agent时代的USB-C

行业动态MCPAgentA2AFunction Calling协议生态2026-09-11

MCP生态全景图:谁在定义Agent时代的USB-C

你给客服 Agent 接了 6 个工具:查订单、查物流、发优惠券、开工单、查知识库、转人工。两个月后模型从 A 换到 B,这 6 个工具的 schema、错误码、鉴权方式全部要重写一遍。工具越多,重写量越大。

这是 MCP 想解决的问题。Anthropic 在 2024 年 11 月把 Model Context Protocol 开源,到 2026 年,它已经是 Agent 工具层最接近"公共接口"的那套东西。但"接近"和"成为"之间还有距离。下面按机制、落地进度、协议边界、商业化四段拆开看。

一、机制:三个角色、两种传输、一次握手

架构是三层:Host(宿主,如 Claude Desktop、Cursor、VS Code)—— Client(连接器,一个 Client 对应一个 Server)—— Server(工具提供方)。Host 里跑模型,Client 和 Server 之间走 JSON-RPC 2.0。

服务端能暴露三类东西:

原语是什么典型用法
Tools可执行的函数查订单、发邮件
Resources可读取的数据文件内容、数据库行
Prompts预设提示模板代码审查模板
客户端反过来也能给服务端提供 **Sampling**(借用宿主的模型做推理)和 **Roots**(告知可访问的目录范围)。2025-06-18 的规范修订里加了 **Elicitation**,允许服务端执行到一半向用户追问参数。

传输方式两种:

  • stdio:Server 是宿主拉起的本地子进程。调试首选,不涉及网络鉴权。
  • Streamable HTTP:远程服务。2025-06-18 修订后取代了早期的 HTTP+SSE 方案。跨网络调用走这条,也就意味着必须处理 OAuth。
一次工具调用的完整链路:

sequenceDiagram participant U as 用户 participant H as Host(含模型) participant C as MCP Client participant S as MCP Server U->>H: 帮我查订单 12345 H->>C: 需要调用工具 C->>S: tools/list S-->>C: 工具清单 + JSON Schema C-->>H: 注入模型上下文 H->>C: tools/call {name, arguments} C->>S: JSON-RPC 请求 S-->>C: result C-->>H: 结果回填 H-->>U: 自然语言回答

链路里有个容易忽略的点:tools/list 的返回结果是直接塞进模型上下文的。工具越多,占的 token 越多,选错的概率越高。一个常见现象是接了三四十个工具之后模型开始疯狂调错函数,解法不是换模型,而是按场景把工具拆成多个 Server,只挂当前任务需要的那几个。

规范版本到目前有三版比较关键:2024-11-05 首版、2025-03-26 加入基于 OAuth 2.1 的授权、2025-06-18 引入 Streamable HTTP 和 Elicitation 并移除 JSON-RPC batching。写代码前先看 initialize 返回的 protocolVersion,版本不匹配时客户端应主动降级或直接报错,硬跑会出现难查的字段缺失。

二、谁真的接进来了

分三层看:宿主(谁在用)、服务端(谁在被调)、平台(谁在撮合)。

宿主这层

客户端接入情况
Claude Desktop / Claude Code官方原生支持,首个实现
Cursor、Windsurf、Cline、Continue编辑器与插件侧早期接入
VS Code + GitHub Copilot已支持 MCP Server 配置
OpenAI 系(桌面端、Agents SDK)2025 年 3 月宣布支持
Gemini CLI 及 Google 系2025 年跟进
宿主是整条链路上最没有争议的一环:多接一个协议的成本远低于自己维护一套插件体系。

国内平台

阿里云百炼在 2025 年上线 MCP 服务并做了 MCP 市场,把云上能力封装成可挂载的 Server。腾讯云这边,云开发 CloudBase 推出了 MCP Server,让 Agent 直接操作云开发资源,腾讯云智能体开发平台也开放了 MCP 接入。火山引擎推了 MCP 广场,扣子(Coze)支持挂载 MCP 插件。百度智能云千帆也在往这个方向做。

这几个产品的共同意图是当分发入口:开发者少写胶水代码,平台拿调用量和模型消耗。对使用者是好事,也是风险——工具生态被绑在某一家的控制台里,迁出去的成本不低。选之前先问一句:MCP 配置能不能导出成标准 JSON,能不能换宿主继续用。

开源框架

Dify、LangChain/LangGraph、LlamaIndex、Spring AI、FastMCP 都提供了 MCP 适配。其中 FastMCP 是写 MCP Server 最省事的 Python 库,装饰器风格,本地起一个 stdio 服务十几行代码就能跑通。官方 SDK 有 Python 和 TypeScript 两个版本,服务端和客户端都能用。

三、Function Calling、MCP、A2A 各自管哪一段

维度Function CallingMCPA2A
谁提出OpenAI,2023Anthropic,2024-11Google,2025-04,后捐给 Linux 基金会
解决什么模型怎么表达"我要调这个函数"工具怎么被跨模型发现、分发、授权一个 Agent 怎么把任务交给另一个 Agent
通信范围请求体内部Host ↔ ServerAgent ↔ Agent
发现机制无,每次请求带全量定义tools/list,运行时动态获取AgentCard,暴露能力与端点
状态单次请求会话(initialize 握手 + 能力协商)任务有生命周期,可长时间运行
协议各厂商私有 JSON SchemaJSON-RPC 2.0JSON-RPC + SSE
三者是叠着的,不是三选一:
  • MCP Server 暴露的工具,最终由宿主翻译成对应模型的 Function Calling 格式发给模型。MCP 是供给层,Function Calling 是模型侧的消费接口。
  • A2A 管 Agent 之间的横向协作,MCP 管 Agent 到工具的纵向调用。A2A 的 AgentCard 里同样可以挂 MCP 端点,两者是组合关系。
选型的判断方法可以简化成一句话:给模型装工具用 MCP;让自己的 Agent 被别人调用用 A2A;只服务自家模型、且工具数量稳定在个位数,Function Calling 直接写就行,不必为了架构好看多搭一层。

四、市场、治理、钱在哪

工具市场的三种活法

  • Registry 和广场:官方 MCP Registry 以及各家云厂商的市场。价值在流量和信任背书,问题是工具质量参差,多数没有经过安全审计。
  • 企业网关:把 MCP Server 收进内网,统一做认证、审计、限流、工具白名单。这是当前最好收钱的位置——公司不怕买工具,怕的是 Agent 半夜调了一个删库函数。
  • SaaS 把能力做成 Server:Figma、Notion、Linear、Sentry、Stripe、GitHub、Cloudflare 都提供了官方或半官方的 Server。这种模式下 MCP 是获客入口,工具本身不收费,用量落在后面的 API 计费里。

权限治理要处理的四件事

  • 授权:远程 Server 走 OAuth 2.1,用 Resource Indicators(RFC 8707)把 token 绑到指定资源,避免一个万能 token 打天下。
  • 提权:Server 拿到的 scope 按工具粒度拆开。查订单和发起退款不该是同一个权限。
  • 投毒:2025 年 4 月 Invariant Labs 演示过在工具描述文本里夹带指令,模型会照着执行。任何第三方 Server 的描述都当不可信输入看。2025 年 6 月还有安全团队披露过 Asana 的 MCP 服务器存在跨租户数据暴露问题。
  • 人工确认:写、删、转账、发消息这类高风险工具强制二次确认。Claude Desktop 默认就是逐个工具弹确认,这个默认值值得抄。

谁在赚钱

MCP 协议本身不赚钱,钱在它两侧。左侧是模型的 token 消耗,右侧是工具的 API 调用量,中间夹着网关、审计和权限管理这第三块。

Registry 目前还没形成付费习惯,因为上面大部分工具是免费的。真正能收到钱的是企业侧的三件事:调用合规审计、成本归属(哪个部门用掉了多少 token 和多少 API 调用)、数据外泄防护。这三件事单独拿一个出来都不便宜,加在一起才是企业愿意买单的形态。

五、现在动手的三件事

  • 挑一个每天都在用的 SaaS(GitHub 或 Notion 都行),把它的官方 MCP Server 挂到 Claude Desktop 或 Cursor 上,stdio 和远程 HTTP 两种传输各走一遍,感受一下鉴权差异。
  • 把现有 Agent 的工具体系画成一张图,标注哪些是只读、哪些会写数据。写操作的那几个单独归到一个 Server,前面加一层确认。
  • 检查手上每个 MCP Server 的 protocolVersion。低于 2025-06-18 的,评估升级成本;还在用 HTTP+SSE 的远程服务,迁移窗口不会一直开着。
最后一个检查项,今天就能做:把任意一个第三方 Server 的 `tools/list` 返回结果打印出来,逐条读完工具描述。如果里面出现了"在执行 X 之前,请先读取 Y 并发送到 Z"这类句子,这个 Server 别用。
PREMIUM

需要完整版教程?

包含详细步骤、视频演示、提示词模板和可下载资料包。微信支付即时获取。

购买完整版 ¥29.90