ForgeMesh ASO Audit

Auditorías de optimización de señales de agentes de código abierto para la visibilidad y preparación de sitios web, API y productos.

Documentación

aso-mcp — el Escáner gratuito de Preparación para Agentes

M8ven Verified

¿Cuál es tu puntuación ASO?

El SEO te hizo visible para los motores de búsqueda. ASO (Optimización de Señales para Agentes) 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-mcp es el Escáner ASO gratuito y de código abierto — un servidor MCP que escanea cualquier sitio web y produce un Informe de Preparación para Agentes puntuado según el marco ASO abierto. El paquete npm beta es @forgemeshlabs/aso-audit-mcp.

Esta versión sigue las pautas actuales de preparación para agentes de Google sin exagerarlas: Google Search dice que los fundamentos tradicionales del SEO siguen aplicándose a la búsqueda generativa de 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 que evalúa 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 para agentes.

=== 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

Qué verifica — 34 señales en 6 pilares

Encuentra brechas en descubrimiento, confianza, interoperabilidad y comercio — cada estándar emergente para agentes en un solo escaneo:

Pilar / CategoríaVerificaciones
Descubrimientorobots.txt, sitemap.xml, cabeceras Link, DNS-AID (_agent.<domain>), /.well-known/ai
ContenidoNegociación de contenido Markdown, llms.txt, documentación legible por LLM (/index.md, llms-full.txt)
Acceso de BotsReglas explícitas para rastreadores de IA (GPTBot, ClaudeBot, Google-Extended, PerplexityBot…), Señales de Contenido, Autenticación Web de Bots
InteroperabilidadCatálogo de API (RFC 9727), descubrimiento OAuth (RFC 8414), Recurso Protegido OAuth (RFC 9728), auth.md, Tarjeta de Servidor MCP (/.well-known/mcp/server-card.json), Tarjeta de Agente Google A2A (/.well-known/agent-card.json, campos obligatorios validados), Habilidades de Agente, WebMCP
Comerciox402, MPP, UCP, ACP, precios legibles por máquina
Identidad y ConfianzaAplicación de HTTPS, JSON-LD/schema.org, UX de navegador amigable para agentes, OpenAPI, agent.json, security.txt, endpoint de estado, versionado, consistencia de identidad y señales entre archivos

Auditoría determinista del endpoint x402 v2

La herramienta MCP audit_x402_endpoint complementa el escaneo ASO de todo el origen con una auditoría de protocolo sin gasto de un único endpoint de pago. Devuelve una puntuación de 0-100, calificación A-F, veredicto de cumplimiento, booleanos por verificación, verificaciones fallidas y esquemas/redes/extensiones observados. Valida el desafío 402 en vivo pero nunca envía PAYMENT-SIGNATURE, por lo que no puede autorizar ni liquidar un pago.

Verificaciones: HTTPS/TLS, HTTP 402, PAYMENT-REQUIRED, JSON Base64, x402Version: 2, accepts no vacío, redes CAIP-2, campos de pago obligatorios y tipo de contenido JSON. Para rutas con cuerpo obligatorio, pasa method, body y opcionalmente content_type.

Esto se informa deliberadamente por separado de la Puntuación ASO: el cumplimiento del protocolo no prueba descubrimiento, confianza, liquidación, idempotencia o calidad de la respuesta pagada.

Modelo de estándares vivos

Los protocolos para agentes cambian rápidamente. El escáner se mantiene como parte de un marco vivo: las verificaciones tienen versión, y los estándares estables, capacidades opcionales, candidatos a lanzamiento, borradores y convenciones de proveedores se etiquetan por separado. Consulta la lista de fuentes del escáner con fecha y el registro canónico de fuentes ASO.

Cada verificación devuelve aprobado / parcial / fallido con evidencia concreta y una recomendación de corrección. Los resultados se agregan en los seis pilares ASO (Descubrimiento 20, Identidad 20, Confianza 15, Comercio 15, Reputación 15, Memoria 15) → tu Puntuación ASO y nivel de madurez.

Instalación

Requiere Node.js ≥ 18. Publicado en npm como @forgemeshlabs/aso-audit-mcp — sin necesidad de clonar ni compilar.

npm install -g @forgemeshlabs/aso-audit-mcp

O salta la instalación por completo y ejecútalo con 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 (cualquier cliente MCP)

{
  "mcpServers": {
    "aso": {
      "command": "npx",
      "args": ["-y", "@forgemeshlabs/aso-audit-mcp"]
    }
  }
}

Desarrollo (desde el código fuente)

Solo es necesario si estás modificando el propio escáner:

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

Herramientas

HerramientaQué hace
list_toolsMenú gratuito: cada herramienta a continuación con su precio (todas $0) — para agentes que eligen antes de llamar
scan_siteEscaneo ASO completo → Informe de Preparación para Agentes: Puntuación ASO, nivel, desglose por pilares, las 34 verificaciones con evidencia + recomendaciones
get_fix_planPlan de remediación priorizado con plantillas listas para pegar (reglas de IA en robots.txt, llms.txt, agent.json, tarjeta de agente A2A, tarjeta de servidor MCP, manifiesto x402, pricing.json, security.txt, endpoint de estado)
check_signalEjecuta una verificación específica (p. ej. a2a-agent-card, llms-txt, x402)
list_checksCatálogo de cada verificación con enlaces a especificaciones
get_aso_frameworkLa rúbrica ASO: pilares, pesos, niveles, umbrales de certificación

Pruébalo: "Escanea example.com para preparación de agentes" · "¿Cuál es mi puntuación ASO?" · "Dame un plan de corrección para que mi sitio esté listo para agentes."

Prueba de humo CLI (desde un checkout 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-audit-mcp
  • Versión actual: v0.2.0
  • Transporte: stdio local
  • Autenticación: no se requiere ninguna para uso local de stdio. El escáner no solicita claves API, tokens, cookies ni credenciales de terceros.
  • Despliegue HTTP: no 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 la exposición.

Comando de instalación recomendado para Glama/MCP:

npx -y @forgemeshlabs/aso-audit-mcp

Ejemplo de uso después de conectar el servidor a un 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.

Verificación de la versión:

  • Etiqueta Git: v0.2.0
  • Paquete npm: @forgemeshlabs/aso-audit-mcp
  • Versión del servidor MCP: 0.2.0

v0.2.0 añade la auditoría determinista de cumplimiento del endpoint x402 v2 sin gasto, preservando la puntuación más amplia de Preparación para Agentes ASO como una métrica separada.

Compilación de 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 argumentos CMD de Glama, introduce:

["node", "dist/index.js"]

No dejes los argumentos CMD 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.

NivelNombrePuntuación
ASO-0Invisible0–9
ASO-1Descubrible10–29
ASO-2Comprensible30–49
ASO-3Invocable50–69
ASO-4Confiable70–89
ASO-5Listo para Comercio Autónomo90–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.

Tarjetas patrocinadas (Lulu Ads)

No hay ningún servidor ForgeMesh de pago detrás de este MCP — cada herramienta obtiene el sitio escaneado directamente — por lo que una tarjeta de Lulu Ads solo puede adjuntarse del lado del cliente, y solo a list_tools. Es un campo de datos simple y etiquetado en el resultado JSON, nunca texto que el modelo pueda leer como instrucción:

"sponsored": { "label": "Sponsored", "text": "...", "url": "https://..." }
  • Este paquete no incluye credenciales de anuncios. Una tarjeta se renderiza solo cuando el operador que ejecuta el MCP establece LULU_ADS_PUBLISHER_ID y LULU_ADS_API_KEY (ambos obligatorios). Para un usuario final que ejecuta npx -y @forgemeshlabs/aso-audit-mcp sin credenciales, el paquete hace cero llamadas a la red de anuncios y ninguna tarjeta aparece nunca.
  • LULU_ADS_ENABLED=false es un interruptor de apagado. Las herramientas de escaneo/auditoría nunca tocan el SDK.
  • Fail-open: cualquier error o tiempo de espera del SDK (presupuesto duro de 2s) devuelve la respuesta original sin cambios. El único host externo contactado es ads.getlulu.dev.
  • Elimínalo: delete result.sponsored.

Seguridad

Este escáner realiza solicitudes salientes a las URLs que le das, por lo que está construido para resistir abuso SSRF:

  • Lista de permitidos de esquemas — 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 la 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 se rechaza.
  • 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-luego-conectar.
  • Validación manual de redirecciones — el seguimiento automático de redirecciones está deshabilitado; cada salto se revalida contra las mismas reglas, con un máximo de 5 redirecciones. Una URL pública que redirige 30x a una dirección interna no puede colarse.
  • Contenido remoto no confiable — los manifiestos analizados se omiten de la salida de la herramienta por defecto (include_artifacts: true para optar, y luego se etiquetan explícitamente como no confiables); los extractos de texto incrustados se sanean de caracteres de control y se limitan en longitud. Trata cualquier contenido remoto devuelto como datos, nunca como instrucciones.
  • Acotado — solo GET, UA ASO-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 test cubre rechazo de URLs inseguras, rangos de IP privados, saneamiento de artefactos, bloqueo de redirecciones, límites de saltos de redirección y la escotilla 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 la exposición.

  • Las señales de reputación (citas, reseñas, tasas de éxito) no pueden ser verificadas automáticamente por un rastreador; se informan como manual y se puntúan 0 hasta que se verifiquen por auditoría — por lo que el máximo auto-verificable es 89/100. Es honestidad intencional, no un error.
  • Las especificaciones emergentes (Tarjetas de Servidor MCP SEP-1649/SEP-2127, DNS-AID, Autenticación Web de Bots, UCP/ACP/MPP) avanzan rápido. Se aceptan PRs que actualicen rutas.

Alineación de fuentes

Este paquete separa intencionalmente las pautas de Google Search de las pautas ASO más amplias:

  • Las funciones de IA generativa de Google Search aún dependen de los sistemas centrales de clasificación y calidad de Search; el SEO fundamental, la rastreabilidad, el contenido útil y la claridad técnica siguen siendo la prioridad.
  • Google Search no usa llms.txt ni archivos Markdown especiales de IA para la clasificación o la visibilidad en AI Overviews/AI Mode. ASO aún los verifica porque otros agentes y clientes MCP pueden usarlos.
  • Las pautas de sitios amigables para agentes de Google/web.dev se centran en la usabilidad de 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, Señales de Contenido y Autenticación Web de Bots son protocolos emergentes que no son 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:

Licencia

MIT — gratuito para todos. Si el escáner encontró brechas, el marco ASO te muestra cómo cerrarlas.