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