The full upstream README, mirrored here for reference. Install config, tool schemas, adoption signals, and an original overview live on the A11ymcp listing page.
https://github.com/user-attachments/assets/316c6d44-e677-433e-b4d5-63630b4bab2b
A11y MCP is an MCP (Model Context Protocol) server that gives LLMs access to web accessibility testing APIs.
This server uses the Deque Axe-core API and Puppeteer to allow LLMs to analyze web content for WCAG compliance and identify accessibility issues.
Note: This is not an official MCP server from Deque Labs.
Edit your MCP configuration file:
~/Library/Application Support/Claude/claude_desktop_config.json%APPDATA%\Claude\claude_desktop_config.json~/.config/Claude/claude_desktop_config.jsonAdd the server to the mcpServers object:
This registers the server for the current project. To make it available across all projects:
Verify the server is registered:
Note: MCP tools become available after restarting your Claude Code session.
Add to your VS Code settings.json or .vscode/settings.json:
Add to your Cursor MCP configuration (.cursor/mcp.json):
Add to your Windsurf MCP configuration (~/.codeium/windsurf/mcp_config.json):
Tests a URL for accessibility issues.
Parameters:
| Parameter | Required | Description |
|---|---|---|
url | Yes | The URL of the web page to test |
tags | No | Array of WCAG tags to test against (e.g., ["wcag2aa"]) |
width | No | Viewport width in pixels (default: 1280) |
height | No | Viewport height in pixels (default: 800) |
Example — desktop viewport (default):
Example — mobile viewport (iPhone 12/13):
Tests an HTML string for accessibility issues.
Parameters:
| Parameter | Required | Description |
|---|---|---|
html | Yes | The HTML content to test |
tags | No | Array of WCAG tags to test against (e.g., ["wcag2aa"]) |
width | No | Viewport width in pixels (default: 1280) |
height | No | Viewport height in pixels (default: 800) |
Example — default viewport:
Example — mobile viewport:
Get information about available accessibility rules with optional filtering. Returns an array of rule objects, each containing ruleId, description, help, helpUrl, and tags.
Parameters:
| Parameter | Required | Description |
|---|---|---|
tags | No | Filter rules by tags (e.g., ["wcag2a", "wcag2aa", "best-practice"]) |
Example — filter rules by WCAG 2.1 AA:
Example — get all rules (no filter):
Check if a foreground and background color combination meets WCAG contrast requirements.
Parameters:
| Parameter | Required | Description |
|---|---|---|
foreground | Yes | Foreground color (e.g., "#000000", "rgb(0,0,0)") |
background | Yes | Background color (e.g., "#FFFFFF", "rgb(255,255,255)") |
fontSize | No | Font size in pixels (default: 16) |
isBold | No | Whether the text is bold (default: false) |
Example:
Check if ARIA attributes are used correctly in HTML.
Parameters:
| Parameter | Required | Description |
|---|---|---|
html | Yes | HTML content to test for ARIA attribute usage |
Example:
Check if content forces a specific orientation.
Parameters:
| Parameter | Required | Description |
|---|---|---|
html | Yes | HTML content to test for orientation lock issues |
Example:
The server returns accessibility test results in structured JSON:
Common tags you can use with the tags parameter:
| Tag | Description |
|---|---|
wcag2a | WCAG 2.0 Level A |
wcag2aa | WCAG 2.0 Level AA |
wcag2aaa | WCAG 2.0 Level AAA |
wcag21a | WCAG 2.1 Level A |
wcag21aa | WCAG 2.1 Level AA |
wcag22aa | WCAG 2.2 Level AA |
best-practice | Best practices (not strictly WCAG) |
MIT