@a11yflowdev/mcp
v0.1.2
Published
MCP server for A11yFlow — accessibility scanning tools for AI agents
Maintainers
Readme
@a11yflowdev/mcp
MCP server for A11yFlow — gives AI agents accessibility scanning superpowers. Works with Claude Code, Claude Desktop, Cursor, Windsurf, and any MCP-compatible client.
Scan pages, read results, look up rules, and manage schedules — all through natural tool calls. The agent gets plain-language explanations it can relay directly to users.
Setup
Claude Code
Add to .mcp.json in your project root:
{
"mcpServers": {
"a11yflow": {
"command": "npx",
"args": ["@a11yflowdev/mcp"],
"env": {
"A11YFLOW_API_KEY": "sk_live_your_key"
}
}
}
}Claude Desktop
Add to claude_desktop_config.json:
{
"mcpServers": {
"a11yflow": {
"command": "npx",
"args": ["@a11yflowdev/mcp"],
"env": {
"A11YFLOW_API_KEY": "sk_live_your_key"
}
}
}
}Cursor
Add to .cursor/mcp.json:
{
"mcpServers": {
"a11yflow": {
"command": "npx",
"args": ["@a11yflowdev/mcp"],
"env": {
"A11YFLOW_API_KEY": "sk_live_your_key"
}
}
}
}Get an API key free at a11yflow.dev.
Available Tools
a11yflow_scan
Run a single-page WCAG 2.2 accessibility scan. Polls internally — the agent calls once and gets complete results.
Parameters:
url(required) — URL to scanstandard—wcag2a,wcag2aa,wcag2aaa,wcag22aa(default)waitFor— milliseconds to wait for JS rendering (default: 3000)includeHtml— include HTML snippets of violating elements (default: true)includeBestPractices— include non-WCAG rules (default: false)
Returns: Score, violations with plain-language explanations (what's wrong, who's affected, how to fix), WCAG guidelines, EAA obligations, and affected elements.
a11yflow_crawl
Crawl and scan multiple pages. Returns aggregate scores and per-page results.
Parameters:
url(required) — starting URLmode—links(default) orsitemapmaxPages— 2-50 (default: 10, tier-dependent)standard— WCAG standard
a11yflow_get_scan
Retrieve results of a previous scan by ID.
Parameters:
scanId(required) — scan job IDformat—full(default),summary,violations-only
a11yflow_lookup_rule
Look up documentation for an accessibility rule.
Parameters:
ruleId(required) — axe-core rule ID (e.g.color-contrast,image-alt,label)
Returns: Rule description, WCAG guidelines, EAA obligations, fix guidance, and Deque University link.
a11yflow_list_rules
List all supported accessibility rules.
Parameters:
impact(optional) — filter bycritical,serious,moderate,minor
a11yflow_usage
Check current API usage — scheduled scan and webhook counts.
Example Workflows
"Scan my staging site and fix the issues"
1. Agent calls a11yflow_scan({ url: "https://staging.example.com" })
2. Gets back: 4 violations (2 critical, 1 serious, 1 moderate)
3. For each violation, reads the CSS selector and greps the codebase
4. Applies fixes (adds alt text, fixes contrast, adds label)
5. Re-scans to verify — score improved from 74 to 96"Is this component accessible?"
1. Agent reads the component code
2. Calls a11yflow_lookup_rule({ ruleId: "dialog" })
3. Scans the dev server URL showing the component
4. Reports findings with fix suggestions inlineDesign Principles
- Plain language by default — all responses use what/why/how format, no WCAG jargon
- Polls internally — one tool call, complete results back
- Structured for LLMs — clear section headers, consistent format, no ANSI codes
- Graceful errors — rate limits show retry-after, failures show clear messages
Links
License
MIT
