axle · Model Context Protocol
axle MCP server
One npx away from giving Claude Desktop, Cursor, Cline, or any MCP-compatible agent the ability to scan a URL for WCAG 2.1 / 2.2 AA violations and return a structured report — same engine (axe-core 4.11) that powers the axle GitHub Action and the WordPress / VSCode / Storybook plugins.
What your agent gets
scan_url— Renders the URL in headless Chromium, runs axe-core 4.11, returns violations grouped by severity (critical / serious / moderate / minor) plus a public shareable certificate URL at/r/<id>.explain_violation— Given an axe-core rule ID (e.g.color-contrast), returns the WCAG criteria, ADA / EAA framing, and the Deque University remediation patterns.
Install in Claude Desktop
Edit ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):
{
"mcpServers": {
"axle": {
"command": "npx",
"args": ["-y", "axle-mcp"]
}
}
}Restart Claude Desktop. You'll see a 🔨 icon in the composer — click it and axle.scan_url is callable.
Install in Cursor
Settings → Features → Model Context Protocol → Add server:
Command: npx -y axle-mcp
Install in Cline (VS Code)
{
"axle": {
"command": "npx",
"args": ["-y", "axle-mcp"]
}
}Install in Continue.dev
In ~/.continue/config.json:
{
"mcpServers": {
"axle": {
"command": "npx",
"args": ["-y", "axle-mcp"]
}
}
}Try it
Once installed, in any MCP-connected chat just ask:
- Is
https://example.comADA compliant? - Scan
https://stripe.com/pricingfor WCAG 2.2 AA violations. - Audit
https://staging.acme.comand explain the top 3 issues.
Removing the rate limit
Free tier is 5 scans / day per IP. To remove the limit, get an API key from /pricing and add it to the MCP config:
{
"mcpServers": {
"axle": {
"command": "npx",
"args": ["-y", "axle-mcp"],
"env": {
"AXLE_API_KEY": "sk_axle_..."
}
}
}
}Why axle-mcp vs other a11y MCP servers?
- Same engine as the GitHub Action. What you see in chat is exactly what the CI will block on PR — no surprises when a scan in chat passes but a scan in CI fails.
- Public shareable certificate URLs.
/r/<id>is a permanent public report you can paste into a Jira ticket, a sales-engineering doc, or an EAA conformance bundle. - No local Chromium.Runs against the hosted scanner so it works even when you don't have Playwright installed.
- Local-first option. If you want fully local scanning, swap to axle-cli — same project, same engine, no network.
Honest scope
axe-core (and therefore this MCP server) catches roughly 57% of WCAG issues automatically. The other 43% require manual review by a qualified human auditor. Treat the output as a high-recall first pass, not a conformance certificate.
Source: github.com/asafamos/axle/packages/axle-mcp · npm: axle-mcp · Already use ChatGPT? Add axle to a GPT instead.