JUHE API Marketplace
ronantakizawa avatar
MCP Server

A11y MCP Server

An MCP server that enables LLMs to perform web accessibility testing against WCAG standards using Deque Axe-core API and Puppeteer.

77
GitHub Stars
3/3/2026
Last Updated
MCP Server Configuration
1{
2 "name": "a11y-accessibility",
3 "command": "npx",
4 "args": [
5 "-y",
6 "a11y-mcp-server"
7 ]
8}
JSON8 lines
  1. Home
  2. MCP Servers
  3. a11ymcp

README Documentation

Web Accessibility-Testing MCP Server (A11y MCP)

Web Accessibility Testing MCP - Give LLMs access to web accessibility testing APIs | Product Hunt

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:

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

Claude Code (CLI)

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:

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

Verify the server is registered:

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:

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

Cursor

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

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

Windsurf

Add to your Windsurf MCP configuration (~/.codeium/windsurf/mcp_config.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):

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

Example — mobile viewport (iPhone 12/13):

{
  "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:

{
  "html": "<div><img src='image.jpg'></div>",
  "tags": ["wcag2aa"]
}

Example — mobile viewport:

{
  "html": "<div><img src='image.jpg'></div>",
  "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:

{
  "tags": ["wcag21aa"]
}

Example — get all rules (no filter):

{}

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:

{
  "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:

{
  "html": "<div role='button' aria-pressed='false'>Click me</div>"
}

check_orientation_lock

Check if content forces a specific orientation.

Parameters:

ParameterRequiredDescription
htmlYesHTML content to test for orientation lock issues

Example:

{
  "html": "<html><head><meta name='viewport' content='width=device-width, orientation=portrait'></head><body>Content</body></html>"
}

Response Format

The server returns accessibility test results in structured 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": "<div style=\"color: #aaa; background-color: #eee;\">Low contrast text</div>",
          "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

Quick Install

Quick Actions

View on GitHubView All Servers

Key Features

Model Context Protocol
Secure Communication
Real-time Updates
Open Source

Boost your projects with Wisdom Gate LLM API

Supporting GPT-5, Claude-4, DeepSeek v3, Gemini and more.

Enjoy a free trial and save 20%+ compared to official pricing.

Learn More
JUHE API Marketplace

Accelerate development, innovate faster, and transform your business with our comprehensive API ecosystem.

JUHE API VS

  • vs. RapidAPI
  • vs. API Layer
  • API Platforms 2025
  • API Marketplaces 2025
  • Best Alternatives to RapidAPI

For Developers

  • Console
  • Collections
  • Documentation
  • MCP Servers
  • Free APIs
  • Temp Mail Demo

Product

  • Browse APIs
  • Suggest an API
  • Wisdom Gate LLM
  • Global SMS Messaging
  • Temp Mail API

Company

  • What's New
  • Welcome
  • About Us
  • Contact Support
  • Terms of Service
  • Privacy Policy
Featured on Startup FameFeatured on Twelve ToolsFazier badgeJuheAPI Marketplace - Connect smarter, beyond APIs | Product Huntai tools code.marketDang.aiFeatured on ShowMeBestAI
Copyright © 2026 JUHEDATA HK LIMITED - All rights reserved