Most multi-agent frameworks (LangGraph, CrewAI, Google's ADK) are excellent at coordinating agents that all live inside the same process or the same framework. The harder, more recent problem is coordinating agents that don't share a framework at all — an agent your company built talking to a vendor's agent, or two departments' agents built on different stacks. That's the specific gap A2A was designed to close: a transport- and vendor-neutral way for one agent to discover, authenticate to, and delegate a task to another agent it has never seen before.
How A2A actually works
1. Discovery via Agent Card. An A2A-compliant agent exposes a JSON "Agent Card" (commonly at a well-known URL) describing what it can do, what input/output formats it accepts, and how to authenticate to it.
2. Task delegation over JSON-RPC 2.0. Once a calling agent has read the target's Agent Card, it sends task requests over HTTP using JSON-RPC 2.0 — a lightweight, well-established RPC format, not a bespoke wire protocol.
3. Agents stay opaque to each other. Unlike calling a tool (where you know the exact function signature), A2A treats the other side as an agent with its own reasoning — you delegate a task and get results back, without needing to know how the other agent internally decided to complete it.
// Simplified example of the shape an A2A Agent Card takes
{
"name": "inventory-forecast-agent",
"description": "Forecasts SKU-level demand from historical sales",
"url": "https://agents.example.com/a2a/forecast",
"capabilities": {
"streaming": true
},
"authentication": {
"schemes": ["bearer"]
}
}
| Protocol | Connects | Governance |
|---|---|---|
| Model Context Protocol (MCP) | An agent to tools, data sources, and resources | Open spec, originated at Anthropic |
| Agent2Agent (A2A) | One autonomous agent to another, across frameworks/organizations | Apache-2.0, governed by the Linux Foundation since mid-2025 |
If you're building a single application with one agent calling your own tools, you likely just need MCP (or nothing more than function calling). Reach for A2A specifically when your agent needs to hand off a sub-task to another autonomous agent — a partner company's system, a different internal team's stack, or a third-party agent marketplace — where you can't assume shared code or a shared framework.
Practical Challenge
Read the Agent Card schema in the official A2A specification and sketch one for a hypothetical agent in your own domain — name, description, one capability, and an authentication scheme.
Concept Check
Sources & Further Reading
- Announcing the Agent2Agent Protocol (A2A) — Google Developers Blog — the original announcement explaining A2A's design goals.
- A2A Protocol (GitHub) — the open specification and SDKs, now under Linux Foundation governance.
- Linux Foundation: A2A Protocol Project launch — confirms the governance model and neutral stewardship of the spec.
AI