# accessibility-scanner-mcp

**Category:** 📂 Browser Automation  
**Repository:** https://github.com/Bishop81/accessibility-scanner-mcp  
**npm Downloads (last month):** 680  
**Views:** 0  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/accessibility-scanner-mcp

## Description
Scan any URL for WCAG accessibility issues (axe-core) and get per-element fixes for an AI agent.

## Claude Desktop Quick Installation
Heuristic fallback — verify the package name and runner against the repository README before running it. Uses `npx` (confidence: low):

```json
"mcpServers": {
  "accessibility-scanner-mcp": {
    "command": "npx",
    "args": ["-y","accessibility-scanner-mcp"]
  }
}
```

## Documentation & README

# accessibility-scanner-mcp

An [MCP](https://modelcontextprotocol.io) server that lets an AI agent scan a web page for
**WCAG accessibility issues** and get back findings it can act on. The agent calls one tool with a
URL; it gets every violation grouped by severity, each with the **exact element selector, the
offending HTML, the specific failure, the WCAG success criterion, and a fix-guide link** — plus the
items that still need human review.

It runs the real [axe-core](https://github.com/dequelabs/axe-core) engine in your **local Chrome**
(via `playwright-core`), so nothing about the pages you scan leaves your machine. It scrolls the page
first so **lazy-loaded content is actually checked** rather than silently skipped, and it resolves
color contrast over CSS gradients, which most tools leave as "needs review."

> **Upgrading from 0.1.x?** 0.2.0 sees more of each page and returns more findings for the same URL.
> See [CHANGELOG.md](CHANGELOG.md).

Part of [accessibilityscanner.app](https://accessibilityscanner.app).

## Requirements

- Node.js 18+
- Google Chrome installed (or set the `CHROME_PATH` environment variable to a Chromium binary)

## Install

Add it to your MCP client's config. No global install needed — `npx` fetches it on first run.

**Claude Desktop** (`claude_desktop_config.json`), **Cursor**, **Claude Code**, or any MCP client:

```json
{
  "mcpServers": {
    "accessibility-scanner": {
      "command": "npx",
      "args": ["-y", "accessibility-scanner-mcp"]
    }
  }
}
```

If Chrome is not auto-detected, add an env block:

```json
{
  "mcpServers": {
    "accessibility-scanner": {
      "command": "npx",
      "args": ["-y", "accessibility-scanner-mcp"],
      "env": { "CHROME_PATH": "/usr/bin/google-chrome" }
    }
  }
}
```

## The tool

### `scan_accessibility`

| Input | |
|---|---|
| `url` (string, required) | The http(s) URL to scan. |

Returns a report grouped by severity. For each rule: the WCAG criterion, a fix-guide link, and per
element the selector, HTML, and exact failure. Example flow with an agent:

> **You:** Audit https://example.com for accessibility and fix what you can.
> **Agent:** *(calls `scan_accessibility`)* → reads the findings → edits the code → re-scans.

## Honest about limits

Automated testing covers the machine-checkable subset of WCAG (most of the issues on a typical
page, but not all of it). Items that need human judgement are returned under "Needs manual review."
It never claims a page is "compliant."

## License

MIT

