home / mcp / accessibility scanner mcp server

Accessibility Scanner MCP Server

Provides automated WCAG accessibility scanning and browser automation via Playwright and Axe-core for detailed reports and annotations.

Installation
Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "justasmonkev-mcp-accessibility-scanner": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "justasmonkev/mcp-accessibility-scanner"
      ]
    }
  }
}

You can run the MCP Accessibility Scanner to perform automated WCAG checks, interact with web pages, and generate annotated reports. This MCP server combines browser automation with accessibility scanning to help you verify compliance and produce actionable remediation insights.

How to use

To use this MCP server, you run it through a client that can send commands to the MCP interface. You can inspect pages, trigger accessibility scans, collect reports, and review visual annotations. Typical workflows include navigating to a page, taking screenshots or snapshots for analysis, running accessibility scans on the current page, and aggregating findings across multiple pages or a site.

How to install

Prerequisites: ensure you have Docker installed on your host to run the MCP server container.

# Pull the MCP server image
docker pull justasmonkev/mcp-accessibility-scanner

Configuration and startup

You can start the MCP Accessibility Scanner using Docker. This runs the server inside a container and includes Chromium for browser automation.

# Start the MCP server container (interactive, remove after exit)
docker run -i --rm justasmonkev/mcp-accessibility-scanner

Operational notes

For persistent output such as screenshots and reports, mount a local directory into the container at the path where output is written by the server. Use a volume to ensure data persists beyond container lifetimes.

Advanced setup

If you need to coordinate with a CLI or an orchestration tool, you can wrap the Docker command in your preferred workflow or automation script. Ensure the container has access to the host filesystem path where you want to store outputs.

Available tools

scan_page

Performs a comprehensive accessibility scan on the current page using Axe-core with options for violation tags.

audit_site

Crawls and scans multiple internal pages, aggregates violations across the site, and writes a JSON report.

scan_page_matrix

Runs Axe scans across multiple viewport/media/zoom variants and compares deltas against a baseline, producing per-variant reports.

audit_keyboard

Audits keyboard focus behavior by simulating Tab navigation, capturing focus-related issues, and generating a report.

browser_navigate

Navigate the browser to a specified URL.

browser_navigate_back

Navigate to the previous page.

browser_navigate_forward

Navigate to the next page in history.

browser_snapshot

Capture an accessibility-focused snapshot of the current page, identifying interactive elements.

browser_click

Click an element on the page using a description or element reference.

browser_type

Type text into an editable element, with optional submission and delay.

browser_hover

Hover over an element on the page.

browser_drag

Drag and drop between two elements identified by references.

browser_select_option

Select an option within a dropdown.

browser_press_key

Press a key on the keyboard, such as Arrow keys or characters.

browser_take_screenshot

Capture a screenshot of the current page or a specified element.

browser_pdf_save

Save the current page as a PDF.

browser_close

Close the current page.

browser_resize

Resize the browser window to specified dimensions.

browser_tab_list

List all open browser tabs.

browser_tab_new

Open a new browser tab and optionally navigate to a URL.

browser_tab_select

Select a tab by index.

browser_tab_close

Close a tab by index or the current tab.

browser_console_messages

Return all console messages from the page.

browser_network_requests

Return all network requests since the page load.

browser_wait_for

Wait for specific text to appear or disappear, or wait for a time delay.

browser_handle_dialog

Handle browser dialogs such as alerts, confirms, or prompts.

browser_file_upload

Upload files to the page by providing absolute paths.

browser_screen_capture

Capture a screenshot for coordinate-based interactions.

browser_screen_move_mouse

Move the mouse to specific coordinates for coordinate-based actions.

browser_screen_click

Click at precise coordinates for coordinate-based interactions.

browser_screen_drag

Drag from one coordinate to another.

browser_screen_type

Type text at coordinates-agnostic in coordinate-based mode.