Advisors AI Check

Verificación de preparación de página pública de solo lectura para agentes y tiendas. Demo en vivo en advisorsai.ai/see.html

Servidor MCP alojado

npx add-mcp 'https://advisorsai.ai/store-readiness-mcp'

Se instala en Claude Code, Codex, Cursor y más

Documentación

advisorsai-check

Listed on mcpservers.org AI page readiness skills.sh

¿Expone una página pública los conceptos básicos legibles por máquina declarados que los motores de respuesta pueden usar?

Un solo comando. Sin clave de API, sin cuenta, sin registro.

Un clic dentro de tu agente (GitHub elimina los enlaces cursor:// — usa los botones en vivo): https://advisorsai.ai/see.html

npx skills add manmohm/advisorsai-check
/plugin marketplace add manmohm/advisorsai-check

Comparte una página medida (patrón SSL Labs): https://advisorsai.ai/see.html?url=https://example.com

# one-off, nothing left behind (needs pipx: python -m pip install pipx)
pipx run --spec git+https://github.com/manmohm/advisorsai-check advisorsai-check example.com

# or install once
pipx install git+https://github.com/manmohm/advisorsai-check
advisorsai-check example.com
Desde un clon
git clone https://github.com/manmohm/advisorsai-check.git
cd advisorsai-check
python -m pip install .
advisorsai-check example.com

Úsalo desde Claude o cualquier cliente MCP — sin instalación

La misma verificación acotada de página pública está disponible como una herramienta MCP remota, de solo lectura. Proporcionas una URL pública; devuelve como máximo un hallazgo accionable con un recibo de evidencia HMAC que el operador puede volver a verificar.

La herramienta remota no escribe en el sitio enviado, no almacena el resultado, no lo comparte, no infiere clasificaciones de motores de respuesta ni predice ventas. Es nueva: aún no hay casos de estudio de clientes.

advisorsai-check  https://example.com

  ok   page title: «Example — industrial valves since 1994»
  ok   meta description, 153 chars
  MISS no Organization/LocalBusiness structured data: nothing states what this
       business IS in a form machines read
  MISS no Service/Product structured data: what you sell is only in prose
  ok   one <h1>: «Valves that survive the plant floor»
  ok   canonical link with an HTTP(S) href is present
  ok   declared robots policy allows search crawlers on /
       (training/model-use crawlers blocked by policy: GPTBot, Google-Extended)
  note no /llms.txt (informational only: it is not a web standard)
  ok   valid urlset sitemap with 24 locations

  64% of the declared public-page basics checked in this run are in place.

Úsalo como una habilidad de agente

npx skills add manmohm/advisorsai-check

Los agentes de codificación que siguen el formato Agent Skills pueden cargar SKILL.md en la raíz del repositorio (tema de GitHub ai-skill) o skills/ai-site-readiness/SKILL.md: enseñan al agente a ejecutar esta verificación, leer solo la evidencia observada y nunca reclamar clasificaciones.

Incorpora el verificador en vivo en otro README:

[![AI page readiness](https://advisorsai.ai/badge/ai-readiness.svg)](https://advisorsai.ai/see.html)

Qué verifica

SeñalPor qué a una máquina le importa
robots.txtLa política declarada del sitio para rastreadores de búsqueda autónomos en la ruta enviada. Los buscadores activados por el usuario y los rastreadores de uso de modelos/entrenamiento se informan por separado y nunca cambian la puntuación. No prueba que un rastreador pase el firewall del sitio.
llms.txtUn resumen experimental. Se informa pero no tiene peso en la puntuación: no es un estándar web, y Google Search dice que no lo usa.
JSON-LD OrganizationSi algo declara, en una forma que las máquinas puedan analizar, qué es este negocio es.
JSON-LD Service / ProductSi lo que vendes existe fuera de la prosa.
<title>, meta descripción, <h1>, canónicoCampos de página comúnmente expuestos a los analizadores.
sitemap.xmlSi /sitemap.xml tiene registros válidos de urlset/url/loc o sitemapindex/sitemap/loc con ubicaciones HTTP(S) absolutas.

Qué no verifica

No te dice si un asistente te menciona cuando un comprador pregunta.

Eso no se establece con una obtención de página. Es una observación de respuestas en vivo, y establecerlo requiere capturas con marca de tiempo contra asistentes reales y comparación con pares. Por lo tanto, esta herramienta nunca reetiqueta sus verificaciones acotadas de página como una puntuación de visibilidad.

Así que todo aquí es un básico de página pública: una condición técnica corregible, no evidencia de que un motor de respuesta te citará. No es una clasificación. No es una cuota. No es una promesa.

Instalar desde el código fuente

git clone https://github.com/manmohm/advisorsai-check.git
cd advisorsai-check
python -m pip install .
advisorsai-check example.com

El paquete aún no está publicado en PyPI. No uses ni promociones un comando pip install advisorsai-check hasta que exista el lanzamiento allí. El núcleo del verificador de línea de comandos es compatible con Python 3.9+. Las dependencias opcionales del servidor remoto requieren Python 3.10+, y el código fuente del servidor publicado es para inspección del despliegue oficial del operador, no una promesa de autoalojamiento llave en mano. El paquete fija html5lib==1.1 y webencodings==0.6.1 para que el HTML malformado se interprete con un contrato estable de construcción de árbol HTML5 y las etiquetas de codificación sigan el registro de codificación web WHATWG. El analizador HTML y el extractor de hechos se ejecutan en un proceso hijo con límite de bytes y tiempo; no hay un estimador de tokens o anidamiento escrito a mano. Las páginas de inicio deben servirse como text/html: application/xhtml+xml se rechaza deliberadamente porque esta herramienta no reclama un contrato de análisis XML. Las respuestas también deben ser una representación de identidad sin comprimir; los valores de Content-Encoding no compatibles se rechazan en lugar de analizarse como bytes HTML.

Úsalo en CI

Acción de GitHub (ejecutor Ubuntu):

- uses: manmohm/advisorsai-check@main
  with:
    url: https://example.com
    min-score: "80"

--json te da el resultado completo. El código de salida 0 significa que todos los verificadores devolvieron; 1 significa que al menos una verificación no estuvo disponible o falló internamente; y 2 significa que la dirección enviada no era utilizable. Una ejecución parcial publica score: null, informa coverage_percent ponderado y nunca es un resultado de proceso exitoso:

set -o pipefail
advisorsai-check example.com --json | jq '.score'
- name: Public-page machine basics
  run: |
    git clone --depth 1 https://github.com/manmohm/advisorsai-check.git /tmp/advisorsai-check
    python -m pip install /tmp/advisorsai-check
    result=$(advisorsai-check "$SITE" --json) || {
      status=$?
      echo "$result"
      exit "$status"
    }
    score=$(printf '%s' "$result" | jq -er '.score')
    echo "Declared public-page basics: $score%"
    [ "$score" -ge 80 ] || { echo "::warning::below 80%"; }

Como biblioteca

from advisorsai_check import run

report = run("example.com")
if not report.successful:
    raise RuntimeError(report.errors)
print(report.score)
for signal in report.signals:
    if signal.ok is False:
        print("fix:", signal.detail)

report.successful es falso si alguna señal no está verificada o algún verificador generó un error interno. En ese estado, report.score es None; usa report.coverage_percent para describir cuánto del conjunto de verificaciones ponderadas se ejecutó, nunca como una puntuación sustituta. El vocabulario del informe es cerrado: cada ejecución lleva exactamente un recibo para home, title, description, structured_business, structured_offering, h1, canonical, robots, llms_txt y sitemap, con pesos fijados por la biblioteca. jsonld_valid es el único diagnóstico opcional y puede aparecer como máximo una vez. Etapas faltantes, claves desconocidas, duplicados, recibos vacíos o pesos cambiados hacen que el informe no sea exitoso; nunca pueden producir una puntuación o una cobertura del 100%. El recibo home también fija las seis filas derivadas de la página: una falla de inicio verificada requiere fallas verificadas para título, descripción, negocio estructurado, oferta estructurada, H1 y canónico; un inicio no disponible requiere que los seis permanezcan no disponibles. La fila opcional jsonld_valid se acepta solo como diagnóstico negativo (false) después de que se analizó una representación completa de la página de inicio. Puede bajar una puntuación pero nunca puede actuar como un bono positivo. Aunque home y llms_txt son recibos de etapa de peso cero, dejar cualquiera sin verificar añade una unidad de cobertura faltante, por lo que una ejecución parcial no puede mostrar una cobertura del 100%. signal.ok es True, False o None. None significa que la verificación no pudo ejecutarse — una falla de DNS, conexión, TLS o tiempo de espera, por ejemplo. Tales fallas se informan como no verificadas (ok: null), nunca como evidencia de que el sitio falló. Hacen que toda la ejecución sea incompleta: report.successful es falso, report.score es None y coverage_percent muestra solo la parte ponderada que realmente se ejecutó. El estado 0 está reservado para este estado de transporte/no disponible. Una respuesta HTTP 4xx o 5xx es diferente: el sitio sí respondió, por lo que produce un resultado verificado según el contrato de esa señal antes de que el verificador considere el cuerpo de la representación de error o Content-Type. Así, un 4xx/5xx de página de inicio es una falla verificada incluso si el cuerpo está vacío o mal etiquetado; robots.txt mantiene las semánticas distintas de 4xx/5xx del RFC 9309. Una representación de página o robots está completa solo con HTTP 200 exacto: estados informativos/aceptados o parciales/delta como 202, 206 y 226 se rechazan. Las redirecciones a otro origen no se siguen.

El primer sitio al que lo apuntamos fue el nuestro

Identificó un desajuste en la política de rastreadores entre las reglas robots previstas del sitio y las reglas servidas en el borde. La lección es más estrecha que una afirmación de clasificación: inspecciona lo que los rastreadores públicos realmente reciben, no solo el archivo en el repositorio.

No lo habíamos notado. La herramienta lo encontró en una sola ejecución, que es todo el argumento para ejecutarla en el tuyo.

Quién lo hizo

Advisors AI mide salidas de motores de respuesta con marca de tiempo para un negocio y construye sistemas que el cliente luego posee por completo. Esta herramienta es la parte gratuita y honesta: la parte que puedes verificar tú mismo, sin conexión, con el código fuente frente a ti.

La parte de pago es la parte que esta herramienta se niega a adivinar — qué dicen realmente los asistentes sobre ti, con las capturas que lo prueban, y qué cambiar.

Licencia MIT. Problemas y solicitudes de extracción bienvenidos.