Accessibility Testing MCP
Enables accessibility testing of websites and HTML content using axe-core and IBM Equal Access engines. Supports WCAG compliance checking, multi-viewport testing, and provides detailed violation reports with remediation guidance.
README
Accessibility Testing MCP
An MCP server for accessibility testing using axe-core and IBM Equal Access. Choose your testing engine or use both for comprehensive coverage.
Example Prompts
- "Test the accessibility of https://example.com"
- "Test the accessibility of https://example.com" blockers only output issues in chat: What is the Issue, Who it Impacts, How to Fix, WCAG, Severity, Code Snippet"
Dual Engine Support
- Axe-core (Deque) - Industry standard, zero false positives
- IBM Equal Access - Comprehensive IBM accessibility requirements
Multi-Screen Testing
Test at multiple viewport sizes to catch responsive accessibility issues.
Tools
| Tool | Description |
|---|---|
analyze_url |
Test any URL for accessibility issues |
analyze_url_json |
URL test with raw JSON output |
analyze_html |
Test HTML content directly |
analyze_html_json |
HTML test with raw JSON output |
get_rules |
List available accessibility rules |
All tools accept an optional engine parameter ("axe" or "ace").
Installation
npm install
npm run build
Configuration
Environment Variables
Configure via MCP config env section:
| Variable | Values | Default | Description |
|---|---|---|---|
A11Y_ENGINE |
axe, ace |
axe |
Testing engine |
WCAG_LEVEL |
2.0_A, 2.0_AA, 2.1_A, 2.1_AA, 2.2_AA, etc. |
2.1_AA |
WCAG version & level |
BEST_PRACTICES |
true, false |
true |
Include best practices/recommendations |
SCREEN_SIZES |
Comma-separated WIDTHxHEIGHT |
1280x1024 |
Viewport sizes to test |
HEADLESS_BROWSER |
true, false |
true |
Run browser in headless mode; set to false to open visible browser |
The WCAG_LEVEL setting automatically configures both Axe-core tags and IBM Equal Access policies.
VS Code (GitHub Copilot)
Add to VS Code settings (JSON):
"mcp": {
"servers": {
"accessibility-testing-mcp": {
"type": "stdio",
"command": "node",
"args": ["/path/to/accessibility-testing-mcp/build/index.js"],
"env": {
"A11Y_ENGINE": "axe",
"WCAG_LEVEL": "2.2_AA",
"BEST_PRACTICES": "true",
"SCREEN_SIZES": "1280x1024,320x640",
"HEADLESS_BROWSER": "true"
}
}
}
}
Claude Desktop
Add to claude_desktop_config.json:
{
"mcpServers": {
"accessibility": {
"command": "node",
"args": ["/path/to/accessibility-testing-mcp/build/index.js"],
"env": {
"A11Y_ENGINE": "ace",
"WCAG_LEVEL": "2.2_AA",
"BEST_PRACTICES": "true"
}
}
}
}
Understanding Results
Axe-core Output
- Violations: Definite accessibility failures
- Incomplete: Needs manual review
- Passes: Rules that passed
- Inapplicable: Rules that don't apply
IBM Equal Access Output
- Violations: Accessibility failures
- Potential Violations: Needs review
- Recommendations: Suggested improvements (when BEST_PRACTICES=true)
- Manual Checks: Requires human testing
WCAG_LEVEL Values
| Level | Description |
|---|---|
2.0_A |
WCAG 2.0 Level A |
2.0_AA |
WCAG 2.0 Level AA |
2.1_A |
WCAG 2.1 Level A |
2.1_AA |
WCAG 2.1 Level AA (default) |
2.1_AAA |
WCAG 2.1 Level AAA |
2.2_A |
WCAG 2.2 Level A |
2.2_AA |
WCAG 2.2 Level AA |
2.2_AAA |
WCAG 2.2 Level AAA |
Dependencies
- @modelcontextprotocol/sdk - MCP server framework
- axe-core - Deque accessibility testing engine
- accessibility-checker - IBM Equal Access engine
- playwright - Headless browser automation
License
MIT
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
E2B
Using MCP to run code via e2b.