MCP Accessibility Scanner

MCP Accessibility Scanner 🔍

A Model Context Protocol (MCP) server that provides automated web accessibility scanning using Playwright and Axe-core. This server enables LLMs to perform WCAG compliance checks, capture annotated screenshots, and generate detailed accessibility reports.

Features

✅ Full WCAG 2.1/2.2 compliance checking
🖼️ Automatic screenshot capture with violation highlighting
📄 Detailed JSON reports with remediation guidance

Installation

You can install the package using any of these methods:

Using npm:

npm install -g mcp-accessibility-scanner

Docker Installation

The project includes a Dockerfile that sets up all necessary dependencies including Node.js v22 and Python 3.13.

  1. Build the Docker image:
docker build -t mcp-server .
  1. Run the container:
docker run -it -e MCP_PROXY_DEBUG=true mcp-server

You can also run it in the background:

docker run -d -p 3000:3000 mcp-server

Installation in VS Code

Install the Accessibility Scanner in VS Code using the VS Code CLI:

For VS Code:

code --add-mcp '{"name":"accessibility-scanner","command":"npx","args":["mcp-accessibility-scanner"]}'

For VS Code Insiders:

code-insiders --add-mcp '{"name":"accessibility-scanner","command":"npx","args":["mcp-accessibility-scanner"]}'

Configuration

Here's the Claude Desktop configuration:

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

Usage

The scanner exposes a single tool scan_accessibility that accepts:

  • url: The webpage URL to scan (required)
  • violationsTag: Array of accessibility violation tags to check (required)
  • viewport: Optional object to customize the viewport size
    • width: number (default: 1920)
    • height: number (default: 1080)
  • shouldRunInHeadless: Optional boolean to control headless mode (default: true)

Note: When running a scan, an annotated screenshot highlighting any accessibility violations will be automatically saved to your downloads folder.

Example usage in Claude:

Could you scan example.com for accessibility issues related to color contrast?

Advanced example with custom options:

Could you scan example.com for accessibility issues with a viewport of 1280x720 and show the browser window?

Development

Clone and set up the project:

git clone https://github.com/JustasMonkev/mcp-accessibility-scanner.git cd mcp-accessibility-scanner npm install

Start the TypeScript compiler in watch mode:

npm run watch

Test the MCP server locally:

npm run inspector

Docker Development

For development using Docker:

  1. Build the development image:
docker build -t mcp-server-dev .
  1. Run with volume mounting for live code changes:
docker run -it -v $(pwd):/app -p 3000:3000 -e MCP_PROXY_DEBUG=true mcp-server-dev

Project Structure

├── src/ # Source code │ ├── index.ts # MCP server setup and tool definitions │ └── scanner.ts # Core scanning functionality ├── build/ # Compiled JavaScript output ├── Dockerfile # Docker configuration for containerized setup ├── package.json # Project configuration and dependencies └── tsconfig.json # TypeScript configuration

License

MIT

You must be authenticated.

A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

local-only server

The server can only run on the client's local machine because it depends on local resources.

Enables automated web accessibility scans for WCAG compliance using Playwright and Axe-core, providing visual and JSON reports with remediation guidance.

  1. Features
    1. Installation
      1. Docker Installation
      2. Installation in VS Code
    2. Configuration
      1. Usage
        1. Development
          1. Docker Development
        2. Project Structure
          1. License

            Related MCP Servers

            • A
              security
              A
              license
              A
              quality
              Provides web accessibility analysis and color blindness simulation using axe-core and Puppeteer, enabling detailed accessibility checks and visual simulations based on WCAG guidelines.
              Last updated -
              2
              JavaScript
              MIT License
              • Apple
              • Linux
            • A
              security
              A
              license
              A
              quality
              Provides accessibility testing capabilities through CLI, helping identify accessibility issues in web applications using axe-core and Puppeteer.
              Last updated -
              1
              JavaScript
              MIT License
            • -
              security
              -
              license
              -
              quality
              An MCP (Model Context Protocol) server for performing accessibility audits on webpages using axe-core. Use the results in an agentic loop with your favorite AI assistants (Cline/Cursor/GH Copilot) and let them fix a11y issues for you!
              Last updated -
              JavaScript
              Mozilla Public License 2.0
            • A
              security
              A
              license
              A
              quality
              A Model Context Protocol server that provides browser automation capabilities using Playwright, enabling LLMs to interact with web pages through structured accessibility snapshots without requiring screenshots or vision models.
              Last updated -
              21
              49,713
              TypeScript
              Apache 2.0
              • Apple
              • Linux

            View all related MCP servers

            ID: hxb84fpg6o