ForgeMesh ASO Score
Calcule pontuações de Otimização de Sinal de Agente em descoberta, confiança, comércio, interoperabilidade e UX de agente de navegador.
Documentação
aso-score-mcp — o Scanner gratuito de ASO Score
Qual é o seu ASO score?
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-score-mcp é o MCP de ASO Score gratuito e de código aberto — um servidor MCP que escaneia qualquer site e produz um Relatório de ASO Score avaliado com base no framework ASO aberto. O pacote npm beta é @forgemeshlabs/aso-score-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 com IA, llms.txt é ignorado pelo próprio Google Search, e os agentes de navegador se beneficiam de sinais de DOM limpo, captura de tela e á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/papéis 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á conforme os padrões de agentes amadurecem.
=== ASO Score 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 varredura:
| 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 |
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) → seu ASO Score e nível de maturidade.
Instalação
Requer Node.js ≥ 18. Publicado no npm como @forgemeshlabs/aso-score-mcp — sem necessidade de clonar ou compilar.
npm install -g @forgemeshlabs/aso-score-mcp
Ou pule a instalação e execute com npx (recomendado para clientes MCP):
npx -y @forgemeshlabs/aso-score-mcp
Claude Code
claude mcp add aso -- npx -y @forgemeshlabs/aso-score-mcp
Claude Desktop / Cursor / Windsurf (qualquer cliente MCP)
{
"mcpServers": {
"aso": {
"command": "npx",
"args": ["-y", "@forgemeshlabs/aso-score-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-score-mcp
cd aso-score-mcp
npm install && npm run build
claude mcp add aso -- node /path/to/aso-score-mcp/dist/index.js
Ferramentas
| Ferramenta | O que faz |
|---|---|
scan_site | Varredura ASO completa → Relatório de ASO Score: ASO Score, 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 copiar e 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 as especificações |
get_aso_framework | A rubrica ASO: pilares, pesos, níveis, limites de certificação |
Use scan_site para uma linha de base completa, check_signal para um único sinal nomeado, get_fix_plan para remediação pronta para copiar e colar, list_checks para descobrir IDs de sinais válidos e get_aso_framework para explicar o modelo de pontuação sem escanear um site.
Experimente: "Escaneie example.com para obter o ASO score" · "Qual é o meu ASO score?" · "Me dê um plano de correção para deixar meu site pronto para agentes."
Teste rápido via 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 e metadados de instalação no registro MCP do Glama.
- Pacote:
@forgemeshlabs/aso-score-mcp - Versão atual:
v0.1.2 - Transporte:
stdiolocal - Autenticação: nenhuma necessária para uso local com
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 requisições e uma política de egresso antes da exposição.
Comando de instalação recomendado no Glama/MCP:
npx -y @forgemeshlabs/aso-score-mcp
Exemplo de uso após conectar o servidor a um cliente MCP:
Scan https://example.com for ASO score.
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.1.2 - Pacote npm:
@forgemeshlabs/aso-score-mcp - Versão do servidor MCP:
0.1.2
v0.1.2 é a atualização TDQS do ASO Score: melhora as orientações de seleção de ferramentas do Glama, adiciona selos do Glama e mantém os metadados do registro prontos para uma versão atualizada do Glama.
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 CMD arguments do Glama, insira:
["node", "dist/index.js"]
Não deixe os CMD arguments como []; o Glama valida esse campo separadamente do CMD do Dockerfile.
O framework ASO
O SEO classifica páginas para pessoas. O 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.
Segurança
Este scanner faz requisições de saída para URLs que você fornece, portanto foi projetado 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 destinos privados — após a resolução de DNS, requisiçõ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. Loopback IPv6/ULA/link-local e formas mapeadas por IPv4 também são cobertas. Se um hostname resolver para qualquer endereço privado, a varredura é recusada. - Transporte com IP fixado — cada requisição conecta exatamente ao IP público validado, enquanto o TLS ainda verifica o hostname original. Isso fecha a janela de rebinding de DNS entre validação e conexão.
- Validação manual de redirecionamentos — o seguimento automático de redirecionamentos está desabilitado; cada salto é revalidado com as mesmas regras, limitado a 5 redirecionamentos. Uma URL pública que redirecione com 30x para um endereço interno não pode passar.
- Conteúdo remoto não confiável — manifestos analisados são omitidos da saída das ferramentas 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 de caracteres de controle e limitados em tamanho. Trate qualquer conteúdo remoto retornado como dados, nunca como instruções. - Limitado — apenas
GET, UAASO-Scanner/1.0, máximo de 6 requisições concorrentes, timeout de 10s, limite de corpo de 512KB. Nunca autentica, nunca faz POST, nunca rastreia além de caminhos well-known. - Endurecimento testado —
npm testcobre rejeição de URLs inseguras, faixas de IP privado, sanitização de artefatos, bloqueio de redirecionamentos, limites de saltos de redirecionamento e a saída 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 egresso de rede e deve adicionar autenticação, limitação de taxa por cliente, registro de requisições e uma política de egresso 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 reportados como
manuale pontuados como 0 até serem verificados por auditoria — portanto, o máximo auto-verificável é 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. PRs atualizando caminhos são bem-vindos.
Alinhamento com fontes
Este pacote separa intencionalmente as orientações do Google Search das orientações ASO mais amplas:
- Os recursos de IA generativa do Google Search ainda dependem dos sistemas centrais de classificação e qualidade da busca; SEO fundamental, rastreabilidade, conteúdo útil e clareza técnica continuam sendo 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 orientações do Google/web.dev para sites amigáveis a agentes focam na usabilidade para agentes de navegador: layouts estáveis, HTML semântico, rótulos vinculados a entradas, papéis/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.