ForgeMesh ASO Score
Calcula puntuaciones de Optimización de Señal de Agente en descubrimiento, confianza, comercio, interoperabilidad y UX de agente-navegador.
Documentación
aso-score-mcp — el escáner gratuito de ASO Score
¿Cuál es tu puntuación ASO?
El SEO te hizo visible para los motores de búsqueda. ASO (Agent Signal Optimization) te hace descubrible, confiable y pagable por los agentes de IA que se están convirtiendo en los próximos visitantes de la web.
aso-score-mcp es el MCP de ASO Score gratuito y de código abierto — un servidor MCP que escanea cualquier sitio web y genera un Informe de ASO Score puntuado según el marco ASO abierto. El paquete npm beta es @forgemeshlabs/aso-score-mcp.
Esta versión sigue las guías actuales de Google sobre preparación para agentes sin exagerarlas: Google Search dice que los fundamentos tradicionales de SEO siguen aplicando a la búsqueda generativa con IA, llms.txt es ignorado por el propio Google Search, y los agentes de navegador se benefician de un DOM limpio, capturas de pantalla y señales del árbol de accesibilidad. El escáner mantiene llms.txt porque los agentes que no son de Google lo usan, y añade una verificación de UX para agentes de navegador con controles semánticos, etiquetas vinculadas, respaldos ARIA/roles y riesgo de superposiciones ocultas.
Beta. Escáner ASO experimental para evaluar si los agentes pueden descubrir, confiar, entender y usar un sitio web/API/herramienta. La puntuación ASO es experimental y evolucionará a medida que maduren los estándares de agentes.
=== 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
Qué verifica — 34 señales en 6 pilares
Encuentra brechas en descubrimiento, confianza, interoperabilidad y comercio — cada estándar emergente de agentes en un solo escaneo:
| Pilar / Categoría | Verificaciones |
|---|---|
| Descubrimiento | robots.txt, sitemap.xml, cabeceras Link, DNS-AID (_agent.<domain>), /.well-known/ai |
| Contenido | Negociación de contenido Markdown, llms.txt, documentación legible por LLM (/index.md, llms-full.txt) |
| Acceso de bots | Reglas explícitas de rastreadores de IA (GPTBot, ClaudeBot, Google-Extended, PerplexityBot…), Content Signals, Web Bot Auth |
| Interoperabilidad | Catálogo de API (RFC 9727), descubrimiento 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 obligatorios validados), Agent Skills, WebMCP |
| Comercio | x402, MPP, UCP, ACP, precios legibles por máquina |
| Identidad y confianza | Aplicación de HTTPS, JSON-LD/schema.org, UX de navegador amigable para agentes, OpenAPI, agent.json, security.txt, endpoint de estado, versionado, identidad entre archivos y consistencia de señales |
Cada verificación devuelve aprobado / parcial / fallido con evidencia concreta y una recomendación de corrección. Los resultados se agrupan en los seis pilares ASO (Descubribilidad 20, Identidad 20, Confianza 15, Comercio 15, Reputación 15, Memoria 15) → tu ASO Score y nivel de madurez.
Instalación
Requiere Node.js ≥ 18. Publicado en npm como @forgemeshlabs/aso-score-mcp — sin necesidad de clonar ni compilar.
npm install -g @forgemeshlabs/aso-score-mcp
O salta la instalación por completo y ejecútalo con 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 (cualquier cliente MCP)
{
"mcpServers": {
"aso": {
"command": "npx",
"args": ["-y", "@forgemeshlabs/aso-score-mcp"]
}
}
}
Desarrollo (desde el código fuente)
Solo necesario si estás modificando el escáner:
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
Herramientas
| Herramienta | Qué hace |
|---|---|
scan_site | Escaneo ASO completo → Informe de ASO Score: ASO Score, nivel, desglose por pilares, las 34 verificaciones con evidencia + recomendaciones |
get_fix_plan | Plan de remediación priorizado con plantillas listas para pegar (reglas de IA en robots.txt, llms.txt, agent.json, A2A agent card, MCP server card, manifiesto x402, pricing.json, security.txt, endpoint de estado) |
check_signal | Ejecuta una verificación específica (p. ej. a2a-agent-card, llms-txt, x402) |
list_checks | Catálogo de cada verificación con enlaces a especificaciones |
get_aso_framework | La rúbrica ASO: pilares, pesos, niveles, umbrales de certificación |
Usa scan_site para una línea base completa, check_signal para una señal específica, get_fix_plan para remediación de copiar y pegar, list_checks para descubrir IDs de señales válidas y get_aso_framework para explicar el modelo de puntuación sin escanear un sitio.
Pruébalo: "Escanea example.com para obtener el ASO score" · "¿Cuál es mi ASO score?" · "Dame un plan de corrección para preparar mi sitio para agentes."
Prueba rápida de CLI (desde una copia del código fuente)
npm run smoke -- https://your-site.com
Metadatos de Glama / registro
Este repositorio incluye glama.json para la propiedad del registro MCP de Glama y metadatos de instalación.
- Paquete:
@forgemeshlabs/aso-score-mcp - Versión actual:
v0.1.2 - Transporte:
stdiolocal - Autenticación: no se requiere ninguna para uso local de
stdio. El escáner no solicita claves de API, tokens, cookies ni credenciales de terceros. - Despliegue HTTP: no está habilitado por este paquete npm. Cualquier despliegue HTTP público de este escáner debe añadir autenticación, límites de tasa por cliente, registro de solicitudes y una política de egreso antes de exponerse.
Comando de instalación recomendado para Glama/MCP:
npx -y @forgemeshlabs/aso-score-mcp
Ejemplo de uso después de conectar el servidor a un 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.
Verificación de la versión:
- Etiqueta Git:
v0.1.2 - Paquete npm:
@forgemeshlabs/aso-score-mcp - Versión del servidor MCP:
0.1.2
v0.1.2 es la actualización TDQS del ASO Score: mejora la guía de selección de herramientas de Glama, añade insignias de Glama y mantiene los metadatos del registro listos para una versión actualizada de Glama.
Compilación de la versión Glama
La instalabilidad en Glama requiere una versión Glama, que es una compilación contenerizada creada desde la página de administración del Dockerfile de Glama, no una versión de GitHub. Este repositorio incluye un Dockerfile de producción y GLAMA.md con los valores de especificación de compilación para usar en Glama:
Pasos de compilación:
npm ci
npm run build
npm prune --omit=dev
Comando de ejecución:
node dist/index.js
En el campo CMD arguments de Glama, ingresa:
["node", "dist/index.js"]
No dejes los CMD arguments como []; Glama valida ese campo por separado del CMD del Dockerfile.
El marco ASO
El SEO clasifica páginas para personas. El ASO prepara servicios para la selección, invocación, pago y uso repetido por agentes.
| Nivel | Nombre | Puntuación |
|---|---|---|
| ASO-0 | Invisible | 0–9 |
| ASO-1 | Descubrible | 10–29 |
| ASO-2 | Comprensible | 30–49 |
| ASO-3 | Invocable | 50–69 |
| ASO-4 | Confiable | 70–89 |
| ASO-5 | Listo para comercio autónomo | 90–100 |
Las puntuaciones de este escáner son autoevaluaciones orientativas. La Certificación ASO (ASO-3+) requiere evidencia verificada — consulta la rúbrica de puntuación y agentsignaloptimization.com para auditorías, certificación y el marco completo.
Seguridad
Este escáner realiza solicitudes salientes a las URLs que le proporcionas, por lo que está diseñado para resistir abusos de SSRF:
- Lista de esquemas permitidos — solo
http/https;file:,ftp:,gopher:,data:, etc. son rechazados. - Bloqueo de destinos privados — después de la resolución DNS, se rechazan solicitudes a loopback, privadas (RFC 1918), link-local, CGNAT, reservadas, multicast y la dirección de metadatos de nube (
169.254.169.254). También se cubren IPv6 loopback/ULA/link-local y formas mapeadas a IPv4. Si un nombre de host resuelve a cualquier dirección privada, el escaneo es rechazado. - Transporte con IP fijada — cada solicitud se conecta a la IP pública exacta que fue validada, mientras que TLS aún verifica el nombre de host original. Esto cierra la ventana de rebinding DNS de validar-y-luego-conectar.
- Validación manual de redirecciones — el seguimiento automático de redirecciones está deshabilitado; cada salto se revalida con las mismas reglas, con un máximo de 5 redirecciones. Una URL pública que redirige 30x a una dirección interna no puede pasar.
- Contenido remoto no confiable — los manifiestos analizados se omiten de la salida de la herramienta por defecto (
include_artifacts: truepara optar por incluirlos, y luego se etiquetan explícitamente como no confiables); los extractos de texto incrustados se sanitizan de caracteres de control y se limitan en longitud. Trata cualquier contenido remoto devuelto como datos, nunca como instrucciones. - Acotado — solo
GET, UAASO-Scanner/1.0, máximo 6 concurrentes, tiempo de espera de 10s, límite de cuerpo de 512KB. Nunca autentica, nunca hace POST, nunca rastrea más allá de rutas well-known. - Endurecimiento probado —
npm testcubre rechazo de URLs inseguras, rangos de IP privadas, sanitización de artefactos, bloqueo de redirecciones, límites de saltos de redirección y la vía de escape de loopback solo para pruebas.
Despliegue: stdio (local, por usuario) es el valor predeterminado seguro. Un despliegue HTTP público es una herramienta de egreso de red y debe añadir autenticación, limitación de tasa por cliente, registro de solicitudes y una política de egreso antes de exponerse.
- Las señales de reputación (citas, reseñas, tasas de éxito) no pueden verificarse automáticamente mediante un rastreador; se reportan como
manualy se puntúan 0 hasta que se verifiquen mediante auditoría — por lo que el máximo auto-verificable es 89/100. Es honestidad intencional, no un error. - Las especificaciones emergentes (MCP Server Cards SEP-1649/SEP-2127, DNS-AID, Web Bot Auth, UCP/ACP/MPP) avanzan rápido. Se aceptan PRs que actualicen rutas.
Alineación de fuentes
Este paquete separa intencionalmente la guía de Google Search de la guía ASO más amplia:
- Las funciones de IA generativa de Google Search aún dependen de los sistemas centrales de clasificación y calidad de búsqueda; el SEO fundamental, la rastreabilidad, el contenido útil y la claridad técnica siguen siendo la prioridad.
- Google Search no usa
llms.txtni archivos especiales de markdown para IA para clasificar ni para la visibilidad en AI Overviews/AI Mode. El ASO aún los verifica porque otros agentes y clientes MCP pueden usarlos. - La guía de sitios amigables para agentes de Google/web.dev se centra en la usabilidad para agentes de navegador: diseños estables, HTML semántico, etiquetas vinculadas a entradas, roles/nombres/estados significativos y evitar superposiciones ocultas.
- UCP, AP2, A2A, MCP, x402, DNS-AID, Content Signals y Web Bot Auth son protocolos emergentes no-SEO. El escáner los trata como señales de preparación para agentes, no como factores de clasificación de Google Search.
Referencias principales:
- https://developers.google.com/search/docs/fundamentals/ai-optimization-guide
- https://web.dev/articles/ai-agent-site-ux
- https://ucp.dev
Licencia
MIT — gratuito para todos. Si el escáner encontró brechas, el marco ASO te muestra cómo cerrarlas.