Accessibility Scanner MCP Server

Accessibility Scanner MCP servers enable AI models to perform WCAG compliance checks, capture annotated screenshots, and generate detailed accessibility reports.

April 25, 2025
MCP ServerDevelopment Tools & DevOpsAccessibility Scanner MCP Server
GitHub starsnpm versionnpm downloads

Overview

The MCP Accessibility Scanner is a powerful 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, interact with web pages, manage persistent browser sessions, and generate detailed accessibility reports with visual annotations.

Created by:

Developed by Justas Monkevicius

Key Features

WCAG Compliance Checking

Full WCAG 2.0/2.1/2.2 compliance checking (A, AA, AAA levels)

🖼️

Annotated Screenshots

Automatic screenshot capture with violation highlighting

📄

Detailed JSON Reports

Detailed JSON reports with remediation guidance

🎯

Specific Violation Categories

Support for specific violation categories (color contrast, ARIA, forms, keyboard navigation, etc.)

Available Tools

Quick Reference

ToolPurposeCategory
scan_pagePerforms a comprehensive accessibility scan on the current pageAccessibility
browser_navigateNavigate to a URLNavigation
browser_navigate_backGo back to the previous pageNavigation
browser_navigate_forwardGo forward to the next pageNavigation
browser_snapshotCapture accessibility snapshot of the current pagePage Interaction
browser_clickPerform click on a web page elementPage Interaction
browser_typeType text into editable elementPage Interaction
browser_hoverHover over element on pagePage Interaction
browser_dragPerform drag and drop between two elementsPage Interaction
browser_select_optionSelect an option in a dropdownPage Interaction
browser_press_keyPress a key on the keyboardPage Interaction
browser_take_screenshotTake a screenshot of the current pageScreenshot & Visual

Detailed Usage

scan_page

Performs a comprehensive accessibility scan on the current page using Axe-core.

use_mcp_tool({
  server_name: "accessibility-scanner",
  tool_name: "scan_page",
  arguments: {
    violationsTag: ["wcag21aa", "cat.color"]
  }
});

Supported Violation Tags: wcag2a, wcag2aa, wcag2aaa, wcag21a, wcag21aa, wcag21aaa, wcag22a, wcag22aa, wcag22aaa, section508, cat.aria, cat.color, cat.forms, cat.keyboard, cat.language, cat.name-role-value, cat.parsing, cat.semantics, cat.sensory-and-visual-cues, cat.structure, cat.tables, cat.text-alternatives, cat.time-and-media

browser_navigate

Navigate to a URL.

use_mcp_tool({
  server_name: "accessibility-scanner",
  tool_name: "browser_navigate",
  arguments: {
    url: "https://example.com"
  }
});
browser_click

Perform click on a web page element.

use_mcp_tool({
  server_name: "accessibility-scanner",
  tool_name: "browser_click",
  arguments: {
    element: "Login button",
    ref: "#login-btn"
  }
});
browser_type

Type text into editable element.

use_mcp_tool({
  server_name: "accessibility-scanner",
  tool_name: "browser_type",
  arguments: {
    element: "Email input",
    ref: "#email",
    text: "[email protected]"
  }
});

Installation

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

Sources