a11y-toolkit
a11y-toolkit MCP
Una suite de accesibilidad WCAG 2.2 como servidor MCP (Model Context Protocol) para agentes de IA — además de un CLI unificado. Cero dependencias en su núcleo; toda la matemática es local y exacta (la fórmula oficial de luminancia relativa).
El ciclo completo auditar → corregir → documentar → vigilar regresiones, en un solo toolkit:
Auditar: auditoría WCAG exprés de cualquier URL (hallazgos ordenados por severidad)
Corregir: comprobaciones exactas de contraste — pares de color y texto sobre imágenes (muestreo a nivel de píxel del fondo real) — con sugerencias del color aprobado más cercano
Documentar: declaraciones legales de accesibilidad (UE), generadas como HTML accesible
Vigilar: snapshots + diffs entre builds para detectar regresiones de accesibilidad antes de producción
Multilenguaje es/en en todas las herramientas (las declaraciones EN usan la redacción de la Directiva (UE) 2016/2102 y la Directiva (UE) 2019/882 — European Accessibility Act —, útil en toda la UE).
Herramientas MCP (9)
Herramienta | Qué hace |
| Auditoría WCAG exprés de una URL: imágenes sin alt (1.1.1), controles sin nombre accesible (4.1.2), campos de formulario sin etiquetas (3.3.2), falta de lang/title (3.1.1, 2.4.2), saltos de nivel de encabezado (1.3.1), zoom bloqueado (1.4.4), tabindex positivo (2.4.3), iframes sin título. Ordenado por severidad. Filtro, no veredicto — la automatización cubre ~1/3 de WCAG. |
| Ratio de contraste exacto + veredictos por criterio: 1.4.3 (AA), 1.4.6 (AAA), 1.4.11 (no textual). Si falla AA, sugiere el color aprobado más cercano. |
| Texto sobre imágenes: muestreo a nivel de píxel del fondo real detrás de la caja de texto → ratio peor/mediana/p95, % del área que pasa AA, y |
| Color más cercano al tuyo que alcanza un ratio objetivo (4.5 por defecto). |
| Declaración legal de accesibilidad en HTML: RD 1112/2018 art. 10 (España, sector público) o redacción de la Ley 11/2023 / European Accessibility Act. es/en. El documento generado es en sí mismo accesible. |
| Snapshot de accesibilidad de una URL: elementos interactivos (tag, rol, nombre accesible, href) + orden real de foco por tab. Requiere Playwright localmente. |
| Compara dos snapshots: interactivos añadidos/eliminados/renombrados y cambios en el orden de foco. Acepta JSON en línea o rutas de archivo. |
| Snapshot de dos URLs y diff en una sola llamada (staging vs producción). |
| Monitor inyectable que registra cada anuncio de región dinámica (aria-live, role=alert/status): hora, cortesía, rol, texto — lo que diría un lector de pantalla, visible en pantalla. |
Related MCP server: Accessibility MCP Server
Instalar como MCP
{
"mcpServers": {
"a11y-toolkit": {
"command": "python3",
"args": ["/path/to/a11y-toolkit/server.py"]
}
}
}O con uv, sin necesidad de clonar:
{
"mcpServers": {
"a11y-toolkit": {
"command": "uvx",
"args": ["--from", "git+https://github.com/kinti/a11y-toolkit", "a11y-toolkit-mcp"]
}
}
}Añade "timeoutMs": 60000 si planeas usar a11y_snapshot (arranque del navegador).
CLI unificado — un comando para todo
a11y pair "#1f2328" "#fbfaf7" # contrast, per-criterion verdicts
a11y image hero.jpg --text "#ffffff" --region 120,40,420,90
a11y audit --url https://example.com # express WCAG audit
a11y declaration --entidad "Acme" --url https://acme.example \
--estado parcial --marco eaa --lang en --output decl.html
a11y snapshot https://mysite --out before.json # before deploy (needs Playwright)
a11y diff before.json after.json # after deployEjecuta desde el repositorio: python3 a11y.py <subcomando>.
Interpretando el modo de imagen
ratio_peor(peor) — el punto más hostil para el color de tu texto.area_pasa_aa_texto_normal_4_5— % de superficie segura. Si < 100% donde se asienta el texto: scrim/overlay, recorta o mueve el texto.zona_peor— la celda de la cuadrícula 3×3 que falla más, con coordenadas exactas.
Seguridad y alcance
Una herramienta local: se ejecuta en tu máquina como tu usuario. Los argumentos path (imagen) y output_path (declaración) leen/escriben rutas locales — úsala en clientes MCP de confianza. Nada se envía por la red (excepto la obtención de la URL que audites explícitamente).
Notas técnicas
Decodificación de imágenes: Pillow si está disponible, si no
sips(macOS); PPM siempre (por eso CI no necesita dependencias).El monitor aria-live lleva una lección de diseño documentada: su panel NO es deliberadamente una región viva y se autoexcluye del observador — un panel
role="log"coincidiría con su propio selector y crearía un bucle infinito de auto-observación. Lo sabemos porque nos pasó.Probado contra sitios de producción reales (los del propio autor, que deben pasar su propia auditoría).
Versiones web para humanos (misma matemática): jquin.net/lab — contraste (pares + imagen), generador de declaraciones, monitor aria-live, diff de builds.
Español
Suite de accesibilidad WCAG 2.2 como servidor MCP + CLI unificado. Cero dependencias en el núcleo (Pillow opcional; sips en macOS; PPM siempre). Todo el ciclo en un toolkit: auditar (a11y_audit_url) → corregir (contraste de pares y texto sobre imagen con muestreo píxel a píxel y detección de zona hostil; sugerencia de color accesible) → documentar (declaración legal RD 1112/2018 art. 10 o Ley 11/2023/EAA, en HTML accesible) → vigilar (snapshots y diff entre builds: añadidos/eliminados/renombrados y orden de foco).
9 herramientas MCP (ver tabla superior) · multilenguaje es/en (la declaración EN usa la terminología de las Directivas (UE) 2016/2102 y 2019/882) · CLI unificado a11y con subcomandos pair, image, audit, declaration, snapshot, diff.
{ "mcpServers": { "a11y-toolkit": {
"command": "python3", "args": ["/ruta/al/repo/server.py"] } } }Herramienta local: los argumentos path y output_path leen/escriben rutas locales; nada sale a la red salvo la URL que audites explícitamente. El monitor aria-live documenta su lección de diseño: el panel NO es una región viva y se autoexcluye del observador (un role="log" casaría con su propio selector y crearía un bucle infinito de auto-observación — lo sabemos porque nos pasó). Versiones web para humanos: jquin.net/lab.
Autor / Author
Jesús Quintana Fernández (jquin.net) — consultor SEO/GEO y profesional de accesibilidad web desde 2003. MIT © 2026.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- FlicenseBqualityDmaintenanceEnables AI agents to perform comprehensive accessibility audits on websites using Playwright and axe-core against WCAG standards. Provides detailed compliance reports with violation summaries and remediation guidance across multiple browsers.3
- AlicenseAqualityCmaintenanceProvides conversational, actionable accessibility testing for AI agents, including auditing, prioritization, and code-level fixes.2254MIT
- AlicenseAqualityDmaintenanceEnables AI agents to perform comprehensive web accessibility checks (WCAG 2.1/2.2) including color contrast analysis, ARIA validation, and full accessibility report generation without requiring any API key.8MIT
- AlicenseNot gradedqualityDmaintenanceProvides AI agents with web accessibility analysis tools via MCP, enabling checks for alt text, heading hierarchy, color contrast, ARIA validation, and form accessibility.50MIT
Related MCP Connectors
Scan URLs for WCAG 2.1 violations, generate AI fixes, and produce VPAT 2.5 compliance reports.
Screenshot, diff, audit and sitemap-capture any web page — 5 MCP tools for AI agents.
SEO research, audits, backlinks, GSC, and content workflow tools for AI agents.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/kinti/a11y-toolkit'
If you have feedback or need assistance with the MCP directory API, please join our Discord server