The A11y MCP Server enables LLMs to perform comprehensive web accessibility testing using Axe-core and Puppeteer. Key capabilities include:
Test live web pages - Analyze any public URL for accessibility issues and WCAG compliance violations
Test HTML snippets - Evaluate raw HTML strings for accessibility problems without needing a live URL
WCAG compliance testing - Check content against various WCAG standards (2.0, 2.1, 2.2 at levels A, AA, AAA) with customizable tag filtering
Color contrast analysis - Verify if foreground/background color combinations meet WCAG contrast requirements for different font sizes and weights
ARIA attribute validation - Ensure ARIA attributes are being used correctly in HTML content
Orientation lock detection - Identify if content forces specific screen orientations (portrait/landscape)
Rule exploration - Get detailed information about available Axe-core accessibility rules with optional filtering
Detailed violation reports - Receive comprehensive JSON-formatted results including violations, passes, affected nodes, impact levels, descriptions, and remediation guidance
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@A11y MCP Servertest our homepage https://example.com for WCAG 2.1 compliance"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Web Accessibility-Testing MCP Server (A11y MCP)
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.
Leave a star if you enjoyed the project! 🌟
Features
Test web pages: Test any public URL for accessibility issues
Test HTML snippets: Test raw HTML strings for accessibility issues
WCAG compliance testing: Check content against various WCAG standards (2.0, 2.1, 2.2)
Customizable tests: Specify which accessibility tags/standards to test against
Rule exploration: Get information about available accessibility rules
Color contrast analysis: Check color combinations for WCAG compliance
ARIA validation: Test proper usage of ARIA attributes
Orientation lock detection: Identify content that forces specific screen orientations
Related MCP server: Web Accessibility MCP Server
Installation
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'
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.
Available Tools
test_accessibility
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
test_html_string
Tests an HTML string for accessibility issues. Parameters:
html (required): The HTML content to test
tags (optional): Array of WCAG tags to test against (e.g., ["wcag2aa"])
Example
get_rules
Get information about available accessibility rules with optional filtering.
check_color_contrast
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
check_color_contrast
Check if ARIA attributes are used correctly in HTML.
Parameters:
html(required): HTML content to test for ARIA attribute usage
Example
check_orientation_lock
Check if content forces a specific orientation.
Parameters:
html(required): HTML content to test for orientation lock issues
Example
Response Format
The server returns accessibility test results in a structured JSON format:
Dependencies
@modelcontextprotocol/sdk
puppeteer
@axe-core/puppeteer
axe-core