Server data from the Official MCP Registry
WCAG/ADA/508 accessibility scanner + framework-aware fixes + vision audit for AI coding agents
WCAG/ADA/508 accessibility scanner + framework-aware fixes + vision audit for AI coding agents
This is an accessibility testing MCP server with reasonable security architecture and appropriate permissions for its purpose. The server implements SSRF protections in remote mode, secure token handling via environment variables, and proper authentication gates for paid features. However, there are several code quality and security concerns: insufficient input validation on some parameters, broad exception handling that could mask security issues, exposure of detailed error messages that might leak system information, and the reliance on Playwright with limited timeout configuration. The telemetry system sends data to external endpoints without robust error handling. Overall, permissions match the stated purpose (network for scanning, file I/O for caching), but implementation quality needs improvement. Supply chain analysis found 3 known vulnerabilities in dependencies (0 critical, 2 high severity). Package verification found 1 issue.
3 files analyzed · 14 issues found
Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.
This plugin requests these system permissions. Most are normal for its category.
Add this to your MCP configuration file:
{
"mcpServers": {
"io-github-snayyar00-webability": {
"args": [
"-y",
"@webability/mcp"
],
"command": "npx"
}
}
}From the project's GitHub README.
Accessibility testing MCP server for Cursor, VS Code Copilot, Claude Code, and any other MCP-compatible IDE.
WebAbility.io is an AI-powered web accessibility platform — accessibility widget, automated scanner, and AI agents for WCAG 2.1 / 2.2 AA, ADA, Section 508, EAA (European Accessibility Act) and AODA compliance. This MCP exposes the same accessibility-testing engine that powers the WebAbility widget and dashboard, so you can scan, audit and fix web accessibility issues (color contrast, ARIA, alt text, keyboard navigation, focus visibility, target size, and more) from your IDE while you build.
New to accessibility compliance? Start with the free WCAG & ADA accessibility checker, or read the WebAbility MCP docs and the getting-started guide.
The server registers an instructions block on initialize, so any MCP-compatible client picks up business context (what tool to call when, the three-tier output convention, etc.) automatically — no setup required beyond the install below.
Most accessibility MCP servers stop at find and suggest. WebAbility closes the whole loop in your editor, and starts free:
scan_page runs entirely on your machine. (Deque's axe MCP needs a paid subscription, an API key, and a Docker install just to analyze a page.)generate_ai_fix returns ready-to-paste code for the framework you actually use — Tailwind, MUI, Bootstrap, WordPress, Next.js — not generic guidance.visual_audit catches focus visibility, icon contrast, and "looks like a button but isn't" — issues axe-core structurally cannot see.verify_fix re-checks that your fix actually landed and returns verified: true/false. Every 2026 comparison of accessibility MCPs names this the biggest gap in the category — most tools never close it.start_audit produces a persistent, timestamped report and Excel workbook you can hand to an auditor — not a result that vanishes with your session.The full cycle, without leaving the editor: scan_page → generate_ai_fix → verify_fix, then start_audit when you need the paper trail.
npm install -g @webability/mcp
Add to your IDE's MCP config:
{
"mcpServers": {
"webability": {
"command": "webability-mcp"
}
}
}
Optional env: WEBABILITY_API_URL (default https://api.webability.io) for self-hosted backends.
scan_page runs three engines in parallel and deduplicates the results:
| Engine | Rules | What it covers |
|---|---|---|
| WebAbility detectors | 60+ | Gradient-aware contrast, weak names, decorative icons, landmark hierarchy, ARIA correctness, link consistency, target size, keyboard traps |
| axe-core | 104 | Industry-standard WCAG 2.2 baseline |
| HTML_CodeSniffer | 200+ | Section 508 + WCAG techniques cross-reference |
Every scan returns:
issues — high-confidence violations, safe to surface as bugsincomplete — findings that need human review (contrast against gradients, marketing imagery, framer-motion pre-animation states, axe-incomplete). Never auto-fix these.summary — counts by severity + an incomplete countThis mirrors axe-core's violations / incomplete / passes split and prevents agents from "fixing" false positives in destructive ways.
| Tool | What it does |
|---|---|
scan_page | Scan a URL for WCAG accessibility issues (3 engines) |
flow_scan | Multi-page journey scan with deduplicated issues across pages |
scan_html | Scan a raw HTML snippet (no URL needed) |
detect_framework | Detect Tailwind / MUI / Bootstrap / Next.js / WP / plain CSS |
generate_ai_fix | Framework-aware fix alternatives. Auto-extracts brand palette from the live URL on contrast issues. |
verify_fix | Re-scan a fixed element and confirm the violation is gone — verified: true/false. Closes the find → fix → verify loop. |
visual_audit | Pixel-level audit via vision (icon contrast, focus visibility, looks-like-a-button-but-isn't) |
start_audit | Kick off the full server-side audit deliverable (report + Excel workbook). Returns an id to poll. Requires an account. |
get_audit | Check an audit's progress and, once complete, get the severity summary + report/workbook download URLs. |
check_color_contrast | WCAG contrast check on a color pair; pass url to get brand-aligned suggestions from the live page |
check_aria | Validate ARIA attributes in an HTML snippet |
get_rules | List axe-core rules with optional WCAG tag filter |
find_source | Map a CSS selector back to local source files |
scan_page consolidates all three enginesIn Cursor / Claude Code:
"Scan localhost:3000 for accessibility issues"
"Walk login → dashboard → checkout and report unique issues across the flow"
"Suggest a fix for the contrast issue on
.btn-primaryon https://example.com — match their brand colors"
"What does WCAG 1.4.11 check?"
Every scan is logged locally to ~/.webability/scans/ — a one-line-per-scan index.jsonl ledger plus the full result of your last 500 scans. Browse them with the scan_history tool ("what did we scan earlier?") or plain jq. Set WEBABILITY_SCAN_LOG=off to disable, WEBABILITY_SCAN_LOG_DIR to relocate.
The server also reports one small telemetry event per tool call (every tool, not just scans) to the WebAbility API: tool name, a short target label (URL, selector, issue type — never page content), pass/fail, duration, issue counts, and a persistent anonymous install ID. Full scan results, HTML, and generated fix code never leave your machine via telemetry. Set WEBABILITY_SCAN_TELEMETRY=off to opt out.
Two tools — generate_ai_fix and visual_audit — additionally send page content (an HTML snippet or a screenshot) to WebAbility's API so it can call a third-party LLM on your behalf; WebAbility doesn't store that content, but the LLM provider sees it in transit. See PRIVACY.md for the full per-tool breakdown and WebAbility's privacy policy.
WebAbility platform & docs
Accessibility compliance guides
Accessibility by industry
Install the widget on your stack
Package
@webability/mcp · Source: github.com/snayyar00/webability-mcpKeywords: web accessibility, accessibility testing, WCAG 2.2 AA, ADA compliance, Section 508, EAA, AODA, a11y, accessibility scanner, color contrast checker, ARIA validation, alt text, keyboard navigation, screen reader, MCP server, accessibility for AI coding agents.
MIT © WebAbility.io
Be the first to review this server!
by Modelcontextprotocol · Developer Tools
Read, search, and manipulate Git repositories programmatically
by Toleno · Developer Tools
Toleno Network MCP Server — Manage your Toleno mining account with Claude AI using natural language.
by mcp-marketplace · Developer Tools
Create, build, and publish Python MCP servers to PyPI — conversationally.