Nos perguntam isto em mais ou menos uma a cada duas calls de discovery: "Devemos padronizar em A2A ou MCP?"
A premissa da pergunta está errada. Eles não são competidores. Resolvem problemas diferentes em camadas diferentes, e um sistema saudável com agentes IA usa ambos.
Para que serve o MCP
MCP (Model Context Protocol) é um padrão para superfícies de tool. Responde: como um agente baseado em LLM descobre e chama tools que não fazem parte do seu treinamento? Recuperação de documentos, queries de banco, APIs de calendário, serviços internos — cada tool publica um servidor MCP, o agente conecta, lista capacidades, invoca.
A forma é: um agente ↔ muitas tools. A tool é passiva; o agente decide quando chamar.
MCP te dá: descoberta de schema, parâmetros tipados, retornos estruturados, fronteiras de autenticação, sandboxing. É, essencialmente, um padrão de RPC ajustado para clientes com agentes IA.
Para que serve o A2A
A2A (protocolos Agent-to-Agent, dos quais existem vários — A2A do Google, AGNTCY, outros) é um padrão para colaboração entre agentes. Responde: como múltiplos agentes semi-autônomos coordenam, repassam subtarefas e agregam resultados?
A forma é: agente ↔ agente, com estado. Ambos os lados têm seus próprios loops de raciocínio. Handoffs incluem contexto, resultados intermediários, às vezes a posse de uma subtarefa.
A2A te dá: agent cards (anúncios de capacidade), ciclos de vida de task, troca de mensagens, streaming opcional e human-in-the-loop. Não é RPC — é mais próximo de um sistema de atores tipado.
Por que a confusão
Ambos envolvem agentes conversando com algo via protocolo com payloads estruturados. Ambos produzem JSON. Ambos têm papéis de cliente e servidor. A 30.000 pés parecem a mesma coisa.
Mas o nível de autonomia em cada lado é a distinção real:
- Servidor MCP: passivo. Responde a chamadas. Não tem loop de raciocínio próprio.
- Agente A2A: ativo. Pode recusar tasks, propor alternativas, repassar para outros agentes, pedir esclarecimento.
Se o outro lado é "busque esta linha de um banco de dados", isto é MCP. Se o outro lado é "investigue esta anomalia e me diga o que encontrou", isto é A2A.
A arquitetura que de fato funciona
Em todo sistema multi-agente que entregamos, a quebra fica assim:
- Topo do stack: um orquestrador (frequentemente também um agente) roteia requisições de usuários para agentes especialistas.
- Agentes especialistas se comunicam via A2A. Handoffs preservam contexto; supervisores rastreiam estado de task.
- Especialistas usam tools via MCP. O agente de retrieval tem uma conexão MCP com um banco vetorial e uma conexão MCP com um serviço de fulltext search. O "agente de ops" tem uma conexão MCP com um sistema de tickets.
A2A é como os agentes coordenam. MCP é como cada agente age.
A leitura pragmática
Adote MCP primeiro — resolve o problema mais imediato (conversar com tools), tem o ecossistema mais amplo hoje (a maioria dos provedores de LLM entrega suporte MCP nativo), e o caminho de upgrade de "chamadas de tool ad-hoc" para MCP é direto.
Adote A2A quando você tem mais de um agente que precisa passar trabalho adiante. Se seu sistema tem um único agente + muitas tools, A2A é exagero — você não está coordenando ninguém. No momento em que você adiciona um segundo agente especialista que precisa falar com o primeiro, A2A começa a se pagar.
Não escolha. Empilhe.