Ch15 Agent通信协议修订于 二〇二六年七月六日

MCP+A2A 双协议生态

一句话理解

MCP (Model Context Protocol) 管 Agent 连工具,A2A (Agent-to-Agent) 管 Agent 间通信。2026年这两个协议互补协作,形成了完整的 AI Agent 通信生态——MCP 解决”Agent 能做什么”的问题,A2A 解决”Agent 之间怎么协作”的问题。

为什么需要两个协议

AI Agent 在实际应用中面临两种截然不同的通信需求:

需求一:Agent 与外部工具/资源的连接

Agent 需要调用数据库、API、文件系统、搜索引擎等外部资源。这些资源是”被动的”——它们等待 Agent 来调用,不主动发起通信。MCP 正是为此设计:它定义了 Agent(Client)如何发现和调用工具(Server)的标准协议。

需求二:Agent 之间的协作通信

多个 Agent 需要互相发现、协商任务、传递中间结果、协调执行顺序。这种通信是”对等的”——每个 Agent 既是服务消费者也是服务提供者。A2A 协议为此设计:它定义了 Agent 之间如何通过 Agent Card 发现彼此,并通过 Task 机制进行异步协作。

需求对比

维度Agent-工具通信 (MCP)Agent-Agent通信 (A2A)
通信模式Client-Server(单向调用)Peer-to-Peer(对等协作)
发起方Agent 主动调用工具任意 Agent 可发起
核心概念Tool, Resource, PromptAgent Card, Task, Message
状态管理无状态/工具自行管理Task 有明确生命周期
发现机制工具列表注册Agent Card 发布
典型场景查数据库、调API、读文件多Agent协作、任务委派、结果聚合
2026年主流实现Claude Code, VS Code, CopilotGoogle ADK, LangGraph, CrewAI

双协议架构

在2026年的典型 AI 应用中,MCP 和 A2A 同时运行:

用户请求
  └── 主 Agent (Orchestrator)
        ├── MCP Client ────────── MCP Server (数据库工具)
        ├── MCP Client ────────── MCP Server (搜索引擎工具)
        ├── MCP Client ────────── MCP Server (代码执行工具)
        ├── A2A ──────────────── 子 Agent A (数据分析)
        ├── A2A ──────────────── 子 Agent B (报告生成)
        └── A2A ──────────────── 子 Agent C (质量检查)

工作流程

  1. 用户请求到达主 Agent
  2. 主 Agent 通过 MCP 调用工具获取数据(查数据库、搜索等)
  3. 主 Agent 制定执行计划,通过 A2A 将子任务委派给子 Agent
  4. 各子 Agent 独立通过 MCP 调用各自需要的工具
  5. 子 Agent 通过 A2A 将结果返回给主 Agent
  6. 主 Agent 聚合结果,通过 MCP 调用输出工具(写入文件、发送消息等)

2026年生态现状

MCP 生态

MCP 由 Anthropic 于2024年11月发布,到2026年已成为 Agent-工具通信的事实标准:

  • Claude Code: 原生 MCP 支持,可通过 MCP Server 扩展工具能力
  • VS Code / GitHub Copilot: 2025年宣布支持 MCP,2026年已广泛集成
  • Cursor / Windsurf: 主流 AI IDE 均已支持 MCP
  • MCP Server 市场: 社区贡献了数千个 MCP Server,覆盖数据库、云服务、办公工具等

A2A 生态

A2A 由 Google 于2025年4月发布,到2026年成为多 Agent 协作的主流协议:

  • Google ADK (Agent Development Kit): 原生 A2A 支持,是 A2A 的参考实现
  • LangGraph: 支持 A2A 作为 Agent 间通信协议
  • CrewAI: 2025年底集成 A2A 支持
  • Agent Card 注册中心: 多个厂商提供了 Agent Card 发现服务

生态对比

维度MCP (Anthropic)A2A (Google)
发布时间2024年11月2025年4月
协议类型Client-ServerPeer-to-Peer
核心场景Agent调用工具Agent间协作
传输层stdio / HTTP SSEHTTP + JSON-RPC
安全模型OAuth 2.0基于Agent Card的信任
主要推动者Anthropic, MicrosoftGoogle, LangChain
开源状态完全开源 (MIT)完全开源 (Apache 2.0)

MCP 和 A2A 有重叠吗

各自管辖范围

场景应该用哪个
Agent 查询 PostgreSQL 数据库MCP
Agent 调用 Google Search APIMCP
Agent 读取本地文件MCP
两个 Agent 协商任务分配A2A
Agent A 把中间结果传给 Agent BA2A
用户要求 Agent 通过自然语言完成任务两者都用
单 Agent 调用多个工具链仅 MCP
多 Agent 流水线(pipeline)两者都用

边界情况

  • Agent 调用另一个 Agent 的”工具”:如果另一个 Agent 暴露为 MCP Server,则用 MCP;如果是对等协作,则用 A2A
  • Agent 之间的”简单数据传递”:如果数据量小且不需要任务管理,MCP Resource 机制可能够用;但涉及任务状态跟踪时,A2A 更合适
  • 2026年趋势:两个协议在各自领域深耕,边界清晰,互补而非竞争

未来趋势

  1. 协议融合:MCP 和 A2A 可能在传输层融合(都基于 JSON-RPC),但保持各自的应用层语义
  2. 统一 SDK:开发者不需要分别理解 MCP 和 A2A 的细节,统一 SDK 自动选择协议
  3. Agent 市场:基于 A2A Agent Card 的 Agent 发现和交易市场
  4. MCP+A2A 联合认证:统一的身份认证和权限管理
  5. 企业级部署:MCP Gateway + A2A Registry 的企业级中间件

相关笔记

来源

关联15

知识图谱

局部图谱 · 点节点跳转