loading…
Search for a command to run...
loading…
Enables automated WCAG 2.2 AA accessibility audits of Figma designs and webpages. Generates detailed markdown reports with severity-grouped violations, specific
Enables automated WCAG 2.2 AA accessibility audits of Figma designs and webpages. Generates detailed markdown reports with severity-grouped violations, specific criterion references, and concrete fix recommendations.
MCP server that audits Figma designs and webpages for accessibility compliance.
Accepts two input types:
get_design_context outputhttp://, https://, or localhost URLBoth produce a markdown audit report grouped by severity, with per-violation criterion references, concrete fix recommendations, a compliance gap analysis, and a manual review checklist.
| Tool | Input | Description |
|---|---|---|
audit_webpage(url, standard?) |
URL | Launches headless Chromium, injects axe-core, returns a structured audit report |
audit_figma_data(design_context, standard?) |
Figma MCP JSON | Analyzes Figma design JSON for contrast, touch targets, alt text, and more |
Both tools default to WCAG 2.2 AA. Pass the standard parameter to target a different standard.
| Identifier | Standard |
|---|---|
wcag22aa (default) |
WCAG 2.2 Level AA |
wcag22a |
WCAG 2.2 Level A |
wcag22aaa |
WCAG 2.2 Level AAA |
wcag21aa |
WCAG 2.1 Level AA |
wcag21a |
WCAG 2.1 Level A |
wcag21aaa |
WCAG 2.1 Level AAA |
| Identifier | Standard | WCAG basis |
|---|---|---|
section508 |
Section 508 (U.S. federal ICT law) | WCAG 2.0 AA, audited as WCAG 2.1 AA |
en301549 |
EN 301 549 v3.2.1 (EU ICT standard) | WCAG 2.1 AA |
iso30071 |
ISO/IEC 30071-1 (accessibility process standard) | WCAG 2.1 AA + process checklist |
Legal standard audits run the full WCAG automated checks against the underlying basis, then append a manual review checklist covering the standard's additional requirements (functional performance criteria, support documentation, organisational processes, etc.) that axe-core cannot verify automatically.
Every audit report includes:
| Prompt | Arguments | Description |
|---|---|---|
audit-figma |
url, standard? |
Orchestrates the two-step flow: Figma MCP → audit_figma_data |
audit-webpage |
url, standard? |
Runs audit_webpage and presents findings by severity |
pip install -r requirements.txt
playwright install chromium
axe-core is downloaded from the CDN on first run and cached locally as axe.min.js. No manual download needed.
No .env required — webpage audits run locally via Playwright, and Figma credentials live in the Figma MCP configuration.
This project runs inside a conda environment. Create one and install the dependencies:
conda create -n <your-env-name> python=3.11
conda activate <your-env-name>
pip install -r requirements.txt
playwright install chromium
The configs below use
myenvas a placeholder — replace it with your environment name.
Run once to register the server:
claude mcp add a11y /path/to/anaconda3/envs/myenv/bin/python -- /path/to/mcp-a11y-service/server.py
Or add it manually to your .claude/settings.json:
{
"mcpServers": {
"a11y": {
"command": "/path/to/anaconda3/envs/myenv/bin/python",
"args": ["/path/to/mcp-a11y-service/server.py"]
}
}
}
~/.cursor/mcp.json:{
"mcpServers": {
"a11y": {
"command": "/path/to/anaconda3/envs/myenv/bin/python",
"args": ["/path/to/mcp-a11y-service/server.py"]
}
}
}
a11y server will appear under Available Tools in the MCP panel.settings.json (Cmd+Shift+P → Preferences: Open User Settings (JSON)){
"claude.mcpServers": {
"a11y": {
"command": "/path/to/anaconda3/envs/myenv/bin/python",
"args": ["/path/to/mcp-a11y-service/server.py"]
}
}
}
pytest
Добавь это в claude_desktop_config.json и перезапусти Claude Desktop.
{
"mcpServers": {
"mcp-a11y-service": {
"command": "npx",
"args": []
}
}
}