@wcag-checkr/mcp
Model Context Protocol server for wcagcheckr. Lets LLM-IDEs drive accessibility audits, verify forensic receipts, and look up tier features via tool-use.
Why this matters
axe DevTools shipped an MCP server in 2026 (paid tier). We ship one for free, with one extra: it audits across our 108-state matrix (hover/focus/dark/RTL/breakpoints), so the LLM gets findings competitors' single-state audits would miss.
Tools exposed
| Tool | What it does |
|---|---|
audit_url |
Run a multi-state accessibility audit on a URL. Returns structured findings (JSON / SARIF / JUnit). |
verify_receipt |
Independently verify a wcagcheckr forensic-anchor receipt's ed25519 signature against the published public key. |
get_tier_config |
Fetch the per-product tier feature flags. |
Install
npm install -g @wcag-checkr/mcp @wcag-checkr/ci
npx playwright install chromium
Use with Claude Code
Add to ~/.claude/mcp.json (or use claude mcp add if available in your version):
{
"mcpServers": {
"wcagcheckr": {
"command": "wcagcheckr-mcp"
}
}
}
Then in any conversation:
"Audit https://staging.example.com for accessibility issues."
Claude will call audit_url and return findings, ready for fix-it discussion.
Use with Cursor
Add to ~/.cursor/mcp.json:
{
"mcpServers": {
"wcagcheckr": {
"command": "wcagcheckr-mcp"
}
}
}
Use with Continue
Add to your Continue config under mcpServers:
{
"mcpServers": [
{
"name": "wcagcheckr",
"command": "wcagcheckr-mcp"
}
]
}
Environment variables
| Var | Default | Purpose |
|---|---|---|
WCAGCHECKR_SERVER_URL |
https://api.wcagcheckr.com |
Override the server base URL (e.g. for self-hosted instance) |
WCAGCHECKR_PRODUCT_SLUG |
wcagcheckr |
Override the product slug |
WCAGCHECKR_CI_PATH |
bundled | Override the path to the CI runner (used by audit_url) |
Examples — what an LLM can do with this
Auditing a deployment preview
User: "Audit my Vercel preview at https://my-site-pr-42.vercel.app — fail the build if there are any serious violations."
Claude calls
audit_urlwiththreshold: serious, gets back JSON, summarizes findings, and tells the user the exit code mapping.
Validating a forensic receipt
User: pastes a forensic-log entry copied from a defense bundle
"Is this receipt actually from wcagcheckr?"
Claude calls
verify_receipt, gets a "✓ valid signature" response, explains what was verified (and what wasn't — i.e., directs the user toopenssl ts -verifyfor the TSA token).
Tier-feature questions
User: "Does the Solo plan include forensic anchoring?"
Claude calls
get_tier_config, findsfeatures.forensicAnchoring: truefor the solo plan, answers.
Limitations (v0)
audit_urlshells out to@wcag-checkr/ciwhich spawns Chromium with the loaded extension. Heavy — single audits take 15-60s. Don't expect sub-second response.verify_receiptonly verifies our ed25519 signature. Full RFC 3161 timestamp verification against FreeTSA's CA chain is intentionally out of scope (useopenssl ts -verifyfor that — seehttps://api.wcagcheckr.com/verifyfor openssl-command instructions tailored to a specific receipt).- No streaming. Audits report results when done, not incrementally.
License
UNLICENSED until commercial release. See wcagcheckr.com/license.