MCP Accessibility Scanner
MCP Accessibility Scanner runs axe checks, exercises keyboard focus and saves accessibility reports for web pages
- 59 ★ on the repository
- Last commit
Extended access
Why this level
- The server drives a browser: it opens pages, clicks and types, and reads the console and network requests
Install
- Works in
In your terminal, with SkillFoxx CLI
npx skillfoxx add mcp/mcp-accessibility-scannerDetects the agents on your machine, shows the access level and pins the version.
Other ways to install
Access and checks
How we reviewExtended accessThe tool runs code or makes network calls and only reads external data.
- The server drives a browser: it opens pages, clicks and types, and reads the console and network requests
This is third-party code. Review the repository files before installing.
What it does
MCP Accessibility Scanner opens a page in a browser through Playwright and runs axe-core on it. The `scan_page` tool returns WCAG 2.0, 2.1 and 2.2 violations with DOM nodes and remediation links, and with `annotateScreenshot` it saves a marked-up screenshot. `audit_keyboard` walks the page with Tab and `audit_screen_reader` inspects the accessibility tree. Beyond the checks there is the usual browser automation set: navigation, clicks, typing, tabs, console and network, file uploads and PDF. The documentation says that automated checks do not certify WCAG compliance and manual testing stays required. The server runs from npm, and a Docker image with Chromium exists.
Who it is for. Front-end developers and QA engineers who check the accessibility of their pages from Claude Code, Cursor or Codex.
Good fit when
- A local app on port 3000 is checked for contrast, ARIA and form labels after every change
- Focus order has to be checked on a checkout page when tabbing
- A violation report is saved to the `a11y-output` folder for review in a pull request
- The server runs in Docker on CI with no Chrome installed
Not a fit when
- A legal conclusion on WCAG compliance is required
- A check with a real screen reader is needed and automation covers it only partly
- The page is behind a login and your browser profile must stay out of it
Example request
Open http://localhost:3000, run scan_page with an annotated screenshot and check focus order with audit_keyboardMCP
- Transport
- stdio
- Authentication
- not required
Limitations
Google Chrome has to be installed before the first run because the npm package does not install it. On npm 12 the install needs the native `re2` dependency script allowed with `--allow-scripts=re2`, and without a prebuilt binary a build toolchain is required. The `--isolated` mode uses a fresh profile that leaves your personal Chrome alone. Files go to the `--output-dir` folder, so an absolute path is safer. Automated checks find only part of accessibility problems, so manual review stays.
How to disable. Remove the package with `npm uninstall -g mcp-accessibility-scanner` and delete the server entry from the client configuration. For Docker, `claude mcp remove mcp-accessibility-scanner` is enough.
FAQ
How do I connect the scanner to Claude Code?
For Docker run `claude mcp add mcp-accessibility-scanner -s user -- docker run -i --rm justasmonkev/mcp-accessibility-scanner`. For npm add the `mcp-accessibility-scanner` command with the `--headless --isolated` flags to the configuration.
Which violations does it find?
The check uses axe-core and flags WCAG A, AA and AAA violations by category: contrast, ARIA, forms and keyboard. Each case comes with a page node and a remediation link.
Does the server save a report?
`scan_page` returns text with details and saves a screenshot with `annotateScreenshot`, but it does not write a JSON report itself. Reports and findings are saved by separate tools into the `--output-dir` folder.
Does it replace a manual accessibility audit?
No, the documentation says that automation does not certify WCAG compliance. The server catches mechanical errors and helps fix them fast.
Is Chrome needed in Docker?
No, the `justasmonkev/mcp-accessibility-scanner` image contains Chromium and is configured for containers with no extra flags.
Discussion
No questions or reviews yet.
Related
MCP serverskogiQA MCP gives an agent a browser that finds page elements without selectors, for debugging web apps and writing e2e tests
A six-skill accessibility plugin: page review, WCAG 2.2 audit with Playwright, audit planning and an improvement roadmap.
Checks on-screen text with local OCR: an MCP server and SDK for Playwright and Cypress that catch wrong, faint or missing text
WebdriverIO MCP: browser and mobile app automation
webdriverio-mcp
The official MCP from the WebdriverIO team drives Chrome, Firefox, Edge, Safari, Electron, iOS and Android through one tool set
A community Playwright MCP server: browser automation, screenshots, device emulation and test code generation
BrowserStack MCP Server: testing on real devices
BrowserStack MCP Server
The official BrowserStack MCP server: real devices, automated tests and test cases driven by an agent from your editor
README in short
The README opens with a quickstart for an agent and a first audit made of four tool calls. Next come features, installation through npm and Docker, client setup and an interactive console mode.