Two Standards, One Stack
The AI agent ecosystem is developing two foundational protocols simultaneously, and they are frequently confused with each other. Getting the distinction right is critical to designing multi-agent systems that actually work.
MCP (Model Context Protocol) — developed by Anthropic, now multi-vendor — defines how an AI agent connects to *external tools and services*: databases, APIs, file systems, SaaS platforms.
A2A (Agent-to-Agent Protocol) — developed by Google, open-sourced May 2025 — defines how AI agents communicate *with each other*: task delegation, capability discovery, result hand-off.
They solve different layers of the same problem:
┌─────────────────────────────────────────────────────────────┐
│ AGENT COMMUNICATION STACK │
│ │
│ Layer 3 — Business Logic │
│ ┌─────────┐ A2A Task ┌─────────┐ │
│ │ Agent A │ ────────────> │ Agent B │ │
│ │ │ <──────────── │ │ │
│ └─────────┘ A2A Result └─────────┘ │
│ │ │ │
│ Layer 2 — Tool Connectivity (MCP) │
│ │ │ │
│ ┌────┴───┐ ┌─────┴──┐ │
│ │ GitHub │ │Supabase│ │
│ │ MCP │ │ MCP │ │
│ └────────┘ └────────┘ │
│ │
│ Layer 1 — LLM Inference (Anthropic / OpenAI / Gemini) │
└─────────────────────────────────────────────────────────────┘
How A2A Works
Every A2A-compliant agent publishes an Agent Card — a JSON manifest at /.well-known/agent.json that describes:
{
"name": "Document Summariser",
"description": "Summarises documents up to 100,000 tokens",
"version": "1.2.0",
"capabilities": [
{ "id": "summarise", "inputSchema": { "text": "string" }, "outputSchema": { "summary": "string" } }
],
"endpoint": "https://api.agentdyne.com/v1/agents/doc-summariser/a2a",
"auth": { "type": "bearer" }
}
A calling agent sends a Task to this endpoint:
POST /.well-known/agent.json (caller discovers card)
POST /agents/doc-summariser/a2a
{
"id": "task-abc123",
"capability": "summarise",
"input": { "text": "Full document text here..." }
}
The target agent processes the task and returns a TaskResult. If the task is long-running, it returns a streaming response or a task ID for polling.
MCP vs A2A: When to Use Each
| Scenario | Protocol | Why |
|---|---|---|
| Agent reads from a database | MCP | Connecting to external tool |
| Agent calls GitHub to create an issue | MCP | External API access |
| Orchestrator delegates to a specialist | A2A | Agent-to-agent delegation |
| Two agents collaborate on a shared task | A2A | Peer-to-peer coordination |
| Agent uses a calculator function | MCP | Tool execution |
| Agent asks another agent to check compliance | A2A | Cross-agent capability |
AgentDyne A2A Support
As of v2.1.0, every AgentDyne agent automatically:
/.well-known/agent.json derived from the agent's registered schema/api/agents/{id}/a2aThis means any two AgentDyne agents can collaborate without a central orchestrator. The marketplace becomes a peer network, not a hub-and-spoke system.
What This Enables
The combination of MCP (vertical — agent to tool) and A2A (horizontal — agent to agent) creates a fully addressable intelligence layer:
This is the agent internet. It is being built right now.