MCP ou A2A: qual escolher?
MCP ou A2A é uma dúvida comum para quem começa a construir agentes de inteligência artificial. A resposta curta é que os dois atuam em camadas diferentes e, na prática, se complementam.
A ascensão dos agentes trouxe uma série de protocolos e especificações voltados para comunicação, integração e orquestração. Entre os mais relevantes do ecossistema atual estão o MCP (Model Context Protocol) e o A2A (Agent2Agent Protocol).
A confusão entre os dois é compreensível. Afinal, ambos envolvem agentes, ambos definem contratos de comunicação e ambos querem expandir as capacidades de sistemas baseados em modelos de linguagem.
Por isso, este artigo apresenta cada protocolo em detalhes e compara suas responsabilidades. Além disso, mostra por que a escolha entre MCP ou A2A não é "um ou outro", mas sim "quando usar cada um".
O que é o MCP
O MCP, ou Model Context Protocol, é uma especificação aberta criada pela Anthropic. Ela padroniza a forma como modelos de linguagem interagem com ferramentas, fontes de dados e serviços externos.
Em dezembro de 2025, a Anthropic doou o protocolo para a Agentic AI Foundation, ligada à Linux Foundation.
Antes do MCP, cada integração entre um modelo e uma ferramenta exigia uma implementação específica. Assim, um agente que precisasse consultar um banco, chamar uma API REST ou executar um script dependia de código customizado para cada caso.
O MCP resolve esse problema com uma arquitetura cliente e servidor. Nela, a aplicação que hospeda o modelo atua como cliente, enquanto as ferramentas ficam expostas por servidores MCP.
A comunicação usa mensagens JSON-RPC 2.0. Na especificação atual, os transportes padrão são o stdio, para processos locais, e o Streamable HTTP, para servidores remotos.
Vale notar que o Streamable HTTP substituiu o antigo transporte HTTP com SSE, citado em muitos materiais mais antigos.
Se você quer uma introdução mais completa, o artigo o que é MCP explica o protocolo desde o início.
Conceitos fundamentais do MCP
O protocolo define três primitivas principais que os servidores podem expor ao cliente.
As tools são funções que o modelo pode invocar.
Cada tool tem um nome, uma descrição e um schema de entrada em JSON Schema. Então, o modelo decide quando chamá-la com base no contexto.
Os resources representam fontes de dados que o modelo pode consultar. Por exemplo, um resource pode ser um arquivo, um registro de banco de dados ou qualquer conteúdo necessário durante o processamento.
Já os prompts são templates prontos que os servidores podem oferecer. Com eles, o servidor influencia a forma como o modelo formula determinadas respostas ou ações.
Como o MCP funciona na prática
Um servidor MCP é um processo que implementa o protocolo e anuncia suas capacidades. O cliente pode ser um host como o Claude Desktop, o Claude Code ou o VS Code.
Esse cliente inicia uma sessão, descobre as tools disponíveis e as repassa ao modelo.
Quando o modelo decide usar uma tool, ele emite uma chamada estruturada. Em seguida, o cliente intercepta essa chamada, envia ao servidor correspondente, recebe o resultado e devolve ao modelo para que ele continue o raciocínio.
Esse ciclo é o coração do padrão ReAct. Ou seja, o modelo raciocina, age por meio de uma tool, observa o resultado e repete até concluir a tarefa.
Onde o MCP se encaixa
O MCP é um protocolo de integração vertical. Ele conecta um agente às suas ferramentas e fontes de dados, sempre em uma relação entre o agente e um recurso que ele consome.
Por outro lado, o MCP não define como vários agentes autônomos conversam entre si. Ele também não estabelece contratos para delegar tarefas entre sistemas independentes, e é justamente essa lacuna que o A2A preenche.
O que é o A2A
O A2A, ou Agent2Agent Protocol, é uma especificação anunciada pelo Google em abril de 2025 para padronizar a comunicação entre agentes de inteligência artificial. Em junho de 2025, o Google doou o projeto para a Linux Foundation.
Entre os membros fundadores dessa nova fase estão AWS, Cisco, Microsoft, Salesforce, SAP e ServiceNow.
Enquanto o MCP cuida da relação entre um agente e suas ferramentas, o A2A cuida da relação entre agentes distintos. Dessa forma, o protocolo define como um agente descobre, invoca e colabora com outro de forma estruturada e interoperável.
O A2A usa tecnologias web conhecidas, como HTTP, JSON e JSON-RPC, sem protocolos proprietários.
Além disso, as versões mais recentes permitem anunciar endpoints em JSON-RPC, gRPC ou HTTP com JSON. Isso facilita a adoção em empresas que já trabalham com serviços REST.
No balta.io, o artigo sobre comunicação entre agentes com o protocolo A2A mostra o protocolo em ação no ecossistema .NET.
Conceitos fundamentais do A2A
O protocolo organiza a comunicação em torno de alguns conceitos centrais.
O Agent Card é um documento JSON que cada agente publica em um endereço conhecido. Ele descreve as capacidades do agente, as skills, os formatos de entrada e saída e a autenticação exigida.
Na prática, o Agent Card funciona como um contrato de serviço, parecido com um documento OpenAPI, só que para agentes.
Nas primeiras versões, esse documento ficava em /.well-known/agent.json. Hoje, o caminho canônico é /.well-known/agent-card.json, e a versão 1.0 também prevê cartões assinados com JSON Web Signature.
As tasks são a unidade fundamental de trabalho. Um agente cliente envia uma task a um agente servidor, e essa task pode evoluir ao longo do tempo por meio de atualizações de estado.
As messages e parts estruturam a conversa dentro de uma task. Assim, uma mensagem pode conter texto, arquivos ou dados estruturados, o que permite trocas ricas e multimodais.
Por fim, os artifacts são os resultados produzidos ao concluir uma task. Eles podem ser arquivos, relatórios, código ou qualquer outro produto do processamento.
Modos de comunicação no A2A
O A2A suporta diferentes padrões de interação entre agentes.
No modo síncrono, o cliente envia uma task e aguarda a resposta imediata. Portanto, esse modo combina com tarefas curtas e previsíveis.
No modo assíncrono, o cliente envia a task, recebe um identificador e consulta o estado até a conclusão. Além disso, o protocolo prevê notificações push, em que o servidor avisa o cliente por um webhook quando algo muda.
No modo streaming, o servidor envia atualizações incrementais via SSE enquanto processa a task. Com isso, o cliente recebe eventos em tempo real, o que é ideal para geração de texto ou análise de documentos extensos.
Onde o A2A se encaixa
O A2A é um protocolo de integração horizontal. Ele conecta agentes entre si e permite que sistemas autônomos colaborem sem compartilhar código, infraestrutura ou contexto interno.
Por exemplo, um orquestrador pode invocar um agente especializado em análise de código sem saber como ele funciona por dentro. Nesse caso, o contrato é formado pelo Agent Card e pela estrutura de tasks.
MCP ou A2A: comparação direta
A diferença entre MCP ou A2A fica mais clara quando avaliamos os dois protocolos lado a lado em dimensões específicas.
| Dimensão | MCP | A2A |
|---|---|---|
| Propósito | Conecta um agente a ferramentas e dados | Conecta agentes distintos entre si |
| Direção | Vertical, do agente para os recursos | Horizontal, entre pares ou hierarquias |
| Transporte | JSON-RPC 2.0 sobre stdio ou Streamable HTTP | HTTP com JSON-RPC, gRPC ou HTTP com JSON, e SSE para streaming |
| Unidade de interação | Tool call, uma invocação pontual | Task, com estado e vários artefatos |
| Descoberta | Tools listadas na sessão | Agent Card em endereço conhecido |
| Origem | Anthropic | |
| Governança atual | Agentic AI Foundation (Linux Foundation) | Linux Foundation |
O propósito central é o ponto de partida. O MCP conecta um agente às suas ferramentas, enquanto o A2A conecta agentes diferentes que precisam trabalhar juntos.
A unidade de interação também muda bastante. No MCP, a tool call é uma invocação pontual, enquanto no A2A a task pode ter estado, evoluir ao longo do tempo e produzir vários artefatos.
Na descoberta, o MCP expõe as tools durante a inicialização da sessão, e o modelo as recebe como parte do contexto. Já o A2A usa o Agent Card publicado em um endpoint, o que permite descoberta dinâmica por qualquer cliente compatível.
Quanto à maturidade, o MCP já tem um ecossistema consolidado.
Segundo a Anthropic, em dezembro de 2025 havia mais de 10 mil servidores MCP públicos ativos. Enquanto isso, o A2A já reúne mais de 100 empresas apoiando o projeto.
Por que MCP ou A2A não é uma escolha exclusiva
A pergunta "MCP ou A2A?" parte de uma premissa incorreta, a de que os dois protocolos disputam o mesmo espaço.
Na prática, um sistema multiagente bem arquitetado usa os dois. O MCP resolve como cada agente acessa suas ferramentas, enquanto o A2A resolve como os agentes conversam entre si.
Exemplo de MCP e A2A na revisão de código
Imagine um sistema de revisão de código formado por vários agentes especializados. Ele tem um orquestrador, um agente de análise estática, um agente de sugestões e um agente de relatórios.
O agente de análise estática usa MCP para chamar ferramentas como o Roslyn, linters e o sistema de arquivos. Ou seja, internamente ele depende do MCP para executar suas capacidades.
Já o orquestrador usa A2A para delegar trabalho.
Primeiro, ele envia uma task ao agente de análise estática e recebe os artefatos. Em seguida, repassa o material ao agente de sugestões, também via A2A.
Cada agente é autônomo e usa MCP nas integrações internas, enquanto o A2A gerencia a comunicação entre eles. Assim, os dois protocolos convivem sem conflito, porque atuam em camadas diferentes.
MCP e A2A no padrão que está emergindo
O ecossistema de agentes está convergindo para uma arquitetura de duas camadas.
Na camada de ferramentas, o MCP virou o padrão de fato. A adoção massiva, o suporte nativo em ferramentas populares e a quantidade de servidores disponíveis consolidam essa posição.
Na camada de orquestração, o A2A é o candidato mais forte para padronizar a conversa entre agentes. Afinal, a especificação é clara, o modelo baseado em HTTP é familiar e o Agent Card resolve a descoberta de forma elegante.
A Microsoft reforça essa leitura. O Microsoft Agent Framework usa MCP para dar ferramentas aos agentes e oferece integração com A2A tanto para expor agentes quanto para chamar agentes remotos.
Se você ainda não conhece o framework, a visão geral do Microsoft Agent Framework é um bom ponto de partida.
Quando priorizar MCP ou A2A
Embora sejam complementares, em alguns cenários um protocolo pesa mais que o outro no curto prazo.
Priorize o MCP quando o objetivo é conectar um agente a ferramentas e serviços externos. Leitura de arquivos, consultas a bancos, chamadas a APIs e execução de scripts são domínio do MCP.
Em outras palavras, se o problema é "meu agente precisa acessar X", a resposta é MCP.
Priorize o A2A quando o objetivo é construir um sistema em que vários agentes colaboram de forma autônoma. Nesse caso, a pergunta é como o orquestrador delega trabalho a agentes especializados de forma padronizada, e a resposta é A2A.
Use os dois quando a arquitetura envolve agentes que colaboram entre si e também dependem de ferramentas externas. Na verdade, esse é o caso da maioria dos sistemas multiagente em produção, o que reduz a dúvida entre MCP ou A2A a uma questão de camada.
Uma regra prática ajuda a decidir. Se do outro lado existe uma função determinística, use MCP, mas se existe outro agente com autonomia para raciocinar e negociar, use A2A.
Implementando MCP ou A2A em conjunto
Ao adotar os dois protocolos juntos, algumas práticas facilitam a manutenção e a evolução do sistema.
Primeiro, defina limites claros de responsabilidade para cada agente, porque isso evita acoplamento desnecessário. Um agente deve expor via A2A apenas as capacidades que outros agentes precisam e usar MCP para tudo que é interno ao seu funcionamento.
Em seguida, versione os Agent Cards, principalmente em sistemas com vários times. Afinal, mudar as skills de um agente exige o mesmo cuidado de mudar uma API pública.
Também monitore as tasks A2A com a mesma atenção dedicada a chamadas de API convencionais. Timeouts, retries e tratamento de falhas importam tanto no A2A quanto em qualquer arquitetura de microsserviços.
Além disso, centralize o gerenciamento dos servidores MCP em um registro compartilhado. Com isso, os times encontram e reaproveitam ferramentas com mais facilidade dentro da organização.
Por fim, trate a segurança como requisito desde o início. A especificação do MCP pede, por exemplo, que servidores Streamable HTTP validem o cabeçalho Origin e implementem autenticação.
Da mesma forma, o A2A declara os esquemas de autenticação aceitos no próprio Agent Card.
Conclusão
O MCP e o A2A são protocolos complementares que resolvem problemas distintos na arquitetura de sistemas baseados em agentes de inteligência artificial.
O MCP padroniza a relação entre um agente e as ferramentas que ele consome. Já o A2A padroniza a relação entre agentes que colaboram em sistemas multiagente.
Portanto, a escolha entre MCP ou A2A não é exclusiva. Sistemas robustos usam o MCP para que cada agente acesse seus recursos com consistência e o A2A para que os agentes se comuniquem com interoperabilidade.
À medida que o ecossistema amadurece, a tendência é que os dois se consolidem como infraestrutura padrão. Foi o que aconteceu com HTTP e JSON na base das APIs web.
Assim, entender o papel de cada um é o primeiro passo para arquitetar sistemas multiagente poderosos, fáceis de manter e interoperáveis.
FAQ
O MCP é exclusivo para modelos da Anthropic?
Não. O MCP é uma especificação aberta, hoje sob a Agentic AI Foundation, e funciona com modelos da OpenAI, do Google, modelos locais e outros.
O A2A substitui o MCP?
Não. Os dois atuam em camadas diferentes, já que o MCP conecta agentes a ferramentas e o A2A conecta agentes entre si.
Posso usar A2A sem MCP?
Sim. Contudo, na prática, quase todo agente útil precisa de alguma integração com ferramentas externas, o que torna o MCP relevante na maioria dos cenários.
O A2A é estável o suficiente para produção?
A especificação evoluiu bastante desde o lançamento e hoje está sob governança da Linux Foundation. Mesmo assim, acompanhe as atualizações e adote versionamento desde o início.
O Microsoft Agent Framework suporta os dois protocolos?
Sim. O framework usa MCP para que os agentes acessem ferramentas externas e oferece integração com A2A para expor e consumir agentes remotos.
Onde encontro servidores MCP prontos para uso?
O repositório modelcontextprotocol/servers no GitHub mantém servidores de referência. Além disso, existe o MCP Registry e integrações nativas em ferramentas como Claude Desktop, Claude Code e VS Code.
Como um agente A2A descobre outros agentes?
Por meio do Agent Card publicado em /.well-known/agent-card.json. O orquestrador pode consultar esse endereço diretamente ou usar um registro centralizado de agentes.