accessibility-testing-mcp

joe-watkins/accessibility-testing-mcp

3.2

If you are the rightful owner of accessibility-testing-mcp and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to dayong@mcphub.com.

Axecore MCP Server is an accessibility testing server that uses axe-core to analyze web pages and HTML for accessibility issues.

Tools
5
Resources
0
Prompts
0

Accessibility Testing MCP

An MCP server for accessibility testing using axe-core and IBM Equal Access. Choose your testing engine or use both for comprehensive coverage.

Example Prompts

  • "Test the accessibility of https://example.com"
  • "Test the accessibility of https://example.com" blockers only output issues in chat: What is the Issue, Who it Impacts, How to Fix, WCAG, Severity, Code Snippet"

Dual Engine Support

  • Axe-core (Deque) - Industry standard, zero false positives
  • IBM Equal Access - Comprehensive IBM accessibility requirements

Multi-Screen Testing

Test at multiple viewport sizes to catch responsive accessibility issues.

Tools

ToolDescription
analyze_urlTest any URL for accessibility issues
analyze_url_jsonURL test with raw JSON output
analyze_htmlTest HTML content directly
analyze_html_jsonHTML test with raw JSON output
get_rulesList available accessibility rules

All tools accept an optional engine parameter ("axe" or "ace").

Installation

npm install
npm run build

Configuration

Environment Variables

Configure via MCP config env section:

VariableValuesDefaultDescription
A11Y_ENGINEaxe, aceaxeTesting engine
WCAG_LEVEL2.0_A, 2.0_AA, 2.1_A, 2.1_AA, 2.2_AA, etc.2.1_AAWCAG version & level
BEST_PRACTICEStrue, falsetrueInclude best practices/recommendations
SCREEN_SIZESComma-separated WIDTHxHEIGHT1280x1024Viewport sizes to test
HEADLESS_BROWSERtrue, falsetrueRun browser in headless mode; set to false to open visible browser

The WCAG_LEVEL setting automatically configures both Axe-core tags and IBM Equal Access policies.

VS Code (GitHub Copilot)

Add to VS Code settings (JSON):

"mcp": {
  "servers": {
    "accessibility-testing-mcp": {
      "type": "stdio",
      "command": "node",
      "args": ["/path/to/accessibility-testing-mcp/build/index.js"],
      "env": {
        "A11Y_ENGINE": "axe",
        "WCAG_LEVEL": "2.2_AA",
        "BEST_PRACTICES": "true",
        "SCREEN_SIZES": "1280x1024,320x640",
        "HEADLESS_BROWSER": "true"
      }
    }
  }
}

Claude Desktop

Add to claude_desktop_config.json:

{
  "mcpServers": {
    "accessibility": {
      "command": "node",
      "args": ["/path/to/accessibility-testing-mcp/build/index.js"],
      "env": {
        "A11Y_ENGINE": "ace",
        "WCAG_LEVEL": "2.2_AA",
        "BEST_PRACTICES": "true"
      }
    }
  }
}

Understanding Results

Axe-core Output

  • Violations: Definite accessibility failures
  • Incomplete: Needs manual review
  • Passes: Rules that passed
  • Inapplicable: Rules that don't apply

IBM Equal Access Output

  • Violations: Accessibility failures
  • Potential Violations: Needs review
  • Recommendations: Suggested improvements (when BEST_PRACTICES=true)
  • Manual Checks: Requires human testing

WCAG_LEVEL Values

LevelDescription
2.0_AWCAG 2.0 Level A
2.0_AAWCAG 2.0 Level AA
2.1_AWCAG 2.1 Level A
2.1_AAWCAG 2.1 Level AA (default)
2.1_AAAWCAG 2.1 Level AAA
2.2_AWCAG 2.2 Level A
2.2_AAWCAG 2.2 Level AA
2.2_AAAWCAG 2.2 Level AAA

Dependencies

  • @modelcontextprotocol/sdk - MCP server framework
  • axe-core - Deque accessibility testing engine
  • accessibility-checker - IBM Equal Access engine
  • playwright - Headless browser automation

License

MIT