Track MCP LogoTrack MCP
Track MCP LogoTrack MCP

The world's largest repository of Model Context Protocol servers. Discover, explore, and submit MCP tools.

Product

  • Categories
  • Top MCP
  • New & Updated
  • Submit MCP

Company

  • About

Legal

  • Privacy Policy
  • Terms of Service
  • Cookie Policy

© 2026 TrackMCP. All rights reserved.

Built with ❤️ by Krishna Goyal

    A11ymcp

    Verified MCP Server for Web Accessibility Testing (2000+ Downloads)

    38 stars
    JavaScript
    Updated Oct 14, 2025
    a11y
    a11y-testing
    accessibility-testing
    mcp

    Table of Contents

    • Features
    • Installation
    • Prerequisites
    • Claude Desktop
    • Claude Code (CLI)
    • VS Code (Copilot)
    • Cursor
    • Windsurf
    • Available Tools
    • test_accessibility
    • test_html_string
    • get_rules
    • check_color_contrast
    • check_aria_attributes
    • check_orientation_lock
    • Response Format
    • WCAG Tags Reference
    • Dependencies
    • License

    Table of Contents

    • Features
    • Installation
    • Prerequisites
    • Claude Desktop
    • Claude Code (CLI)
    • VS Code (Copilot)
    • Cursor
    • Windsurf
    • Available Tools
    • test_accessibility
    • test_html_string
    • get_rules
    • check_color_contrast
    • check_aria_attributes
    • check_orientation_lock
    • Response Format
    • WCAG Tags Reference
    • Dependencies
    • License

    Documentation

    Web Accessibility-Testing MCP Server (A11y MCP)

    MseeP.ai Security Assessment Badge

    Verified on MseeP

    https://github.com/user-attachments/assets/316c6d44-e677-433e-b4d5-63630b4bab2b

    A11y MCP is an MCP (Model Context Protocol) server that gives LLMs access to web accessibility testing APIs.

    This server uses the Deque Axe-core API and Puppeteer to allow LLMs to analyze web content for WCAG compliance and identify accessibility issues.

    Note: This is not an official MCP server from Deque Labs.

    Features

    • Test web pages: Test any public URL for accessibility issues with customizable viewport dimensions
    • Test HTML snippets: Test raw HTML strings for accessibility issues
    • WCAG compliance testing: Check content against various WCAG standards (2.0, 2.1, 2.2)
    • Customizable tests: Specify which accessibility tags/standards to test against
    • Rule exploration: Get information about available accessibility rules
    • Color contrast analysis: Check color combinations for WCAG compliance
    • ARIA validation: Test proper usage of ARIA attributes
    • Orientation lock detection: Identify content that forces specific screen orientations

    Installation

    Prerequisites

    • Node.js 18 or later
    • An MCP-compatible client (Claude Desktop, Claude Code, VS Code, Cursor, etc.)

    Claude Desktop

    Edit your MCP configuration file:

    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
    • Windows: %APPDATA%\Claude\claude_desktop_config.json
    • Linux: ~/.config/Claude/claude_desktop_config.json

    Add the server to the mcpServers object:

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

    Claude Code (CLI)

    bash
    claude mcp add a11y-accessibility -- npx -y a11y-mcp-server

    This registers the server for the current project. To make it available across all projects:

    bash
    claude mcp add --scope user a11y-accessibility -- npx -y a11y-mcp-server

    Verify the server is registered:

    bash
    claude mcp list

    Note: MCP tools become available after restarting your Claude Code session.

    VS Code (Copilot)

    Add to your VS Code settings.json or .vscode/settings.json:

    json
    {
      "mcp": {
        "servers": {
          "a11y-accessibility": {
            "command": "npx",
            "args": ["-y", "a11y-mcp-server"]
          }
        }
      }
    }

    Cursor

    Add to your Cursor MCP configuration (.cursor/mcp.json):

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

    Windsurf

    Add to your Windsurf MCP configuration (~/.codeium/windsurf/mcp_config.json):

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

    Available Tools

    test_accessibility

    Tests a URL for accessibility issues.

    Parameters:

    ParameterRequiredDescription
    urlYesThe URL of the web page to test
    tagsNoArray of WCAG tags to test against (e.g., ["wcag2aa"])
    widthNoViewport width in pixels (default: 1280)
    heightNoViewport height in pixels (default: 800)

    Example — desktop viewport (default):

    json
    {
      "url": "https://example.com",
      "tags": ["wcag2aa"]
    }

    Example — mobile viewport (iPhone 12/13):

    json
    {
      "url": "https://example.com",
      "tags": ["wcag2aa"],
      "width": 390,
      "height": 844
    }

    test_html_string

    Tests an HTML string for accessibility issues.

    Parameters:

    ParameterRequiredDescription
    htmlYesThe HTML content to test
    tagsNoArray of WCAG tags to test against (e.g., ["wcag2aa"])
    widthNoViewport width in pixels (default: 1280)
    heightNoViewport height in pixels (default: 800)

    Example — default viewport:

    json
    {
      "html": "",
      "tags": ["wcag2aa"]
    }

    Example — mobile viewport:

    json
    {
      "html": "",
      "tags": ["wcag2aa"],
      "width": 375,
      "height": 812
    }

    get_rules

    Get information about available accessibility rules with optional filtering. Returns an array of rule objects, each containing ruleId, description, help, helpUrl, and tags.

    Parameters:

    ParameterRequiredDescription
    tagsNoFilter rules by tags (e.g., ["wcag2a", "wcag2aa", "best-practice"])

    Example — filter rules by WCAG 2.1 AA:

    json
    {
      "tags": ["wcag21aa"]
    }

    Example — get all rules (no filter):

    json
    {}

    check_color_contrast

    Check if a foreground and background color combination meets WCAG contrast requirements.

    Parameters:

    ParameterRequiredDescription
    foregroundYesForeground color (e.g., "#000000", "rgb(0,0,0)")
    backgroundYesBackground color (e.g., "#FFFFFF", "rgb(255,255,255)")
    fontSizeNoFont size in pixels (default: 16)
    isBoldNoWhether the text is bold (default: false)

    Example:

    json
    {
      "foreground": "#777777",
      "background": "#EEEEEE",
      "fontSize": 16,
      "isBold": false
    }

    check_aria_attributes

    Check if ARIA attributes are used correctly in HTML.

    Parameters:

    ParameterRequiredDescription
    htmlYesHTML content to test for ARIA attribute usage

    Example:

    json
    {
      "html": ""
    }

    check_orientation_lock

    Check if content forces a specific orientation.

    Parameters:

    ParameterRequiredDescription
    htmlYesHTML content to test for orientation lock issues

    Example:

    json
    {
      "html": "Content"
    }

    Response Format

    The server returns accessibility test results in structured JSON:

    json
    {
      "violations": [
        {
          "id": "color-contrast",
          "impact": "serious",
          "description": "Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds",
          "help": "Elements must meet minimum color contrast ratio thresholds",
          "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/color-contrast",
          "affectedNodes": [
            {
              "html": "",
              "target": ["div"],
              "failureSummary": "Fix any of the following: Element has insufficient color contrast of 1.98 (foreground color: #aaa, background color: #eee, font size: 12.0pt, font weight: normal)"
            }
          ]
        }
      ],
      "passes": 1,
      "incomplete": 0,
      "inapplicable": 2,
      "timestamp": "2025-04-25T16:45:33.655Z",
      "url": "about:blank",
      "testEngine": {
        "name": "axe-core",
        "version": "4.10.3"
      }
    }

    WCAG Tags Reference

    Common tags you can use with the tags parameter:

    TagDescription
    wcag2aWCAG 2.0 Level A
    wcag2aaWCAG 2.0 Level AA
    wcag2aaaWCAG 2.0 Level AAA
    wcag21aWCAG 2.1 Level A
    wcag21aaWCAG 2.1 Level AA
    wcag22aaWCAG 2.2 Level AA
    best-practiceBest practices (not strictly WCAG)

    Dependencies

    • @modelcontextprotocol/sdk
    • puppeteer
    • @axe-core/puppeteer
    • axe-core

    License

    MIT

    Similar MCP

    Based on tags & features

    • RI

      Rijksmuseum Mcp

      JavaScript·
      59
    • WA

      Waha Mcp

      JavaScript00
    • WI

      Wizzy Mcp Tmdb

      JavaScript00
    • MC

      Mcp Open Library

      TypeScript·
      42

    Trending MCP

    Most active this week

    • PL

      Playwright Mcp

      TypeScript·
      22.1k
    • SE

      Serena

      Python·
      14.5k
    • MC

      Mcp Playwright

      TypeScript·
      4.9k
    • MC

      Mcp Server Cloudflare

      TypeScript·
      3.0k
    View All MCP Servers

    Similar MCP

    Based on tags & features

    • RI

      Rijksmuseum Mcp

      JavaScript·
      59
    • WA

      Waha Mcp

      JavaScript00
    • WI

      Wizzy Mcp Tmdb

      JavaScript00
    • MC

      Mcp Open Library

      TypeScript·
      42

    Trending MCP

    Most active this week

    • PL

      Playwright Mcp

      TypeScript·
      22.1k
    • SE

      Serena

      Python·
      14.5k
    • MC

      Mcp Playwright

      TypeScript·
      4.9k
    • MC

      Mcp Server Cloudflare

      TypeScript·
      3.0k