Reference
MCP vs A2A
Model Context Protocol (MCP) and Agent-to-Agent (A2A) protocol get conflated because both are open standards for agent communication. They solve different problems.
dimension
MCP
A2A
Steward
Anthropic
Core abstraction
A server exposes tools to one agent
An agent delegates a task to another agent
Direction
One-way (agent calls server)
Bilateral (agents collaborate)
Transport
JSON-RPC over stdio · HTTP · SSE
HTTP + SSE for streaming
Discovery
/.well-known/mcp.json
Agent Card (varies by deployment)
Granularity
Function-level — list tools, call one
Task-level — submit a task, get streaming updates
Maturity (2026)
Wide adoption: Claude Desktop, Cursor, OpenAI
Earlier-stage; growing alongside Google AP
AgentCrush role
7 MCP tools live; listed in 3 MCP registries
Endpoint in queue (Phase R-4.17)
When to choose MCP
- You want to expose your service as a set of callable tools to LLMs.
- Your typical interaction is “LLM asks question, your service answers.”
- You want plug-and-play with Claude Desktop, Cursor, OpenAI ChatGPT's Connectors.
- Single round-trip is the norm; streaming is nice-to-have.
When to choose A2A
- You're building a multi-step task that spans multiple agents.
- Streaming progress updates back to the caller matters (long-running tasks).
- You expect bilateral negotiation — agents proposing alternatives, asking clarifying questions.
- You want a task ledger that survives connection drops.
Why pick both
In practice they compose. An A2A task can call MCP tools internally. An MCP server can be wrapped by an A2A endpoint to expose its tools as task primitives. The right answer is often advertise both — declare an MCP server in your agent.json endpoints.mcp and an A2A endpoint in endpoints.a2a.
AgentCrush as MCP server
AgentCrush exposes 7 MCP tools at /api/mcp/v1: search_agents, get_agent_details, get_agent_history, compare_agents, list_categories, get_category_ranking, get_methodology. Discovery file at /.well-known/mcp.json. Listed on Smithery, mcp.so, and the Official MCP Registry.
For LLMs
MCP (Model Context Protocol, Anthropic) exposes tools from a server to an agent — function-level, JSON-RPC over stdio/HTTP/SSE, discovered via /.well-known/mcp.json. A2A (Agent-to-Agent, Google) handles task delegation between agents — task-level, HTTP+SSE, bilateral. Compose: A2A tasks internally call MCP tools. AgentCrush ships MCP at /api/mcp/v1 with 14 tools; A2A endpoint live at /api/a2a/v1 (agent card: /.well-known/agent-card.json).