Website Auditor

Visibilidad en IA (GEO) y auditorías de sitios: comprueba si ChatGPT, Perplexity, Claude y Gemini recomiendan un sitio web, obtén una puntuación de visibilidad en IA de 0 a 100, ejecuta auditorías completas del sitio (seguridad, rendimiento, rastreabilidad), compara competidores y supervisa cambios semanalmente.

Documentación

Servidor MCP Website Auditor

Un servidor MCP para website-auditor.io — herramientas de visibilidad en IA (GEO) y auditoría de sitios que puedes invocar desde cualquier cliente MCP (Claude Desktop, Claude Code, Cursor, Codex y otros agentes).

Pídele a un agente "¿ChatGPT recomienda mi negocio?", "¿cuál es mi puntuación de visibilidad en IA?", "audita example.com" o "¿cómo me comparo con mis competidores?" y responderá con datos reales: una puntuación general de visibilidad en IA (0–100), un desglose por motor en ChatGPT, Perplexity, Claude y Gemini, una auditoría completa del sitio (seguridad, rendimiento, rastreabilidad y marcado), comparaciones con competidores y monitoreo continuo.

El servidor es un envoltorio delgado y autenticado sobre la API de Website Auditor: el motor de auditoría, la puntuación de visibilidad en IA y el monitoreo viven en ese servicio; este servidor solo los pone a disposición de los agentes.


Herramientas

HerramientaNivelQué hace
get_sample_auditGratis — sin claveUn informe de muestra completo para example.com con la forma exacta que devuelve una auditoría real. No requiere clave de API, ni suscripción, ni red. Pruébalo primero para ver lo que estarías comprando.
get_ai_visibilityProPuntuación actual de visibilidad en IA (0–100) + desglose por motor (ChatGPT, Perplexity, Claude, Gemini) + el principal competidor que aparece en tu lugar. Los suscriptores Pro también obtienen trend: movimiento de la puntuación a 7 y 30 días a partir del historial de instantáneas almacenado para la pregunta que hizo esta auditoría, que termina en su instantánea y se compara solo entre instantáneas medidas que la hicieron; el cambio general solo entre extremos a los que respondieron los mismos motores (una ventana en la que los motores difirieron arrastra sus deltas de motor y un overall_note que indica cuál respondió cada uno; nulo, con una nota, cuando la auditoría no almacenó una instantánea medida).
run_auditPro, con límite de tasaAuditoría única completa → puntuaciones por categoría (visibilidad en IA, rastreabilidad y marcado como seo, seguridad, rendimiento) + principales problemas + una URL de informe compartible.
get_changesProQué cambió en la puntuación de visibilidad en IA: el cambio en la puntuación general y los cambios por motor, para los motores medidos en ambas ocasiones; el cambio general solo cuando los mismos motores respondieron ambas instantáneas (si no, es nulo con un overall_note que nombra cuál respondió cada uno, y los cambios por motor se mantienen por separado); competitor_changes, new_issues y resolved_issues siempre están vacíos. Solo entre dos instantáneas que hicieron la misma pregunta (el mismo nombre de negocio, mercado y consultas), leídas de la serie del dominio: sus re-auditorías semanales medidas y cualquier auditoría que haya hecho la misma pregunta que la más reciente registrada, siempre que no haya un vacío mayor de cuatro semanas y un día desde la re-auditoría semanal más reciente que registró su pregunta, a través de cada instantánea posterior de la serie (incluidas las re-auditorías semanales, registradas o no), hasta la instantánea medida más reciente. Cuando no existe ese par, dice por qué en lugar de un número, con la fecha en que la serie se re-baselineó cuando lo hizo. El dominio no necesita estar rastreado: el historial se acumula de cualquier auditoría del mismo, rastreada o no — track_site agrega las re-auditorías semanales a la serie, no es un requisito previo.
compare_competitorsProClasificación de visibilidad en IA cara a cara contra dominios de competidores nombrados + dónde aparece cada uno que tú no. Consciente de la cuota: limita la expansión de la auditoría a tu cuota diaria restante, reutiliza auditorías en caché recientes e informa de cualquier competidor que tuvo que omitir en lugar de descartarlo silenciosamente.
track_siteProIniciar (o detener) el monitoreo semanal de la visibilidad en IA de un sitio. Sus re-auditorías semanales se unen al historial que lee get_changes, que las auditorías acumulan estén rastreadas o no — el monitoreo observa un sitio, no habilita get_changes.
untrack_siteProDetener el monitoreo de un sitio y liberar un espacio de monitoreo. Idempotente.
list_tracked_sitesProLista los sitios que estás monitoreando, con cadencia, estado activo y espacios usados/disponibles.
get_monitoring_statusProUn panel de un vistazo en todos los sitios rastreados: la puntuación más reciente de la serie de cada sitio (la serie que lee get_changes), la fecha de la última ejecución programada de cada uno y cuándo será la próxima, y el cambio más reciente comparable (o una nota, o el resumen, que diga por qué no hay ninguno), mostrado como sus cambios por motor con una nota que nombra los motores cuando diferentes respondieron las dos instantáneas; como get_changes, su change lleva competitor_changes, new_issues y resolved_issues, siempre vacíos.
check_upgrade_statusCualquier clave válidaTu propio estado de suscripción: nivel, estado, fin del período y qué desbloquea la actualización (comenzar Pro requiere un método de pago y aceptar los Términos). No consume cuota de auditoría.

Prompts

Los clientes que admiten prompts de MCP (Claude Desktop, claude.ai) los muestran como algo que puedes elegir de un menú, para que no tengas que redactar la solicitud tú mismo ni saber qué herramienta pedir. En clientes que no muestran prompts (Codex, actualmente), no se pierde nada salvo el menú: pide con palabras y se ejecutan las mismas herramientas.

Prompt¿Necesita clave?Qué hace
Ver un informe de muestraNoRecorre un informe completo para example.com. Sin argumentos, sin configuración: un clic desde cualquier instalación.
Comprobar mi visibilidad en IAProEjecuta get_ai_visibility para un dominio que nombres, luego explica la puntuación, qué asistentes nombran el negocio y quién se nombra en su lugar.
Ejecutar una auditoría completa del sitioProEjecuta run_audit para un dominio y lo resume por categoría, con las tres correcciones más importantes.
Compararme con un competidorProEjecuta compare_competitors para tu dominio contra un rival nombrado, y explica dónde te nombran a ti y no a ellos.

Cada prompt Pro recurre a get_sample_audit cuando no hay clave de API configurada, para que siempre obtengas una salida en lugar de un error.

Nombrar el negocio (opcional)

get_ai_visibility y run_audit aceptan ambos dos argumentos opcionales que deciden qué pregunta hace realmente la verificación de visibilidad en IA. compare_competitors acepta business_location solamente — ver abajo por qué no toma nombre:

ArgumentoOmitidoProporcionado
business_nameDetectado del sitio, y marcado con name_warning cuando no se pudo verificarSe toma como hecho y se registra como proporcionado por el llamante — lo que suprime la advertencia
business_locationDetectado del sitio; si no se encuentra nada, las preguntas se amplían al país, o eliminan el lugar por completoLimita las preguntas a ese lugar

Proporciona un nombre solo cuando realmente lo sepas. Un nombre proporcionado anula la detección y se trata como confirmado, así que una suposición se puntúa exactamente como si un humano la hubiera verificado — y silencia la advertencia que te lo habría dicho de otro modo. Omitirlo es el valor predeterminado más seguro: la detección es transparente sobre su propia incertidumbre.

Lo mismo aplica a la ubicación, en la otra dirección. Omitirla es correcto para un negocio nacional o global y incorrecto para uno local, ya que un negocio local medido sin un lugar se mide contra las consultas equivocadas.

Sobre compare_competitors: toma business_location y lo aplica a tu sitio y a cada competidor, porque una comparación pregunta por un mercado — puntuar tu negocio localmente mientras puntúas a tus rivales globalmente clasificaría las respuestas a dos preguntas diferentes. Deliberadamente no toma business_name: un nombre identifica un negocio, y reenviar el tuyo a tus competidores puntuaría a cada uno de ellos como si fueras tú. El resultado nombra el mercado que usó, así que una comparación limitada nunca se confunde con una global.

"Check AI visibility for hawaiibackroad.com,
 the business is Big Island Backroad Adventures in Hilo, HI"

Instalación y configuración

El servidor se ejecuta directamente vía npx — sin clonar ni compilar.

Pruébalo antes de comprarlo. Instala sin clave de API y pídele a tu agente una auditoría de muestra — get_sample_audit devuelve un informe completo para example.com en el formato exacto que produce una ejecución real, para que puedas comprobar primero que la forma se ajusta a tus necesidades.

Precios. Auditar dominios reales requiere una suscripción a Website Auditor a $10/mes — los nuevos clientes elegibles obtienen una prueba gratuita de 7 días (se requiere método de pago para comenzar; sin cargo hasta que termine la prueba; los clientes que usaron una prueba en los últimos 12 meses reciben facturación inmediata). Regístrate y crea una clave de API en api.website-auditor.io/admin_portal, luego configúrala como WA_API_KEY abajo. No hay nivel gratuito de API — una clave solo funciona con una suscripción activa.

Claude Desktop (claude_desktop_config.json), Cursor (~/.cursor/mcp.json) y la mayoría de los otros clientes usan la misma forma mcpServers:

{
  "mcpServers": {
    "website-auditor": {
      "command": "npx",
      "args": ["-y", "website-auditor-mcp"],
      "env": {
        "WA_API_KEY": "wa_your_key_here"
      }
    }
  }
}

Claude Code — agrégalo desde la CLI:

claude mcp add website-auditor -e WA_API_KEY=wa_your_key_here -- npx -y website-auditor-mcp

Codex — la CLI, la extensión de IDE y la aplicación de escritorio de ChatGPT leen todos el mismo ~/.codex/config.toml, así que uno de estos cubre los tres:

codex mcp add website-auditor --env WA_API_KEY=wa_your_key_here -- npx -y website-auditor-mcp
[mcp_servers.website-auditor]
command = "npx"
args = ["-y", "website-auditor-mcp"]

[mcp_servers.website-auditor.env]
WA_API_KEY = "wa_your_key_here"

Codex no muestra los prompts de MCP, así que los Prompts de arriba no aparecerán como entradas de menú allí — pide con palabras en su lugar ("muéstrame una auditoría de muestra").

O instala el plugin de Codex empaquetado, que incluye el mismo servidor y restaura los prompts como habilidades (que Codex sí muestra):

codex plugin marketplace add SpikeyCoder/website-auditor-mcp
codex plugin add website-auditor@spikeycoder

Cursor — instalación de un clic, o pon el mismo JSON mcpServers de arriba en ~/.cursor/mcp.json:

Install in Cursor

La configuración de un clic llega con un WA_API_KEY vacío — el informe de muestra funciona tal cual; completa la clave en Configuración → MCP para auditar dominios reales. También hay un plugin de Cursor empaquetado (este servidor más los prompts como habilidades) en cursor-plugin/; su listado en el Marketplace de Cursor está pendiente — estado en docs/CURSOR-PLUGIN.md.

Reinicia el cliente y las herramientas aparecerán.

Cómo obtener una clave de API

WA_API_KEY es una clave por usuario (empieza con wa_) emitida desde una cuenta de Website Auditor en api.website-auditor.io/admin_portal — el portal de administración, donde te suscribes y gestionas claves.

Emitir una clave requiere una suscripción activa ($10/mes; los nuevos clientes elegibles obtienen una prueba gratuita de 7 días — se requiere método de pago, sin cargo hasta que termine la prueba): no hay nivel gratuito de API, así que toda herramienta excepto get_sample_audit, check_upgrade_status y get_recommendations necesita una. get_sample_audit no necesita clave en absoluto. get_recommendations responde a cualquier clave válida con los siguientes pasos de una auditoría ya registrada; con Pro también dice dónde aparecer en listados, qué errores cometen los asistentes de IA sobre el negocio y qué archivo de corrección arregla cada hallazgo.

Trata la clave como una contraseña — configúrala solo en el env de tu cliente MCP y nunca la confirmes en un repositorio.

Reinicia después de configurar o cambiar la clave. WA_API_KEY se lee una vez, cuando el servidor arranca, así que una clave añadida mientras el cliente está en ejecución es invisible para él — en Claude Desktop, sal y vuelve a abrir la aplicación. Sin el reinicio, las herramientas siguen devolviendo el mismo AUTH_REQUIRED sobre el que acabas de actuar, lo que parece idéntico a que la clave no funcione.

Configuración (variables de entorno)

| Var | Default | Propósito | |---|---|---|---| | WA_API_KEY | (obligatorio) | Clave de API por usuario (comienza con wa_). | | WA_API_BASE_URL | https://api.website-auditor.io | La API de Website Auditor que este servidor envuelve. | | WA_SITE_URL | https://website-auditor.io | Se usa para construir enlaces de informes compartibles. | | WA_UPGRADE_URL | https://api.website-auditor.io/admin_portal/ | Hacia dónde apuntan los errores de autenticación y suscripción. Se añade ?source=mcp para que un registro que comenzó aquí sea atribuible; establece tu propio source para anularlo. No se muestra en errores de cuota: el límite diario no es una venta adicional. | | WA_REQUEST_TIMEOUT_MS | 120000 | Tiempo de espera para llamadas a la API. | | WA_AUDIT_CACHE_TTL_MS | 86400000 | Reutiliza la auditoría de un dominio dentro de esta ventana en lugar de gastar cuota (usado por compare_competitors). El valor predeterminado es 24 h. | | WA_SUBSCRIPTION_CACHE_TTL_MS | 60000 | Cuánto tiempo se almacena en caché el nivel Pro/gratuito resuelto por clave antes de volver a verificar la suscripción. | | WA_METRICS_DISABLED | (sin establecer → métricas activadas) | Establécelo en 1/true para desactivar la telemetría de uso anónima. |

Normalmente solo se necesita WA_API_KEY; el resto tiene valores predeterminados sensatos. Consulta .env.example para ver la lista completa.


Autenticación y niveles

Tu clave se valida en cada llamada. El nivel Pro/gratuito se resuelve en vivo desde la API y se almacena en caché brevemente, por lo que las mejoras y degradaciones surten efecto en aproximadamente un minuto:

  • Sin clave → get_sample_audit sigue funcionando (ese es su propósito); cada otra herramienta devuelve AUTH_REQUIRED con el precio y un enlace de registro.
  • Clave revocada o no reconocida → INVALID_KEY, que incluye la propia corrección de la API ("genera una nueva clave"). Es distinto de PRO_REQUIRED: la solución es una clave nueva, no una compra.
  • Sin suscripción activa (clave válida, caducada/cancelada/nunca suscrita) → PRO_REQUIRED con el precio y un enlace de mejora: no hay nivel de API gratuito; check_upgrade_status sigue respondiendo para que quien llama pueda saber por qué, y get_recommendations sigue respondiendo con la lista gratuita ("tier": "free").
  • Suscrito (estado active o un período de prueba en curso) → todas las herramientas.

Los errores se normalizan en códigos estables sobre los que los agentes pueden ramificar, por ejemplo, AUTH_REQUIRED, INVALID_KEY, PRO_REQUIRED, OVER_QUOTA, UNREACHABLE_DOMAIN, INVALID_INPUT, TIMEOUT. Un dominio que se resuelve pero cuyas páginas nunca cargan (caído, rechazando, agotando el tiempo de espera o respondiendo 404/5xx en cada página) devuelve UNREACHABLE_DOMAIN; uno que no se resuelve se rechaza antes de que se ejecute cualquier auditoría, como INVALID_INPUT. Ninguno recibe una puntuación inventada.


Desarrollo

npm install
npm run build      # compile TypeScript → dist/
npm start          # serve over stdio
npm run dev        # run from source without building
npm test           # vitest
npm run typecheck

El conjunto de pruebas es hermético: el cliente de la API, el proveedor de suscripción y el medidor se inyectan, y HTTP se simula en el límite de fetch, por lo que no se toca la red.


Política de privacidad

ID de instalación anónimo. Cuando la telemetría está habilitada, el servidor genera un UUID aleatorio en la primera ejecución y lo almacena en ~/.config/website-auditor-mcp/install-id (o $XDG_CONFIG_HOME), enviándolo con cada evento. Existe únicamente para distinguir una instalación que se reinicia muchas veces de muchas instalaciones separadas; sin él, los recuentos de instalación son solo recuentos de reinicios. Se genera aleatoriamente, nunca se deriva de tu máquina, nombre de usuario o red, y no es una huella digital. Establecer WA_METRICS_DISABLED detiene la telemetría por completo: no se genera ningún ID y no se escribe nada en el disco.

Este conector se comunica con un único servicio externo: la API de Website Auditor en website-auditor.io. Cuando invocas una herramienta, envía solo dos cosas a esa API:

  • el dominio objetivo que pediste auditar o monitorear, y
  • tu clave de API (WA_API_KEY), usada para autenticar la solicitud y resolver tu nivel de plan.

Eso es todo lo que sale de tu máquina. El conector no recopila, almacena ni transmite tus archivos, indicaciones, contenido de conversaciones ni ningún otro dato personal, y no envía datos a terceros más allá de la API de Website Auditor. Tu clave de API se guarda únicamente en la configuración de tu cliente MCP (en Claude Desktop se almacena en el llavero del sistema operativo y se inyecta como variable de entorno); nunca se escribe en el paquete ni se registra.

Se puede emitir telemetría de uso anónima y agregada (qué herramienta se ejecutó, éxito/fallo, latencia: sin dominios, sin claves, sin datos personales) para mejorar el servicio, y se puede desactivar por completo estableciendo WA_METRICS_DISABLED=1. Instalado como extensión de escritorio, la misma exclusión es una casilla "Desactivar telemetría de uso anónima" en la configuración de la extensión.

Política de privacidad completa: https://website-auditor.io/privacy


Licencia

MIT — © 2026 Kevin Armstrong / SpikeyCoder.

Esto cubre el servidor MCP en este repositorio: el cliente que se comunica con la API de Website Auditor. El motor de auditoría y la API detrás de él son productos separados, no cubiertos aquí, y ejecutar auditorías reales aún requiere una cuenta de Website Auditor.

Obtén más información en website-auditor.io.