Ch15 Agent通信协议修订于 二〇二六年七月六日
对比-MCPvsA2A
概述
MCP(Model Context Protocol)和 A2A(Agent-to-Agent Protocol)是 2025-2026 年涌现的两个关键协议,分别解决 Agent 生态中不同层面的互操作问题。
核心对比
| 维度 | MCP | A2A |
|---|---|---|
| 全称 | Model Context Protocol | Agent-to-Agent Protocol |
| 提出方 | Anthropic | |
| 管什么 | 工具连接:Agent 如何发现和调用外部工具/数据源 | Agent 通信:Agent 之间如何协作与任务委派 |
| 协议方向 | 纵向:Agent ↔ 工具/资源 | 横向:Agent ↔ Agent |
| 架构模式 | Client-Server(MCP Client ↔ MCP Server) | Peer-to-Peer(Agent ↔ Agent) |
| 核心概念 | Tools、Resources、Prompts | Agent Card、Task、Message、Artifact |
| 传输层 | stdio / HTTP SSE / Streamable HTTP | HTTP + JSON-RPC |
| 安全模型 | 客户端控制授权,按 server 授权 | Agent Card 声明能力,支持 OAuth |
| 2026 生态 | 已广泛采用,工具生态丰富 | 起步阶段,定义 Agent 间协作标准 |
| 互补关系 | MCP 管”Agent 能调什么工具” | A2A 管”Agent 找谁帮忙” |
互补与协同
MCP 和 A2A 解决不同层级的问题,2026 年的典型架构是两者协同:
用户 → 主 Agent(A2A Client)
├── 通过 MCP 调用工具(搜索、数据库、API)
└── 通过 A2A 委派子 Agent(专业分析、代码生成)
└── 子 Agent 通过 MCP 调用自己的工具
MCP 让一个 Agent 能做事,A2A 让多个 Agent 能协作。
选型建议
- 只做工具集成(连接数据库、API、文件系统)→ 用 MCP
- 只做 Agent 间协作(任务分发、结果聚合)→ 用 A2A
- 两者都需要 → 同时使用,MCP 做工具层,A2A 做协作层
相关笔记
- 概念-MCP — Model Context Protocol 详解
- 概念-A2A — Agent-to-Agent Protocol 详解
- MCP+A2A 双协议生态 — 两协议协同使用指南
- 第15章 · Agent 之间的通信协议 — Agent 通信协议章节
- 对比-ToolUsevsFunctionCalling — 工具调用机制对比
来源
- MCP 协议规范 (modelcontextprotocol.io, Anthropic, 2024)
- A2A 协议规范 (Google, 2025)
- MCP + A2A 协同架构社区讨论