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

Google

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

When to choose A2A

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).

MCP server →MCP discovery →MCP docs →agent.json →