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
MCP server

Extended access

Why this level

  • The server drives a browser: it opens pages, clicks and types, and reads the console and network requests
All reasons and checks

justasmonkev/mcp-accessibility-scanner

Install

In your terminal, with SkillFoxx CLI

npx skillfoxx add mcp/mcp-accessibility-scanner

Detects the agents on your machine, shows the access level and pins the version.

Other ways to install

Access and checks

How we review

Extended 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_keyboard

MCP

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.

Official

kogiQA MCP gives an agent a browser that finds page elements without selectors, for debugging web apps and writing e2e tests

MCP serverExtended access88Repository stars

A six-skill accessibility plugin: page review, WCAG 2.2 audit with Playwright, audit planning and an improvement roadmap.

PluginExtended access61Repository stars

Checks on-screen text with local OCR: an MCP server and SDK for Playwright and Cypress that catch wrong, faint or missing text

MCP serverMinimal access94Repository stars

A community Playwright MCP server: browser automation, screenshots, device emulation and test code generation

MCP serverExtended access5.7KRepository stars

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.

README badge

Report a problem