Back to Browse

Wcag Accessibility MCP Server

Developer ToolsUse Caution4.8MCP RegistryLocal
Free

Server data from the Official MCP Registry

A WCAG accessibility testing MCP for AI agents, Codex, Claude Code, and automated UI audits.

About

A WCAG accessibility testing MCP for AI agents, Codex, Claude Code, and automated UI audits.

Security Report

4.8
Use Caution4.8High Risk

WCAG Accessibility MCP is a well-designed accessibility testing tool with appropriate security controls and read-only operations. The server properly restricts file access to an allowed root, validates URLs to prevent private network exfiltration, and uses environment variables for configuration. Minor code quality improvements are recommended around error handling and input validation consistency, but no critical security vulnerabilities were identified. Supply chain analysis found 3 known vulnerabilities in dependencies (1 critical, 1 high severity). Package verification found 1 issue.

5 files analyzed · 9 issues found

Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.

Permissions Required

This plugin requests these system permissions. Most are normal for its category.

HTTP Network Access

Connects to external APIs or services over the internet.

File System Read

Reads files on your machine. Normal for tools that analyze or process local data.

File System Write

Writes or modifies files on your machine. Check that this is expected for the tool.

env_vars

Check that this permission is expected for this type of plugin.

process_spawn

Check that this permission is expected for this type of plugin.

system_info

Check that this permission is expected for this type of plugin.

How to Install

Add this to your MCP configuration file:

{
  "mcpServers": {
    "io-github-aditya-ariosity-wcag-accessibility": {
      "args": [
        "-y",
        "wcag-accessibility-mcp"
      ],
      "command": "npx"
    }
  }
}

Documentation

View on GitHub

From the project's GitHub README.

WCAG Accessibility MCP

A WCAG accessibility testing MCP for AI agents, Codex, Claude Code, and automated UI audits.

WCAG Accessibility MCP gives AI coding and design agents a real accessibility feedback loop. It renders web interfaces in Chromium, runs axe-core, checks color contrast, maps findings to WCAG guidance, and returns structured evidence that an agent can use to fix accessibility issues before a UI is treated as complete.

It is designed for people building with AI: product designers, design engineers, frontend developers, AI product teams, and anyone using agents to generate or review web interfaces.

This is an automated testing aid, not a WCAG certification service. It catches many common failures, but full accessibility review still requires human testing for keyboard behavior, focus order, screen readers, zoom, motion, content quality, and assistive-technology behavior.

Why This Exists

AI-generated interfaces often look polished but fail basic accessibility checks: weak contrast, missing labels, broken semantic structure, poor ARIA usage, inaccessible forms, and hidden keyboard issues.

This MCP helps agents stop guessing. Instead of saying “follow WCAG,” it gives them testable feedback:

  • what failed
  • where it failed
  • which element was affected
  • which WCAG-related rule applies
  • what needs to be fixed
  • which checks still require manual review

What It Can Do

ToolWhat it does
audit_urlAudits a rendered web page URL
audit_htmlAudits supplied HTML before it is hosted
audit_fileAudits a local .html or .htm file inside an allowed project root
check_contrastCalculates WCAG contrast for a foreground/background color pair
suggest_contrast_fixSuggests a passing color adjustment
explain_issueExplains an accessibility rule and how to fix it
get_wcag_checklistReturns the complete WCAG checklist with automated/manual coverage

Standards Coverage

The server supports these profiles:

  • wcag2a
  • wcag2aa
  • wcag2aaa
  • wcag21aa
  • wcag21aaa
  • wcag22aa
  • wcag22aaa
  • best-practice

AA profiles include Level A and AA criteria. AAA profiles include Level A, AA, and AAA criteria.

The default profile is wcag22aa.

For WCAG 2.2:

  • AA includes 55 required success criteria.
  • AAA includes 86 required success criteria.

An automated axe mapping means partial automated coverage. It does not mean the whole WCAG success criterion has been fully tested.

Install

Requirements:

  • Node.js 20 or newer
  • Chrome or Edge recommended
  • Windows, macOS, or Linux

Install from npm:

npm install -g wcag-accessibility-mcp

Or run directly:

npx -y wcag-accessibility-mcp

If the server starts correctly, you should see:

a11y-feedback-mcp is running over stdio

The startup message may still use the internal legacy name, but the published package and registry name are wcag-accessibility-mcp.

Use With Claude Code

Add the MCP server:

claude mcp add --scope user wcag-accessibility -- npx -y wcag-accessibility-mcp

Check that it is connected:

claude mcp list

Test prompt:

Use the wcag-accessibility MCP tool check_contrast. Check #999999 on #ffffff for WCAG AA normal text. Do not calculate manually.

Expected result:

The contrast ratio is about 2.85:1, which fails WCAG AA for normal text.

Use With Claude Desktop

Open the Claude desktop config file on Windows:

notepad "$env:APPDATA\Claude\claude_desktop_config.json"

Add this inside mcpServers:

{
  "mcpServers": {
    "wcag-accessibility": {
      "command": "C:\\Program Files\\nodejs\\npx.cmd",
      "args": [
        "-y",
        "wcag-accessibility-mcp"
      ]
    }
  }
}

If you already have another MCP server, keep it and add wcag-accessibility as a second entry.

Then fully quit Claude Desktop and reopen it.

Use With Codex

Add the MCP server:

codex mcp add wcag-accessibility -- npx -y wcag-accessibility-mcp

Test prompt:

Use the wcag-accessibility MCP to check the contrast of #999999 on #ffffff at WCAG AA.

Example Agent Prompts

Audit this HTML for WCAG 2.2 AA issues. Prioritize critical and serious issues, explain each fix, then list what still needs manual review.
Use wcag-accessibility to audit this local HTML file at desktop and mobile widths. Fix the accessibility issues in the code and rerun the audit.
Check whether #FF3B12 on #F5F2EC passes WCAG AA for normal text. If it fails, suggest the nearest passing foreground color.
Give me the WCAG 2.2 AAA checklist and separate automated checks from manual checks.

Local Development

Clone the repository:

git clone https://github.com/aditya-ariosity/wcag-accessibility-mcp.git
cd wcag-accessibility-mcp

Install dependencies:

npm install

Build:

npm run build

Run tests:

npm test

Run browser end-to-end tests:

npm run test:e2e

Start the stdio MCP server:

npm start

Start the optional HTTP transport:

npm run start:http

The local HTTP endpoint is:

http://127.0.0.1:3000/mcp

Health check:

http://127.0.0.1:3000/health

Environment Variables

All environment variables are optional for normal local use.

VariableDefaultPurpose
A11Y_MCP_BROWSER_PATHAuto-detectedAbsolute path to Chrome, Chromium, or Edge
A11Y_MCP_ALLOWED_ROOTCurrent working directoryRestricts local file audits to a specific folder
A11Y_MCP_ALLOW_PRIVATEtrue on stdio, false on HTTPAllows localhost/private-network URL audits in trusted environments
A11Y_MCP_ENABLE_FILE_AUDITfalse on HTTPEnables local file audits over HTTP in trusted deployments
A11Y_MCP_BROWSER_CONCURRENCY2Maximum concurrent Chromium audits
A11Y_MCP_AUDIT_TIMEOUT_MS25000Timeout for the audit phase
A11Y_MCP_NO_SANDBOXfalseDisables Chromium sandboxing only when the runtime requires it
HOST / A11Y_MCP_HOST127.0.0.1HTTP bind address
A11Y_MCP_ALLOWED_HOSTSLocalhost namesAllowed Host headers for HTTP mode
A11Y_MCP_BODY_LIMIT4mbHTTP JSON body limit
PORT3000HTTP transport port

Security Notes

The stdio server is meant to run locally with the same permissions as the agent using it.

The HTTP transport is a deployment building block, not a public hosted service by itself. Do not expose it directly to the public internet without authentication, TLS, rate limits, request-size limits, outbound network controls, and a low-privilege runtime.

By default:

  • tools are read-only
  • HTTP mode blocks private network URL targets
  • local file audit over HTTP is disabled
  • local file audit is restricted to the allowed root
  • Chromium sandboxing remains enabled unless explicitly disabled

Published Links

Current Scope

This project currently audits rendered web interfaces and HTML.

It does not yet inspect:

  • native mobile apps
  • PDFs
  • canvas-only interfaces
  • video captions
  • raw screenshots without HTML
  • raw Claude Design pixels

Future versions can add screenshot/OCR support, CI annotations, design-token integration, remote hosted transport, and deeper design-tool adapters.

License

MIT

Reviews

No reviews yet

Be the first to review this server!