Skip to main content
Glama

a11y-toolkit MCP

CI License: MIT Python 3.9+ MCP

Набор инструментов WCAG 2.2 для доступности в виде MCP-сервера (Model Context Protocol) для ИИ-агентов — плюс унифицированный CLI. Ноль зависимостей в ядре; вся математика локальная и точная (официальная формула относительной светимости).

Полный цикл аудит → исправление → документирование → контроль регрессий — в одном наборе инструментов:

  1. Аудит: экспресс-аудит WCAG любого URL (результаты, ранжированные по серьёзности)

  2. Исправление: точные проверки контраста — цветовые пары и текст поверх изображений (попиксельная выборка реального фона) — с предложениями ближайшего проходящего цвета

  3. Документирование: юридические декларации доступности (ЕС), генерируемые как доступный HTML

  4. Контроль: снимки + различия между сборками для выявления регрессий доступности до продакшена

Многоязычность es/en во всех инструментах (декларации на EN используют формулировки Директивы (ЕС) 2016/2102 и Директивы (ЕС) 2019/882 — Европейского акта о доступности —, полезно по всему ЕС).

Инструменты MCP (9)

Инструмент

Что делает

a11y_audit_url

Экспресс-аудит WCAG URL: изображения без alt (1.1.1), элементы управления без доступных имён (4.1.2), поля форм без меток (3.3.2), отсутствие lang/title (3.1.1, 2.4.2), пропуски уровней заголовков (1.3.1), заблокированное масштабирование (1.4.4), положительный tabindex (2.4.3), iframe без заголовка. Ранжировано по серьёзности. Фильтр, а не вердикт — автоматизация покрывает ~1/3 WCAG.

a11y_contrast_pair

Точный коэффициент контраста + вердикты по каждому критерию: 1.4.3 (AA), 1.4.6 (AAA), 1.4.11 (не-текст). Если AA не пройден, предлагает ближайший проходящий цвет.

a11y_contrast_image

Текст поверх изображений: попиксельная выборка реального фона за текстовым блоком → худший/медианный/p95 коэффициент, % площади, проходящей AA, и zona_peor (автоматическое обнаружение неблагоприятной зоны на сетке 3×3). То, что не могут сделать проверки только пар.

a11y_suggest_color

Ближайший к вашему цвет, достигающий целевого коэффициента (по умолчанию 4.5).

a11y_generate_declaration

Юридическая декларация доступности в HTML: RD 1112/2018 ст. 10 (Испания, государственный сектор) или формулировки Ley 11/2023 / Европейского акта о доступности. es/en. Сгенерированный документ сам по себе доступен.

a11y_snapshot

Снимок доступности URL: интерактивные элементы (тег, роль, доступное имя, href) + реальный порядок фокуса по Tab. Требует Playwright локально.

a11y_diff

Сравнивает два снимка: добавленные/удалённые/переименованные интерактивные элементы и изменения порядка фокуса. Принимает встроенный JSON или пути к файлам.

a11y_diff_urls

Снимок двух URL и сравнение одним вызовом (staging против production).

a11y_aria_live_snippet

Внедряемый монитор, который записывает каждое объявление динамической области (aria-live, role=alert/status): время, вежливость, роль, текст — то, что сказал бы скринридер, видимое на экране.

Related MCP server: Accessibility MCP Server

Установка как MCP

{
  "mcpServers": {
    "a11y-toolkit": {
      "command": "python3",
      "args": ["/path/to/a11y-toolkit/server.py"]
    }
  }
}

Или с помощью uv, без клонирования:

{
  "mcpServers": {
    "a11y-toolkit": {
      "command": "uvx",
      "args": ["--from", "git+https://github.com/kinti/a11y-toolkit", "a11y-toolkit-mcp"]
    }
  }
}

Добавьте "timeoutMs": 60000, если планируете использовать a11y_snapshot (запуск браузера).

Единый CLI — одна команда для всего

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

Запуск из репозитория: python3 a11y.py <subcommand>.

Интерпретация режима изображения

  • ratio_peor (худший) — самое неблагоприятное место для цвета вашего текста.

  • area_pasa_aa_texto_normal_4_5 — % безопасной поверхности. Если < 100% там, где находится текст: затемнение/оверлей, обрезка или перемещение текста.

  • zona_peor — ячейка сетки 3×3, которая проваливается сильнее всего, с точными координатами.

Безопасность и область применения

Локальный инструмент: работает на вашей машине от вашего имени. Аргументы path (изображение) и output_path (декларация) читают/записывают локальные пути — используйте его в доверенных MCP-клиентах. Ничего не отправляется по сети (кроме получения URL, который вы явно проверяете).

Технические примечания

  • Декодирование изображений: Pillow, если доступен, иначе sips (macOS); PPM всегда (поэтому CI не требует зависимостей).

  • Монитор aria-live несёт задокументированный урок дизайна: его панель намеренно НЕ является живой областью и исключает себя из наблюдателя — панель с role="log" совпала бы с собственным селектором и создала бы бесконечный цикл самонаблюдения. Мы знаем, потому что это случилось с нами.

  • Протестировано на реальных продакшен-сайтах (собственных сайтах автора, которые должны проходить собственный аудит).

  • Веб-версии для людей (та же математика): jquin.net/lab — контраст (пары + изображение), генератор деклараций, монитор aria-live, сравнение сборок.


Испанский

Набор инструментов доступности WCAG 2.2 как MCP-сервер + единый CLI. Ноль зависимостей в ядре (Pillow опционален; sips на macOS; PPM всегда). Весь цикл в одном наборе: аудит (a11y_audit_url) → исправление (контраст пар и текст поверх изображения с попиксельной выборкой и обнаружением неблагоприятной зоны; предложение доступного цвета) → документирование (юридическая декларация RD 1112/2018 ст. 10 или Ley 11/2023/EAA, в доступном HTML) → контроль (снимки и diff между сборками: добавленные/удалённые/переименованные и порядок фокуса).

9 инструментов MCP (см. таблицу выше) · многоязычность es/en (декларация на EN использует терминологию Директив (ЕС) 2016/2102 и 2019/882) · единый CLI a11y с подкомандами pair, image, audit, declaration, snapshot, diff.

{ "mcpServers": { "a11y-toolkit": {
    "command": "python3", "args": ["/ruta/al/repo/server.py"] } } }

Локальный инструмент: аргументы path и output_path читают/записывают локальные пути; ничего не выходит в сеть, кроме URL, который вы явно проверяете. Монитор aria-live документирует свой урок дизайна: панель НЕ является живой областью и самоисключается из наблюдателя (role="log" совпал бы с собственным селектором и создал бы бесконечный цикл самонаблюдения — мы знаем, потому что это случилось с нами). Веб-версии для людей: jquin.net/lab.

Автор

Jesús Quintana Fernández (jquin.net) — SEO/GEO-консультант и практик веб-доступности с 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