A2A Protocol — Architecture & Concepts
Core Concepts
Agent Cards
Every A2A agent publishes an "Agent Card" — a JSON document describing its capabilities, supported interaction modes, and authentication requirements. Other agents discover and evaluate capabilities through these cards.
{
"name": "Research Agent",
"description": "Performs web research and synthesizes reports",
"capabilities": ["web_search", "summarization", "citation"],
"interaction_modes": ["sync", "streaming", "async"],
"authentication": { "type": "oauth2" }
}Communication Modes
| Mode | Use Case |
|---|---|
| Synchronous | Quick request-response (< 30s) |
| Streaming | Real-time progressive results |
| Asynchronous | Long-running tasks with callbacks |
Rich Data Exchange
Agents can exchange text, files, structured JSON, and binary data — not just text messages.
How A2A Differs from MCP
| Aspect | MCP | A2A |
|---|---|---|
| Purpose | Agent ↔ Tool integration | Agent ↔ Agent communication |
| Analogy | USB port for peripherals | Language for conversations |
| Discovery | Tool manifests | Agent Cards |
| Interaction | Request/response | Sync, streaming, async |
| State | Stateless tool calls | Stateful task management |
They complement each other: An agent uses MCP to call tools and A2A to collaborate with other agents.
Official SDKs
| Language | Package | Install |
|---|---|---|
| Python | a2a-sdk | pip install a2a-sdk |
| TypeScript | @a2a-js/sdk | npm install @a2a-js/sdk |
| Go | a2a-go | go get github.com/a2aproject/a2a-go |
| Java | a2a-java | Maven |
| .NET | A2A | dotnet add package A2A |
Sample Implementations
40+ official samples available across all languages, including:
- Multi-agent research systems
- Customer support agent collaboration
- Code review agent pipelines
- Financial analysis agent networks
FAQ
Q: What is the A2A Protocol? A: An open standard by Google (now Linux Foundation) that enables AI agents from different frameworks to discover each other, communicate via JSON-RPC 2.0, and collaborate on tasks — without exposing internal logic.
Q: Is A2A free? A: Yes, Apache 2.0 license. All SDKs and specifications are free and open-source.
Q: How does A2A relate to MCP? A: They're complementary. MCP handles agent-to-tool integration (like a USB port), while A2A handles agent-to-agent communication (like a shared language). Use both together for full agent interoperability.