There’s some confusion about whether MCP and A2A (Agent-to-Agent) are competing standards or solve different problems, so let’s separate them clearly.
MCP is about an agent talking to tools and data sources: it standardizes “here’s what I can call and how.” A2A is about agents talking to other agents: discovery, task delegation, and coordinating work across separate agent systems that don’t share the same process or even the same vendor.
In practice they’re complementary layers: an agent might use MCP to call a database or API, and A2A to hand off a subtask to a specialized agent built by a different team or company entirely. The interesting design question is where you draw that line: when do you build a new tool (MCP) versus spin up a separate agent you delegate to (A2A)?
Anyone actually running both in the same system? Curious how you decided which tasks became “tools” versus “agents you talk to.”