- Um guia que reúne 6 protocolos de agentes de IA — MCP, A2A, UCP, AP2, A2UI, AG-UI etc. — em um único cenário de agente de cadeia de suprimentos para restaurantes, explicando passo a passo, com código prático, qual problema cada protocolo resolve
- Utiliza o Agent Development Kit (ADK) do Google para partir de um LLM vazio e, adicionando os protocolos um a um, completar verificação de estoque, cotação, pedido, pagamento e renderização de dashboard
- O MCP cuida da conexão com ferramentas/dados, o A2A da comunicação entre agentes, o UCP da padronização do comércio, o AP2 da autorização de pagamentos, o A2UI da composição de UI e o AG-UI da entrega em streaming
- Cada protocolo compartilha padrões comuns, como discovery via URL bem conhecida, esquemas tipados e fluxos de eventos padronizados, garantindo compatibilidade no ecossistema
- Em vez de adotar os 6 logo no primeiro dia, a recomendação é uma abordagem de adição gradual conforme a necessidade
MCP(Model Context Protocol) — conexão com ferramentas e dados
- É o protocolo que resolve a primeira barreira ao conectar agentes a sistemas e dados, eliminando o trabalho manual de escrever código de integração customizado para cada API
- Quando um servidor MCP anuncia (advertise) suas ferramentas, o agente faz o discovery automaticamente, oferecendo um único padrão de conexão para centenas de servidores
- Como o servidor MCP é mantido pela equipe que criou aquele sistema, o lado do agente não precisa escrever nem atualizar código de integração para sempre obter as definições de ferramentas mais recentes
- No ADK, há suporte de primeira classe via McpToolset e, no exemplo, são implementadas consulta a banco PostgreSQL (MCP Toolbox for Databases), consulta de receitas via Notion MCP e envio de e-mail a fornecedores via Mailgun MCP
ToolboxToolset para conectar o banco de estoque
McpToolset para conectar serviços externos como Notion e Mailgun
- Um padrão simples em que o servidor MCP é executado com um comando
npx e conectado imediatamente ao agente, sem código adicional
A2A(Agent2Agent Protocol) — comunicação entre agentes
- Depois que o MCP resolve o acesso a dados, este protocolo lida com o problema restante de especialização (expertise), fornecendo um método padronizado de discovery e comunicação entre agentes remotos operados por equipes, frameworks e servidores diferentes
- Cada agente A2A publica um Agent Card em
/.well-known/agent-card.json, expondo nome, capacidades e endpoint; o agente gerente de cozinha faz o fetch desse card e direciona as consultas, em tempo de execução, ao agente apropriado
- Ao adicionar um novo agente remoto, basta acrescentar a URL, sem necessidade de alteração manual de código ou redeploy
- O
RemoteA2aAgent do ADK faz roteamento para um único agente remoto por turno; quando é necessário consultar vários agentes remotos ao mesmo tempo, usa-se diretamente o a2a-sdk
- Com a função
to_a2a(), é possível converter qualquer agente ADK em um serviço A2A
- Mesmo quando dados brutos como preço, grau de qualidade e janela de entrega não estão expostos por API, ainda é possível acessá-los por meio de uma interface agentic
UCP(Universal Commerce Protocol) — padronização do comércio
- É um protocolo que unifica o processo de pedido entre fornecedores com APIs diferentes, padronizando o ciclo de vida de compra em funcionalidades modulares
- Mantém consistência com esquemas tipados de requisição/resposta e opera com o mesmo padrão independentemente de a camada de transporte subjacente ser REST, MCP, A2A ou EP (protocolo embarcado baseado em navegador)
- Assim como no A2A, permite discovery do catálogo de fornecedores com o padrão de URL
/.well-known/ucp
- Não exige SDK proprietário, integrando diretamente com APIs REST padronizadas via clientes HTTP já existentes
- No exemplo,
CheckoutCreateRequest é usado para pedir 10 libras de salmão e 3 garrafas de azeite, e PaymentCreateRequest para montar a solicitação de pagamento
- O repositório de exemplos do UCP inclui um exemplo de assistente de compras com IA combinando ADK e A2A
AP2(Agent Payments Protocol) — autorização de pagamento e trilha de auditoria
- Se o UCP cuida do que será comprado e de qual fornecedor, o AP2 é responsável por quem aprovou a compra e pela trilha de auditoria
- Com mandates tipados, fornece prova de intenção não repudiável (non-repudiatable proof of intent) e aplica guardrails configuráveis a todas as transações
- Fluxo completo:
IntentMandate → PaymentMandate (assinado) → PaymentReceipt
- IntentMandate: define guardrails como comerciantes permitidos, limite de gastos, aprovação automática, exigência de possibilidade de reembolso e horário de expiração
- PaymentMandate: mandato de pagamento vinculado a um carrinho e valor específicos, que permanece sem assinatura até haver aprovação explícita do gestor quando ultrapassa o limite
- PaymentReceipt: recibo que completa a trilha de auditoria
- Funciona como uma extensão (extension) do UCP, adicionando prova criptográfica de autorização ao fluxo de checkout
- Atualmente está na fase v0.1 e não vem embutido no núcleo do ADK, fornecendo os tipos em um pacote separado
A2UI(Agent-to-User Interface Protocol) — composição dinâmica de UI
- É o protocolo que permite ao agente montar dinamicamente dashboards, formulários de pedido, tabelas comparativas de fornecedores e outros elementos, em vez de apenas texto comum
- As novas combinações de layout são descritas em JSON declarativo a partir de um catálogo fixo com 18 primitivas de componentes seguras (linha, coluna, campo de texto etc.)
- Separa a estrutura da UI dos dados, permitindo atualizar apenas os dados sem retransmitir os componentes
- Os componentes são enviados como uma lista plana com referências cruzadas por ID
- Os dados são entregues em um
dataModelUpdate separado
- O renderer do lado do cliente converte o JSON em UI nativa, como Lit, Flutter, Angular
- O mesmo agente pode gerar interfaces completamente diferentes — checklist de estoque, formulário de pedido, comparação de fornecedores — usando as mesmas 18 primitivas
- A interface web do ADK (
adk web) pode renderizar componentes A2UI nativamente, sem necessidade de construir um renderer separado durante o desenvolvimento
- Com o A2UI Widget Builder, é possível montar layouts interativamente
AG-UI(Agent-User Interaction Protocol) — entrega em streaming
- Diferentemente de APIs REST tradicionais, agentes possuem padrões complexos de interação, como fazer streaming gradual de texto, chamar ferramentas no meio da resposta e pausar enquanto aguardam entrada humana
- O AG-UI atua como middleware, convertendo eventos brutos específicos de cada framework em um fluxo SSE padronizado
- O frontend só precisa receber eventos tipados como
TEXT_MESSAGE_CONTENT e TOOL_CALL_START, sem precisar saber qual framework de agentes os gerou
- O ADK oferece nativamente o endpoint
/run_sse, mas o AG-UI resolve o problema de código boilerplate para parsing e de quebras quando o formato dos eventos muda
- Ao encapsular com o pacote
ag_ui_adk e montar em um app FastAPI, já é possível configurar um endpoint de streaming AG-UI
Fluxo de funcionamento da integração completa
- Quando o usuário pede “verifique o estoque de salmão, consulte o preço de atacado e o grau de qualidade de hoje e, se faltar estoque, faça um pedido de 10 libras na Example Wholesale e autorize o pagamento”, os 6 protocolos entram em ação em etapas
- Etapa 1 — coleta de informações: consultar o banco de estoque com MCP (
check_inventory) → consultar agentes remotos de preço e qualidade com A2A (ask_agent)
- Etapa 2 — conclusão da transação: criar a solicitação de checkout com UCP (
place_order) → obter o mandate de pagamento dentro dos guardrails definidos com AP2 (authorize_payment)
- Etapa 3 — exibição do resultado: montar widgets interativos com A2UI → transmitir em tempo real chamadas de ferramentas e respostas textuais com AG-UI
Dicas para usar os protocolos
- É preciso entender exatamente qual problema cada protocolo resolve para manter a arquitetura limpa
- Não é necessário usar os 6 desde o primeiro dia; na maioria dos casos, o ideal é começar com MCP e depois adicionar gradualmente comunicação multiagente, comércio, pagamento, UI rica e streaming conforme os requisitos aumentarem
- Antes de construir com os protocolos, vale verificar primeiro integração com ADK, SDKs oficiais e códigos de exemplo, para evitar reimplementação manual
- Embora os protocolos ainda estejam amadurecendo, adotar cedo padrões como discovery via URL bem conhecida, esquemas tipados e fluxos de eventos padronizados ajuda a garantir compatibilidade com o ecossistema de ferramentas, serviços e agentes
1 comentários
Vendo tudo isso reunido, há realmente muitos protocolos relacionados a IA.