Guia

A2A: deixe agentes de IA chamar o seu site

Um agente de IA acabou de validar este site sem abrir um navegador, clicar em um botão ou fazer scraping de página — ele leu um pequeno arquivo JSON, enviou uma requisição tipada e recebeu um resultado estruturado de volta. Essa troca é o A2A, e qualquer site pode oferecê-la.

O que é A2A

A2A (Agent2Agent) é um protocolo aberto — agora sob a Linux Foundation — que permite que agentes de IA se descubram e se chamem mutuamente via HTTP simples. Pense nele como o equivalente agente-a-agente de uma API pública: em vez de um humano ler sua documentação e escrever uma integração, outro agente lê uma descrição legível por máquina do que seu serviço faz e o chama diretamente.

Ele tem duas partes: um documento de descoberta (o agent card) e um endpoint chamável (a skill).

1. O agent card — descoberta

Você publica um arquivo JSON em /.well-known/agent-card.json descrevendo quem você é e o que você pode fazer. Os campos obrigatórios são name, description, version, url (seu endpoint A2A) e pelo menos uma skill:

{
  "protocolVersion": "0.3.0",
  "name": "llms.txt Validator",
  "description": "Validate a website's llms.txt and return a score with findings.",
  "url": "https://llms-txt-validator.dev/a2a",
  "skills": [{ "id": "validate_llms_txt", "name": "Validate llms.txt",
              "description": "Given a domain or URL, fetch and validate its llms.txt." }]
}

2. O endpoint — uma skill chamável

O url do card aponta para um endpoint JSON-RPC 2.0. Um agente chama o método message/send com uma mensagem; você executa o trabalho e retorna uma Task. Aqui está uma chamada real ao nosso agente:

POST /a2a
{ "jsonrpc": "2.0", "id": "1", "method": "message/send",
  "params": { "message": { "role": "user",
    "parts": [{ "kind": "text", "text": "validate llmstxt.org" }] } } }

…e a resposta — uma task concluída contendo um resumo legível por humanos e dados estruturados:

{ "result": { "kind": "task", "status": { "state": "completed" },
  "artifacts": [{ "parts": [
    { "kind": "text", "text": "Validated llmstxt.org: score 100/100..." },
    { "kind": "data", "data": { "ok": true, "report": { "scores": { "overall": 100 } } } }
  ] }] } }

Sem navegador, sem parsing de HTML — o agente recebe exatamente os dados que pediu.

A2A vs WebMCP vs MCP

Eles são complementares: A2A alcança agentes em rede, WebMCP alcança os que estão no navegador. Veja como os três se encaixam.

Como qualquer site pode adicionar um

Você não precisa de todo o protocolo para começar — escolha uma coisa real que seu serviço faz:

A única regra: sustente o card com um endpoint real

O card é um contrato, não uma meta tag. Se você publicar um card cujo url não responde de fato ao message/send, todo agente que confiar nele encontrará um beco sem saída. Exponha A2A apenas para capacidades que você realmente pode servir — foi assim que construímos o nosso, e é por isso que nosso próprio relatório marca o sinal como presente somente quando um endpoint funcional o sustenta. Quer ver ao vivo? Acesse nosso agent card.

Continue lendo

Valide seu llms.txt →