Wcag Text
БесплатноНе проверенValidates text accessibility (contrast, spacing, language) against WCAG 2.1 criteria via modular MCP tools.
Описание
Validates text accessibility (contrast, spacing, language) against WCAG 2.1 criteria via modular MCP tools.
README
A modular suite of MCP (Model Context Protocol) servers for WCAG 2.1 accessibility validation.
Architecture
This monorepo contains individual focused servers plus an umbrella server for full WCAG coverage:
packages/
├── core/ # Shared types, criteria definitions, report formatting
├── text/ # Text accessibility (contrast, spacing, language)
├── keyboard/ # Keyboard navigation and focus (2.1.x, 2.4.x)
├── aria/ # ARIA roles, states, properties (4.1.x)
├── media/ # Captions, audio descriptions (1.2.x)
├── forms/ # Labels, error handling (1.3.x, 3.3.x)
├── structure/ # Headings, landmarks, reading order (1.3.x, 2.4.x)
└── full/ # Umbrella combining all servers
Quick Start
# Install dependencies
npm install
# Build all packages
npm run build
# Or build individually
npm run build:core
npm run build:text
npm run build:keyboard
# etc.
Packages
@wcag-mcp/core
Shared library with:
- TypeScript types for check results, reports, criteria
- Complete WCAG 2.1 criteria definitions (78 criteria) with categories
- Report formatting utilities (human-readable and machine-readable)
@wcag-mcp/text
Text accessibility validation.
WCAG Criteria: 1.4.3, 1.4.4, 1.4.5, 1.4.6, 1.4.8, 1.4.10, 1.4.12, 3.1.1, 3.1.2
Tools:
check_contrast- Color contrast ratio (AA/AAA)check_text_spacing- Line-height, letter/word spacingcheck_line_length- Max 80 characters (AAA)check_language- Page lang attributevalidate_text- Comprehensive text validationget_wcag_text_criteria- Reference data
@wcag-mcp/keyboard
Keyboard and pointer accessibility validation.
WCAG Criteria: 2.1.1, 2.1.2, 2.1.4, 2.2.1, 2.2.3, 2.4.3, 2.4.7, 2.5.1, 2.5.2, 2.5.4, 2.5.5, 3.2.1
Tools:
check_keyboard_access- Keyboard operability, focus trappingcheck_focus_indicator- Focus visibility and contrastcheck_timing- Time limit adjustabilitycheck_motion- Motion actuation controlscheck_pointer_gestures- Complex gesture alternativescheck_pointer_cancellation- Down-event cancellationcheck_target_size- Touch target dimensionsget_wcag_keyboard_criteria- Reference data
@wcag-mcp/aria
ARIA and semantic accessibility validation.
WCAG Criteria: 2.5.3, 4.1.1, 4.1.2, 4.1.3
Tools:
check_name_role_value- Accessible names, roles, statescheck_status_message- Live region announcementscheck_aria_attributes- ARIA attribute validitycheck_landmarks- Landmark region labelingcheck_label_in_name- Visible label in accessible nameget_wcag_aria_criteria- Reference data
@wcag-mcp/media
Media accessibility validation.
WCAG Criteria: 1.2.1-1.2.9, 1.4.2, 2.2.2, 2.3.1, 2.3.2, 2.3.3
Tools:
check_captions- Caption availability (prerecorded/live)check_audio_description- Audio description for videocheck_transcript- Text alternatives for mediacheck_media_controls- Autoplay control mechanismscheck_animation- Animation pause/stop controlscheck_flashing- Flash frequency thresholdscheck_sign_language- Sign language interpretationget_wcag_media_criteria- Reference data
@wcag-mcp/forms
Form accessibility validation.
WCAG Criteria: 1.3.5, 3.2.2, 3.3.1-3.3.6
Tools:
check_form_labels- Label associationscheck_input_purpose- Autocomplete attributescheck_error_identification- Error messagingcheck_error_prevention- Submission safeguardscheck_input_constraints- Format instructionscheck_on_input- Context change on inputvalidate_form- Comprehensive form validationget_wcag_forms_criteria- Reference data
@wcag-mcp/structure
Page structure and navigation validation.
WCAG Criteria: 1.3.1, 1.3.2, 2.4.1, 2.4.2, 2.4.4, 2.4.5, 2.4.6, 2.4.9, 2.4.10, 3.2.3, 3.2.4
Tools:
check_heading_structure- Heading hierarchycheck_page_title- Title descriptivenesscheck_link_purpose- Link text claritycheck_bypass_blocks- Skip links, landmarkscheck_reading_order- DOM/visual order matchcheck_info_relationships- Semantic structurecheck_multiple_ways- Navigation methodscheck_consistent_navigation- Navigation consistencycheck_consistent_identification- Component labelingget_wcag_structure_criteria- Reference data
@wcag-mcp/full
Umbrella server with overview and export tools.
Tools:
get_all_wcag_criteria- All criteria filtered by level/categoryget_wcag_checklist- Conformance level checklistwcag_help- Usage helpexport_report- Export any check's results to a Markdown file
Exporting Results
Any WCAG check tool returns a MACHINE-READABLE JSON block in its output. Pass that JSON to export_report to save a formatted Markdown report:
WCAG_Results_2026-02-24.md
The report includes:
- Summary table (total/passed/failed/warnings)
- Breakdown by conformance level (A/AA/AAA)
- Detailed failures with recommendations and WCAG reference links
- Warnings and passed checks
Optional parameters:
outputDir— directory to save the file (defaults to current working directory)title— custom report titleurl— URL of the page auditednotes— additional notes appended to the report
Usage with Claude Code
Add to your .mcp.json:
{
"mcpServers": {
"wcag-text": {
"command": "node",
"args": ["/path/to/wcag-mcp/packages/text/dist/index.js"]
},
"wcag-keyboard": {
"command": "node",
"args": ["/path/to/wcag-mcp/packages/keyboard/dist/index.js"]
},
"wcag-aria": {
"command": "node",
"args": ["/path/to/wcag-mcp/packages/aria/dist/index.js"]
},
"wcag-media": {
"command": "node",
"args": ["/path/to/wcag-mcp/packages/media/dist/index.js"]
},
"wcag-forms": {
"command": "node",
"args": ["/path/to/wcag-mcp/packages/forms/dist/index.js"]
},
"wcag-structure": {
"command": "node",
"args": ["/path/to/wcag-mcp/packages/structure/dist/index.js"]
}
}
}
Or use the umbrella server:
{
"mcpServers": {
"wcag": {
"command": "node",
"args": ["/path/to/wcag-mcp/packages/full/dist/index.js"]
}
}
}
Auto-Approve Tools
By default, Claude Code prompts for permission on every MCP tool call. To auto-approve all WCAG tools, add this to your Claude Code settings.
Per-project (.claude/settings.local.json):
{
"permissions": {
"allow": [
"mcp__wcag*"
]
}
}
Global (~/.claude/settings.json):
{
"permissions": {
"allow": [
"mcp__wcag*"
]
}
}
The wildcard mcp__wcag* matches all tools from every WCAG MCP server (wcag-text, wcag-keyboard, wcag-aria, etc.).
Development
# Watch mode for development
cd packages/text && npm run dev
# Build all
npm run build
# Clean all dist folders
npm run clean
Adding New Checks
Import shared utilities from @wcag-mcp/core:
import {
createReport,
formatToolResponse,
getCriteriaByCategory,
type CheckResult
} from "@wcag-mcp/core";
// Get criteria for a category
const criteria = getCriteriaByCategory("keyboard");
// Create a check result
const result: CheckResult = {
criterion: "2.1.1",
name: "Keyboard",
level: "A",
status: "pass",
message: "All functionality is keyboard accessible"
};
// Create formatted report
const report = createReport([result], {
title: "My Check",
category: "keyboard"
});
License
MIT
Установка Wcag Text
У этого сервера нет опубликованного пакета — он собирается из исходников. Открой репозиторий и следуй инструкции в README.
▸ github.com/erikcaineolson/wcag-mcpFAQ
Wcag Text MCP бесплатный?
Да, Wcag Text MCP бесплатный — установка в пару кликов через Unyly без оплаты.
Нужен ли API-ключ для Wcag Text?
Нет, Wcag Text работает без API-ключей и переменных окружения.
Wcag Text — hosted или self-hosted?
Self-hosted: сервер запускается локально на твоей машине командой из раздела установки.
Как установить Wcag Text в Claude Desktop, Claude Code или Cursor?
Открой Wcag Text на unyly.org, выбери вкладку своего клиента (Claude Desktop, Claude Code, Cursor) и нажми Install — конфиг сгенерируется автоматически, без правки JSON.
Похожие MCP
GitHub
PRs, issues, code search, CI status
автор: GitHubFilesystem
Secure file operations with configurable access controls.
Memory
Knowledge graph-based persistent memory system.
Template MCP Server
A CLI tool to create a new Model Context Protocol server project with TypeScript support, dual transport options, and an extensible structure
автор: mcpdotdirectCompare Wcag Text with
Не уверен что выбрать?
Найди свой стек за 60 секунд
Автор?
Embed-бейдж для README
Похожее
Все в категории development
