ForgeMesh ASO Audit
Auditorias de otimização de sinal para agentes de código aberto, voltadas à descoberta e prontidão de sites, APIs e produtos.
Documentação
aso-mcp — o Scanner Gratuito de Prontidão para Agentes
Qual é a sua pontuação ASO?
O SEO tornou você visível para os mecanismos de busca. O ASO (Agent Signal Optimization) torna você descobrível, confiável e pagável pelos agentes de IA que estão se tornando os próximos visitantes da web.
aso-mcp é o Scanner ASO gratuito e de código aberto — um servidor MCP que verifica qualquer site e produz um Relatório de Prontidão para Agentes pontuado com base no framework ASO aberto. O pacote npm beta é @forgemeshlabs/aso-audit-mcp.
Esta versão acompanha as diretrizes atuais do Google sobre prontidão para agentes sem exagerar: o Google Search afirma que os fundamentos tradicionais de SEO ainda se aplicam à busca generativa por IA, llms.txt é ignorado pelo próprio Google Search, e os agentes de navegador se beneficiam de um DOM limpo, capturas de tela e sinais da árvore de acessibilidade. O scanner mantém llms.txt porque agentes que não são do Google o utilizam, e adiciona uma verificação de UX para agentes de navegador, cobrindo controles semânticos, rótulos vinculados, fallbacks de ARIA/role e risco de sobreposições ocultas.
Beta. Scanner ASO experimental para avaliar se agentes conseguem descobrir, confiar, entender e usar um site/API/ferramenta. A pontuação ASO é experimental e evoluirá à medida que os padrões para agentes amadurecerem.
=== Agent Readiness Report: https://example.com ===
ASO Score: 70/100
Agent Readiness: Ready
Level: ASO-4 Trustable — Agents can verify trust, reputation, and operational signals.
Discoverability 20/20 Identity 15/20 Trust 11/15
Commerce 5/15 Reputation 4/15 Memory 15/15
O que ele verifica — 34 sinais em 6 pilares
Encontre lacunas em descoberta, confiança, interoperabilidade e comércio — todos os padrões emergentes para agentes em uma única verificação:
| Pilar / Categoria | Verificações |
|---|---|
| Descoberta | robots.txt, sitemap.xml, cabeçalhos Link, DNS-AID (_agent.<domain>), /.well-known/ai |
| Conteúdo | Negociação de conteúdo Markdown, llms.txt, documentação legível por LLM (/index.md, llms-full.txt) |
| Acesso de Bots | Regras explícitas para rastreadores de IA (GPTBot, ClaudeBot, Google-Extended, PerplexityBot…), Content Signals, Web Bot Auth |
| Interoperabilidade | Catálogo de API (RFC 9727), descoberta OAuth (RFC 8414), Recurso Protegido OAuth (RFC 9728), auth.md, MCP Server Card (/.well-known/mcp/server-card.json), Google A2A Agent Card (/.well-known/agent-card.json, campos obrigatórios validados), Agent Skills, WebMCP |
| Comércio | x402, MPP, UCP, ACP, preços legíveis por máquina |
| Identidade e Confiança | Aplicação de HTTPS, JSON-LD/schema.org, UX de navegador amigável para agentes, OpenAPI, agent.json, security.txt, endpoint de status, versionamento, consistência de identidade e sinais entre arquivos |
Auditoria determinística de endpoint x402 v2
A ferramenta MCP audit_x402_endpoint complementa a verificação ASO de todo o site com uma auditoria de protocolo sem gastos de um único endpoint pago. Ela retorna uma pontuação de 0 a 100, nota A-F, veredito de conformidade, booleanos por verificação, verificações com falha e esquemas/redes/extensões observados. Ela valida o desafio 402 ao vivo, mas nunca envia PAYMENT-SIGNATURE, portanto não pode autorizar ou liquidar um pagamento.
Verificações: HTTPS/TLS, HTTP 402, PAYMENT-REQUIRED, JSON Base64, x402Version: 2, accepts não vazio, redes CAIP-2, campos de pagamento obrigatórios e tipo de conteúdo JSON. Para rotas protegidas por corpo, passe method, body e, opcionalmente, content_type.
Isso é deliberadamente relatado separadamente da Pontuação ASO: a conformidade com o protocolo não prova descoberta, confiança, liquidação, idempotência ou qualidade da resposta paga.
Modelo de padrões vivos
Os protocolos para agentes estão mudando rapidamente. O scanner é mantido como parte de um framework vivo: as verificações são versionadas, e padrões estáveis, capacidades opcionais, candidatos a lançamento, rascunhos e convenções de fornecedores são rotulados separadamente. Consulte a lista de fontes do scanner com datas e o registro canônico de fontes ASO.
Cada verificação retorna aprovado / parcial / reprovado com evidências concretas e uma recomendação de correção. Os resultados são consolidados nos seis pilares ASO (Descobribilidade 20, Identidade 20, Confiança 15, Comércio 15, Reputação 15, Memória 15) → sua Pontuação ASO e nível de maturidade.
Instalação
Requer Node.js ≥ 18. Publicado no npm como @forgemeshlabs/aso-audit-mcp — sem necessidade de clonar ou compilar.
npm install -g @forgemeshlabs/aso-audit-mcp
Ou pule a instalação e execute com npx (recomendado para clientes MCP):
npx -y @forgemeshlabs/aso-audit-mcp
Claude Code
claude mcp add aso -- npx -y @forgemeshlabs/aso-audit-mcp
Claude Desktop / Cursor / Windsurf (qualquer cliente MCP)
{
"mcpServers": {
"aso": {
"command": "npx",
"args": ["-y", "@forgemeshlabs/aso-audit-mcp"]
}
}
}
Desenvolvimento (a partir do código-fonte)
Necessário apenas se você estiver modificando o próprio scanner:
git clone https://github.com/forgemeshlabs/aso-audit-mcp
cd aso-audit-mcp
npm install && npm run build
claude mcp add aso -- node /path/to/aso-audit-mcp/dist/index.js
Ferramentas
| Ferramenta | O que ela faz |
|---|---|
list_tools | Menu gratuito: todas as ferramentas abaixo com seus preços (todas $0) — para agentes que escolhem antes de chamar |
scan_site | Verificação ASO completa → Relatório de Prontidão para Agentes: Pontuação ASO, nível, detalhamento por pilar, todas as 34 verificações com evidências + recomendações |
get_fix_plan | Plano de remediação priorizado com modelos prontos para colar (regras de IA no robots.txt, llms.txt, agent.json, A2A agent card, MCP server card, manifesto x402, pricing.json, security.txt, endpoint de status) |
check_signal | Executa uma verificação específica (ex.: a2a-agent-card, llms-txt, x402) |
list_checks | Catálogo de todas as verificações com links para especificações |
get_aso_framework | A rubrica ASO: pilares, pesos, níveis, limites de certificação |
Experimente: "Verifique example.com para prontidão de agentes" · "Qual é a minha pontuação ASO?" · "Dê-me um plano de correção para deixar meu site pronto para agentes."
Teste rápido de CLI (a partir de um checkout do código-fonte)
npm run smoke -- https://your-site.com
Metadados do Glama / registro
Este repositório inclui glama.json para propriedade do registro MCP do Glama e metadados de instalação.
- Pacote:
@forgemeshlabs/aso-audit-mcp - Versão atual:
v0.2.0 - Transporte:
stdiolocal - Autenticação: nenhuma necessária para uso local de
stdio. O scanner não solicita chaves de API, tokens, cookies ou credenciais de terceiros. - Implantação HTTP: não habilitada por este pacote npm. Qualquer implantação HTTP pública deste scanner deve adicionar autenticação, limites de taxa por cliente, registro de solicitações e uma política de saída antes da exposição.
Comando de instalação recomendado para Glama/MCP:
npx -y @forgemeshlabs/aso-audit-mcp
Exemplo de uso após conectar o servidor a um cliente MCP:
Scan https://example.com for agent readiness.
Give me the ASO fix plan for example.com.
Check only the llms-txt signal for example.com.
List the ASO scanner checks.
Verificação da versão:
- Tag Git:
v0.2.0 - Pacote npm:
@forgemeshlabs/aso-audit-mcp - Versão do servidor MCP:
0.2.0
v0.2.0 adiciona a auditoria determinística de conformidade do endpoint x402 v2 sem gastos, preservando a pontuação mais ampla de Prontidão para Agentes ASO como uma métrica separada.
Build de versão do Glama
A instalabilidade no Glama exige uma versão Glama, que é um build conteinerizado criado a partir da página administrativa do Dockerfile do Glama, não uma versão do GitHub. Este repositório inclui um Dockerfile de produção e GLAMA.md com os valores de especificação de build a serem usados no Glama:
Etapas do build:
npm ci
npm run build
npm prune --omit=dev
Comando de execução:
node dist/index.js
No campo argumentos CMD do Glama, insira:
["node", "dist/index.js"]
Não deixe os argumentos CMD como []; o Glama valida esse campo separadamente do CMD do Dockerfile.
O framework ASO
SEO classifica páginas para pessoas. ASO prepara serviços para seleção, invocação, pagamento e uso repetido por agentes.
| Nível | Nome | Pontuação |
|---|---|---|
| ASO-0 | Invisível | 0–9 |
| ASO-1 | Descobrível | 10–29 |
| ASO-2 | Compreensível | 30–49 |
| ASO-3 | Invocável | 50–69 |
| ASO-4 | Confiável | 70–89 |
| ASO-5 | Pronto para Comércio Autônomo | 90–100 |
As pontuações deste scanner são autoavaliações direcionais. A Certificação ASO (ASO-3+) exige evidências verificadas — consulte a rubrica de pontuação e agentsignaloptimization.com para auditorias, certificação e o framework completo.
Cards patrocinados (Lulu Ads)
Não há servidor ForgeMesh pago por trás deste MCP — cada ferramenta busca o site verificado diretamente — portanto, um card Lulu Ads só pode ser anexado no lado do cliente, e apenas a list_tools. É um campo de dados simples e rotulado no resultado JSON, nunca texto que o modelo possa ler como instrução:
"sponsored": { "label": "Sponsored", "text": "...", "url": "https://..." }
- Este pacote não inclui credenciais de anúncios. Um card só é renderizado quando o operador que executa o MCP define
LULU_ADS_PUBLISHER_IDeLULU_ADS_API_KEY(ambos obrigatórios). Para um usuário final executandonpx -y @forgemeshlabs/aso-audit-mcpsem credenciais, o pacote não faz nenhuma chamada à rede de anúncios e nenhum card aparece. LULU_ADS_ENABLED=falseé um interruptor de desligamento. As ferramentas de verificação/auditoria nunca tocam no SDK.- Fail-open: qualquer erro ou timeout do SDK (orçamento rígido de 2s) retorna a resposta original inalterada. O único host externo contatado é
ads.getlulu.dev. - Remova:
delete result.sponsored.
Segurança
Este scanner faz solicitações de saída para URLs que você fornece, portanto, foi construído para resistir a abusos de SSRF:
- Lista de permissão de esquemas — apenas
http/https;file:,ftp:,gopher:,data:etc. são rejeitados. - Bloqueio de alvos privados — após a resolução de DNS, solicitações para loopback, privados (RFC 1918), link-local, CGNAT, reservados, multicast e o endereço de metadados da nuvem (
169.254.169.254) são recusadas. IPv6 loopback/ULA/link-local e formas mapeadas por IPv4 também são cobertas. Se um nome de host resolver para qualquer endereço privado, a verificação é recusada. - Transporte com IP fixado — cada solicitação conecta ao IP público exato que foi validado, enquanto o TLS ainda verifica o nome de host original. Isso fecha a janela de rebinding de DNS do tipo validar-depois-conectar.
- Validação manual de redirecionamentos — o seguimento automático de redirecionamentos é desabilitado; cada salto é revalidado contra as mesmas regras, com limite de 5 redirecionamentos. Uma URL pública que redireciona com 30x para um endereço interno não pode passar despercebida.
- Conteúdo remoto não confiável — manifestos analisados são omitidos da saída da ferramenta por padrão (
include_artifacts: truepara optar por incluí-los, e então são explicitamente rotulados como não confiáveis); trechos de texto incorporados são sanitizados contra caracteres de controle e limitados em comprimento. Trate qualquer conteúdo remoto retornado como dados, nunca como instruções. - Limitado — apenas
GET, UAASO-Scanner/1.0, máximo de 6 concorrentes, timeout de 10s, limite de corpo de 512KB. Nunca autentica, nunca faz POST, nunca rastreia além de caminhos well-known. - Hardening testado —
npm testcobre rejeição de URLs inseguras, faixas de IP privadas, sanitização de artefatos, bloqueio de redirecionamentos, limites de saltos de redirecionamento e a escotilha de escape de loopback apenas para testes.
Implantação: stdio (local, por usuário) é o padrão seguro. Uma implantação HTTP pública é uma ferramenta de saída de rede e deve adicionar autenticação, limitação de taxa por cliente, registro de solicitações e uma política de saída antes da exposição.
- Sinais de reputação (citações, avaliações, taxas de sucesso) não podem ser verificados automaticamente por um rastreador; eles são relatados como
manuale pontuados como 0 até serem verificados por auditoria — portanto, o máximo verificável automaticamente é 89/100. Isso é honestidade intencional, não um bug. - Especificações emergentes (MCP Server Cards SEP-1649/SEP-2127, DNS-AID, Web Bot Auth, UCP/ACP/MPP) evoluem rapidamente. Pull requests atualizando caminhos são bem-vindos.
Alinhamento de fontes
Este pacote separa intencionalmente as diretrizes do Google Search das diretrizes ASO mais amplas:
- Os recursos generativos de IA do Google Search ainda dependem dos sistemas principais de classificação e qualidade da Busca; SEO fundamental, rastreabilidade, conteúdo útil e clareza técnica continuam sendo a prioridade.
- O Google Search não usa
llms.txtou arquivos Markdown especiais de IA para classificação ou visibilidade em AI Overviews/AI Mode. O ASO ainda os verifica porque outros agentes e clientes MCP podem usá-los. - As diretrizes do Google/web.dev para sites amigáveis a agentes focam na usabilidade de agentes de navegador: layouts estáveis, HTML semântico, rótulos vinculados a entradas, roles/nomes/estados significativos e evitar sobreposições ocultas.
- UCP, AP2, A2A, MCP, x402, DNS-AID, Content Signals e Web Bot Auth são protocolos emergentes que não são de SEO. O scanner os trata como sinais de prontidão para agentes, não como fatores de classificação do Google Search.
Referências principais:
- https://developers.google.com/search/docs/fundamentals/ai-optimization-guide
- https://web.dev/articles/ai-agent-site-ux
- https://ucp.dev
Licença
MIT — gratuito para todos. Se o scanner encontrou lacunas, o framework ASO mostra como fechá-las.