{"_id":"@buildbench/accessibility-scanner-mcp","name":"@buildbench/accessibility-scanner-mcp","dist-tags":{"latest":"1.0.0"},"versions":{"1.0.0":{"name":"@buildbench/accessibility-scanner-mcp","version":"1.0.0","description":"Static WCAG 2.1 / ADA / AODA accessibility scanner for any web page. Detects missing alt text, unlabeled form fields, missing page language, heading-structure problems, non-descriptive links, unnamed buttons, disabled zoom, and more. MCP server + CLI for ","type":"module","main":"dist/index.js","bin":{"accessibility-scanner-mcp":"dist/index.js","accessibility-scan":"dist/cli.js"},"scripts":{"build":"tsc","start":"node dist/index.js","scan":"node dist/cli.js","dev":"node --loader ts-node/esm src/index.ts","prepublishOnly":"npm run build"},"keywords":["mcp","model-context-protocol","claude","cursor","accessibility","wcag","ada","aoda","a11y","audit","buildbench"],"author":{"name":"Harjas Chahal","email":"harjas@buildbench.ca","url":"https://buildbench.ca"},"license":"MIT","homepage":"https://buildbench.ca/accessibility-audit","repository":{"type":"git","url":"git+https://github.com/buildbench/accessibility-scanner-mcp.git"},"dependencies":{"@modelcontextprotocol/sdk":"^1.0.4","node-html-parser":"^6.1.13"},"devDependencies":{"@types/node":"^22.0.0","ts-node":"^10.9.2","typescript":"^5.6.0"},"engines":{"node":">=18"},"types":"./dist/index.d.ts","_id":"@buildbench/accessibility-scanner-mcp@1.0.0","bugs":{"url":"https://github.com/buildbench/accessibility-scanner-mcp/issues"},"_nodeVersion":"24.13.1","_npmVersion":"11.12.0","dist":{"integrity":"sha512-de0nTy+nLddHr40wMcTekjfY41m8ZVPHCtPuIGuz+eUebCgHHptU6OpMxhJ7I6m7Zk+D81H0jRNw4G3nEiIuiw==","shasum":"5f9e6839b9f98183a470653a990b833a45bd96dc","tarball":"https://registry.npmjs.org/@buildbench/accessibility-scanner-mcp/-/accessibility-scanner-mcp-1.0.0.tgz","fileCount":21,"unpackedSize":49033,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCqoCsUBzw7icaIhGlAipSwFYc1ljLaVQO2Pa1rkvCSOwIhAJrqb+NsoYvHOyjoYuba0qvGS65rcrmeE6rQUO234CzY"}]},"_npmUser":{"name":"builderbench","email":"aubreystone84@gmail.com"},"directories":{},"maintainers":[{"name":"builderbench","email":"aubreystone84@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/accessibility-scanner-mcp_1.0.0_1780262888426_0.08932477948844042"},"_hasShrinkwrap":false}},"time":{"created":"2026-05-31T21:28:08.254Z","1.0.0":"2026-05-31T21:28:08.579Z","modified":"2026-05-31T21:28:08.849Z"},"maintainers":[{"name":"builderbench","email":"aubreystone84@gmail.com"}],"description":"Static WCAG 2.1 / ADA / AODA accessibility scanner for any web page. Detects missing alt text, unlabeled form fields, missing page language, heading-structure problems, non-descriptive links, unnamed buttons, disabled zoom, and more. MCP server + CLI for ","homepage":"https://buildbench.ca/accessibility-audit","keywords":["mcp","model-context-protocol","claude","cursor","accessibility","wcag","ada","aoda","a11y","audit","buildbench"],"repository":{"type":"git","url":"git+https://github.com/buildbench/accessibility-scanner-mcp.git"},"author":{"name":"Harjas Chahal","email":"harjas@buildbench.ca","url":"https://buildbench.ca"},"bugs":{"url":"https://github.com/buildbench/accessibility-scanner-mcp/issues"},"license":"MIT","readme":"# Accessibility Scanner\n\nStatic **WCAG 2.1** accessibility scanner for any web page. Relevant to **ADA Title III**, **Section 508**, and **Ontario AODA**. Detects the accessibility defects you can catch from markup, missing alt text, unlabeled form fields, missing page language, heading-structure problems, non-descriptive links, unnamed buttons, disabled zoom, and more, and returns a severity-ranked report with a 0-100 risk score.\n\n> Built by [Build Bench](https://buildbench.ca). Free, MIT-licensed. Sibling of the [SEO Defect Scanner](https://buildbench.ca/seo-defect-scanner) and [MCP Security Scanner](https://buildbench.ca/mcp-audit).\n\n## Why this exists\n\nIn 2025 there were tens of thousands of ADA web-accessibility demand letters and 3,000-plus federal lawsuits, with no small-business exemption. In Ontario, AODA requires private and non-profit organizations with 20-plus employees to meet WCAG and file compliance reports, with penalties up to $100,000 per day. Most small-business sites have never been checked. This catches the common, high-impact defects in seconds.\n\n## Install / use as an MCP tool\n\n```json\n{\n  \"mcpServers\": {\n    \"accessibility-scanner\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@buildbench/accessibility-scanner-mcp\"]\n    }\n  }\n}\n```\n\nThe tool is `scan_accessibility({ url })` or `scan_accessibility({ html })`.\n\n## Install / use as a CLI\n\n```bash\nnpx @buildbench/accessibility-scanner-mcp                              # MCP server (stdio)\nnpx -p @buildbench/accessibility-scanner-mcp accessibility-scan example.com\nnpx -p @buildbench/accessibility-scanner-mcp accessibility-scan example.com --json\naccessibility-scan --html ./page.html                                 # scan local HTML\n```\n\nExits non-zero on serious or critical results, so you can gate CI.\n\n## What it detects\n\n| Code | Severity | WCAG | What it flags |\n|---|---|---|---|\n| `A11Y-IMG-ALT` | high | 1.1.1 | Images with no alt attribute |\n| `A11Y-INPUT-LABEL` | high | 1.3.1 / 3.3.2 | Form fields with no associated label |\n| `A11Y-HTML-LANG` | high | 3.1.1 | `<html>` missing a lang attribute |\n| `A11Y-TITLE` | high | 2.4.2 | Missing or empty page title |\n| `A11Y-BUTTON-NAME` | high | 4.1.2 | Buttons with no accessible name |\n| `A11Y-H1` | medium | 1.3.1 / 2.4.6 | No H1, or multiple H1s |\n| `A11Y-HEADING-ORDER` | medium | 1.3.1 | Skipped heading levels |\n| `A11Y-LINK-TEXT` | medium | 2.4.4 | Links with empty or generic text |\n| `A11Y-VIEWPORT-ZOOM` | medium | 1.4.4 | Viewport disables pinch-zoom |\n| `A11Y-TABINDEX` | low | 2.4.3 | Positive tabindex (broken tab order) |\n| `A11Y-DUP-ID` | low | 4.1.1 | Duplicate id values |\n| `A11Y-MAIN-LANDMARK` | low | 1.3.1 | No `<main>` landmark |\n\nStatic analysis cannot test color contrast, keyboard focus order, or dynamic behavior. A clean scan is necessary, not sufficient.\n\nTry it on the included sample:\n\n```bash\naccessibility-scan --html examples/inaccessible-page.html\n```\n\n## Need a full audit?\n\nA full Build Bench Accessibility Audit adds a rendered audit (contrast, keyboard, screen-reader), hands-on remediation to WCAG 2.1 AA, and a documented accessibility statement for your legal file. Details: [buildbench.ca/accessibility-audit](https://buildbench.ca/accessibility-audit).\n\n## License\n\nMIT\n","readmeFilename":"README.md","_rev":"1-0a2f04a0d81f279dcf2593a07edd8d37"}