Skip to main content
Glama

a11y-toolkit MCP

CI License: MIT Python 3.9+ 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:

  1. Auditar: auditoría WCAG exprés de cualquier URL (hallazgos ordenados por severidad)

  2. 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

  3. Documentar: declaraciones legales de accesibilidad (UE), generadas como HTML accesible

  4. 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

a11y_audit_url

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.

a11y_contrast_pair

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.

a11y_contrast_image

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 zona_peor (detección automática de zona hostil en una cuadrícula de 3×3). Lo que los comprobadores solo de pares no pueden hacer.

a11y_suggest_color

Color más cercano al tuyo que alcanza un ratio objetivo (4.5 por defecto).

a11y_generate_declaration

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.

a11y_snapshot

Snapshot de accesibilidad de una URL: elementos interactivos (tag, rol, nombre accesible, href) + orden real de foco por tab. Requiere Playwright localmente.

a11y_diff

Compara dos snapshots: interactivos añadidos/eliminados/renombrados y cambios en el orden de foco. Acepta JSON en línea o rutas de archivo.

a11y_diff_urls

Snapshot de dos URLs y diff en una sola llamada (staging vs producción).

a11y_aria_live_snippet

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 deploy

Ejecuta 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.

Install Server
A
license - permissive license
A
quality
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

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

View all related MCP servers

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.

View all MCP Connectors

Latest Blog Posts

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