Accessibility Scanner

Escanea cualquier URL en busca de problemas de accesibilidad WCAG con el motor real axe-core y obtén selectores por elemento y correcciones para que un agente de IA actúe.

Documentación

accessibility-scanner-mcp

Un servidor MCP que permite a un agente de IA escanear una página web en busca de problemas de accesibilidad WCAG y obtener hallazgos sobre los que puede actuar. El agente llama a una herramienta con una URL; obtiene cada violación agrupada por severidad, cada una con el selector de elemento exacto, el HTML infractor, la falla específica, el criterio de éxito WCAG y un enlace a la guía de corrección — además de los elementos que aún requieren revisión humana.

Ejecuta el motor real axe-core en tu Chrome local (vía playwright-core), por lo que nada de las páginas que escaneas sale de tu máquina. Primero desplaza la página para que el contenido cargado de forma diferida realmente se verifique en lugar de omitirse silenciosamente, y resuelve el contraste de color sobre degradados CSS, que la mayoría de las herramientas dejan como "requiere revisión".

¿Actualizando desde 0.1.x? 0.2.0 ve más de cada página y devuelve más hallazgos para la misma URL. Consulta CHANGELOG.md.

Parte de accessibilityscanner.app.

Requisitos

  • Node.js 18+
  • Un navegador basado en Chromium: Chrome, Chromium o Edge, detectados automáticamente en ese orden. Configura CHROME_PATH para apuntar a un binario específico si prefieres elegir. Un navegador ya instalado por Playwright se usa como último recurso; nunca se descarga nada por ti.

O sin navegador en absoluto

Configura SCANNER_API_URL y el escaneo se ejecuta en accessibilityscanner.app en lugar de localmente:

{ "env": { "SCANNER_API_URL": "https://accessibilityscanner.app" } }

No se necesita cuenta ni clave: usa los mismos endpoints públicos que usa el formulario del propio sitio web. Útil en CI, en un contenedor o en cualquier lugar donde no puedas instalar un navegador. Los escaneos alojados también incluyen colores de corrección sugeridos para fallas de contraste, que el escáner local aún no calcula.

⚠️ En este modo, la URL que escaneas se envía a nuestro servidor. La ruta local no envía nada a ningún lugar y sigue siendo la predeterminada: el modo alojado es opcional solo mediante esa variable de entorno.

Instalación

Agrégalo a la configuración de tu cliente MCP. No se necesita instalación global: npx lo obtiene en la primera ejecución.

Claude Desktop (claude_desktop_config.json), Cursor, Claude Code o cualquier cliente MCP:

{
  "mcpServers": {
    "accessibility-scanner": {
      "command": "npx",
      "args": ["-y", "accessibility-scanner-mcp"]
    }
  }
}

Si Chrome no se detecta automáticamente, agrega un bloque de entorno:

{
  "mcpServers": {
    "accessibility-scanner": {
      "command": "npx",
      "args": ["-y", "accessibility-scanner-mcp"],
      "env": { "CHROME_PATH": "/usr/bin/google-chrome" }
    }
  }
}

La herramienta

scan_accessibility

Entrada
url (cadena, obligatorio)La URL http(s) a escanear.

Devuelve un informe agrupado por severidad. Para cada regla: el criterio WCAG, un enlace a la guía de corrección y, por elemento, el selector, el HTML y la falla exacta. Ejemplo de flujo con un agente:

Tú: Audita https://example.com para accesibilidad y corrige lo que puedas. Agente: (llama a scan_accessibility) → lee los hallazgos → edita el código → vuelve a escanear.

Honesto sobre los límites

Las pruebas automatizadas cubren el subconjunto verificable por máquina de WCAG (la mayoría de los problemas en una página típica, pero no todos). Los elementos que requieren juicio humano se devuelven bajo "Requiere revisión manual". Nunca afirma que una página sea "conforme".

Licencia

MIT