a11y-mcp-server
MCP-сервер для аудита доступности, поиска критериев WCAG и получения рекомендаций по исправлению. Уже устарел.
Функции
a11y_lookup_wcag: Поиск критериев WCAG 2.2 по номеру, ключевому слову или уровню
a11y_check_pattern: Анализ HTML-фрагментов на наличие распространенных проблем с доступностью
a11y_suggest_fix: Получение шаблонов исправления с примерами кода «до/после»
a11y_document_component: Генерация документации по доступности для 18+ типов компонентов пользовательского интерфейса
a11y_audit_summary: Генерация профессиональных отчетов об аудите на основе списка проблем
Related MCP server: ws-mcp
Локальная разработка
# Install dependencies
npm install
# Build
npm run build
# Run locally
npm start
# Server runs on http://localhost:8080
# Health check: http://localhost:8080/health
# MCP endpoint: http://localhost:8080/mcpРазвертывание в NFSN
Предварительные требования (для моего пути; у вас может отличаться):
Аккаунт NFSN с денежными средствами (начальный депозит ~$10)
Настроенный SSH-доступ
Шаги по настройке
1. Создание сайта в NFSN
Войдите в интерфейс участников NFSN
Sites → Create a New Site
Тип сайта: Custom (требуется для демона Node.js)
Запишите имя хоста вашего сайта (например,
yoursite.nfshost.com)
2. Загрузка кода
# From project directory
rsync -avz --exclude node_modules --exclude .git --exclude dist \
./ USERNAME_SITENAME@ssh.phx.nearlyfreespeech.net:/home/protected/a11y-mcp-server3. Настройка SSH
ssh USERNAME_SITENAME@ssh.phx.nearlyfreespeech.net
# Navigate to project
cd /home/protected/a11y-mcp-server
# Check Node.js version (should be 18+)
node --version
# Install dependencies
npm install --production
# Build
npm run build
# Make run.sh executable
chmod +x run.sh
# Test locally
./run.sh
# Ctrl+C to stop4. Настройка демона NFSN
Перейдите в панель управления сайтом NFSN
Sites → Your Site → Site Information → Daemons
Добавьте демона:
Tag:
nodeCommand Line:
/home/protected/a11y-mcp-server/run.shWorking Directory:
/home/protected/a11y-mcp-server
5. Настройка прокси NFSN
Sites → Your Site → Site Information → Proxies
Добавьте прокси:
Protocol:
httpBase URI:
/mcpDocument Root: (оставьте пустым)
Target Port:
8080
6. Проверка развертывания
# Check health endpoint
curl https://yoursite.nfshost.com/health
# Test MCP endpoint
curl -X POST https://yoursite.nfshost.com/mcp \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-d '{"jsonrpc":"2.0","method":"tools/list","id":1}'Устранение неполадок
Проверка логов демона:
ssh USERNAME_SITENAME@ssh.phx.nearlyfreespeech.net
cat /home/protected/a11y-mcp-server/daemon.logПерезапуск демона: Через панель управления NFSN: Sites → Daemons → Restart
Проверка работы демона:
ps aux | grep nodeНастройка Claude Code
Добавьте в ~/.config/claude/claude_desktop_config.json:
{
"mcpServers": {
"a11y": {
"url": "https://yoursite.nfshost.com/mcp"
}
}
}Затем перезапустите Claude Code.
Локальное тестирование с Claude Code
Для тестирования перед развертыванием в NFSN запустите сервер локально и настройте Claude Code для подключения:
Запустите сервер:
npm startДобавьте в
~/.config/claude/claude_desktop_config.json:
{
"mcpServers": {
"a11y-local": {
"url": "http://localhost:8080/mcp"
}
}
}Перезапустите Claude Code
Вопросы для оценки
Используйте эти вопросы, чтобы убедиться, что сервер работает правильно:
Поиск WCAG: «Какой критерий WCAG охватывает навигацию с клавиатуры и какой у него уровень?»
Ожидается: Возвращает 2.1.1 Keyboard (Level A) с подробной информацией
Шаблон исправления: «Какой шаблон исправления для отсутствующего alt-текста у декоративных изображений?»
Ожидается: Возвращает шаблон с примером пустого alt=""
Документация компонента: «Создай документацию по доступности для компонента модального диалога.»
Ожидается: Возвращает взаимодействие с клавиатурой, атрибуты ARIA, ожидания для программ чтения с экрана
Поиск WCAG 2.2: «Какие критерии WCAG 2.2 специфичны для мобильных/сенсорных взаимодействий?»
Ожидается: Возвращает критерии 2.5.x Input Modalities
Распространенные ошибки: «Какие распространенные ошибки для критерия 1.4.3 Contrast?»
Ожидается: Возвращает техники ошибок F24, F83
Примеры использования
Поиск критерия WCAG
Query: "What WCAG criterion covers keyboard navigation?"
Tool: a11y_lookup_wcag
Args: { "query": "keyboard" }Проверка HTML на наличие проблем
Query: "Check this HTML for accessibility issues"
Tool: a11y_check_pattern
Args: { "html": "<img src='logo.png'><button><svg>...</svg></button>" }Получение шаблона исправления
Query: "How do I fix missing alt text on decorative images?"
Tool: a11y_suggest_fix
Args: { "issueType": "missing-alt-decorative" }Генерация документации компонента
Query: "Generate accessibility documentation for a modal dialog"
Tool: a11y_document_component
Args: { "componentType": "modal" }Обновление данных WCAG
Критерии WCAG объединены в src/data/wcag-criteria.json. Чтобы обновить:
Отредактируйте JSON-файл с новыми критериями
Пересоберите:
npm run buildПовторно разверните в NFSN
Лицензия
MIT
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
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/shawnmcb/a11y-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server
