MCP solves 'how an agent calls tools'; A2A solves a different dimension: 'how an agent calls another agent'. a2aproject/A2A, contributed by Google and hosted by the Linux Foundation, aims to break the silos between agents across frameworks, companies, and servers. Four design choices are worth remembering: the transport is JSON-RPC 2.0 over HTTP(S), the most mature and interoperable RPC convention on the internet; capability discovery uses the Agent Card, a metadata card describing 'what this agent can do and how to connect'; interaction supports synchronous request/response, SSE streaming, and async push notifications; data exchange covers text, files, and structured JSON. It ships six SDKs (Python, Go, JS, Java, .NET, Rust) and offers a short course with DeepLearning.AI.
For Zero to Pro Agent Harness learners, A2A's value is that it abstracts 'multi-agent collaboration' from any single framework's API into an interoperable protocol: you don't need all agents to live in the same framework — as long as they speak A2A, you can orchestrate them into sequential or hierarchical workflows across frameworks. The A2A-vs-MCP division of labor is the key to multi-agent architecture in the course: MCP handles 'agent ↔ tool', A2A handles 'agent ↔ agent'. For Zero to Codex learners, understanding A2A widens the view from 'one Codex instance' to 'many agents each doing their job and delegating to each other' — the preamble to the course's later 'from single agent to multi-agent' lesson.