Test web pages and HTML for accessibility issues and WCAG compliance using Axe-core and Puppeteer.
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.
Leave a star if you enjoyed the project! 🌟
To use this server with Claude Desktop, you need to configure it in the MCP settings:
For macOS:
Edit the file at '~/Library/Application Support/Claude/claude_desktop_config.json'
{
"mcpServers": {
"a11y-accessibility": {
"command": "npx",
"args": [
"-y",
"a11y-mcp-server"
]
}
}
}
For Windows:
Edit the file at %APPDATA%\Claude\settings\claude_mcp_settings.json
For Linux:
Edit the file at ~/.config/Claude/settings/claude_mcp_settings.json
Replace /path/to/axe-mcp-server/build/index.js
with the actual path to your compiled server file.
Tests a URL for accessibility issues.
Parameters:
url
(required): The URL of the web page to testtags
(optional): Array of WCAG tags to test against (e.g., ["wcag2aa"])Example
{
"url": "https://example.com",
"tags": ["wcag2aa"]
}
Tests an HTML string for accessibility issues. Parameters:
Example
{
"html": "<div><img src='image.jpg'></div>",
"tags": ["wcag2aa"]
}
Get information about available accessibility rules with optional filtering.
Check if a foreground and background color combination meets WCAG contrast requirements.
Parameters:
foreground
(required): Foreground color in hex format (e.g., "#000000")background
(required): Background color in hex format (e.g., "#FFFFFF")fontSize
(optional): Font size in pixels (default: 16)isBold
(optional): Whether the text is bold (default: false)Example
{
"foreground": "#777777",
"background": "#EEEEEE",
"fontSize": 16,
"isBold": false
}
Check if ARIA attributes are used correctly in HTML.
Parameters:
html
(required): HTML content to test for ARIA attribute usageExample
{
"html": "<div role='button' aria-pressed='false'>Click me</div>"
}
Check if content forces a specific orientation.
Parameters:
html
(required): HTML content to test for orientation lock issuesExample
{
"html": "<html><head><meta name='viewport' content='width=device-width, orientation=portrait'></head><body>Content</body></html>"
}
The server returns accessibility test results in a structured JSON format:
{
"violations": [
{
"id": "color-contrast",
"impact": "serious",
"description": "Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds",
"help": "Elements must meet minimum color contrast ratio thresholds",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/color-contrast",
"affectedNodes": [
{
"html": "<div style=\"color: #aaa; background-color: #eee;\">Low contrast text</div>",
"target": ["div"],
"failureSummary": "Fix any of the following: Element has insufficient color contrast of 1.98 (foreground color: #aaa, background color: #eee, font size: 12.0pt, font weight: normal)"
}
]
}
],
"passes": 1,
"incomplete": 0,
"inapplicable": 2,
"timestamp": "2025-04-25T16:45:33.655Z",
"url": "about:blank",
"testEngine": {
"name": "axe-core",
"version": "4.10.3"
},
"testRunner": {
"name": "axe"
},
"testEnvironment": {
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/135.0.0.0 Safari/537.36",
"windowWidth": 800,
"windowHeight": 600,
"orientationAngle": 0,
"orientationType": "portrait-primary"
}
}
A server providing tools for developers working with Starwind UI components.
Token-efficient access to OpenAPI/Swagger specs via MCP Resources
Integrates with Google AI Studio/Gemini API for PDF to Markdown conversion and content generation.
An advanced penetration testing tool for automated, LLM-driven security assessments using tools like nmap and dirb.
A comprehensive MCP server for managing OPNsense firewalls, offering over 300 tools for configuration and monitoring.
Explore and analyze OpenAPI specifications from local files or remote URLs.
Integrate Testomat.io API with AI assistants for test management.
Interact with Alchemy's blockchain APIs to query data without writing code.
Image generation and editing using the FLUX.1 Kontext [Max] model via the Replicate API, featuring advanced text rendering and contextual understanding.
A proxy server that enables existing REST APIs to be used as Model Context Protocol (MCP) servers.