A11ymcp logo

A11ymcp

by ronantakizawa

Tests URLs and HTML for WCAG issues with axe-core, including contrast, ARIA, and orientation checks.

Install A11ymcp

Pick your client, then add it in one click or paste the config.

STDIONode.js
~/Library/Application Support/Claude/claude_desktop_config.json
claude_desktop_config.json
{
  "mcpServers": {
    "ronantakizawa-a11ymcp": {
      "command": "npx",
      "args": [
        "-y",
        "a11y-mcp-server"
      ]
    }
  }
}

Settings → Developer → Edit Config, merge this into mcpServers, then fully quit and reopen Claude Desktop.

Automated check passed— started and listed 6 tools correctly (18d ago).

Overview

ronantakizawa/a11ymcp MCP server exposes web accessibility testing through MCP tools powered by Puppeteer and axe-core. It can inspect public URLs or supplied HTML, apply WCAG 2.0, 2.1, or 2.2 tags, and return structured findings. Reach for it when an MCP-compatible coding assistant needs automated accessibility checks during development or review.

Use cases

  • Test public pages against selected WCAG levels
  • Inspect HTML snippets before deployment
  • Check contrast combinations during UI development
  • Validate ARIA attributes in component markup
  • Detect orientation-lock issues in HTML

Key features

  • URL accessibility testing with Puppeteer and axe-core
  • HTML string accessibility testing
  • WCAG 2.0, 2.1, and 2.2 tag filtering
  • Rule discovery with optional tag filters
  • Color contrast, ARIA, and orientation checks
  • Structured JSON accessibility results

Tools6

What A11ymcp lets your agent do. Expand a tool for its parameters.

Verified live~609 tokens of context

Security & health

What it can reach and how reliably it runs — from our own checks, not the maintainer’s claims.

ActiveLast checked 1d ago

Recent health check succeeded.

20/21 checks healthy over the last 78d

Supply-chain signal

No high-severity advisories surfaced by our automated scan.

Critical 0High 0Medium 0Low 0

Scanned 11d ago via OSV.dev · a11y-mcp-server (npm)

Adoption & maintenance

Factual signals from GitHub, npm, and our automated checks — not a rating.

GitHub stars94Stargazers on the source repository.
npm downloads756Package downloads in the last 30 days.
Last commit7mo agoMost recent push to the default branch.
Availability100%Our rolling endpoint + install checks that succeeded.
Install checkPassedOur sandbox started it and listed its tools.
Tools exposed6Callable tools this server registers over MCP.
Directory activity2 viewsConfig copies, upvotes, and views on AllMCPs.

How A11ymcp works

What ronantakizawa/a11ymcp MCP server does

ronantakizawa/a11ymcp MCP server gives language models access to web accessibility checks through the Model Context Protocol. It uses Puppeteer to load and evaluate pages and integrates axe-core for automated rule-based analysis. The server accepts either a public URL or an HTML string, so it can inspect a deployed page or markup that is still being developed.

Results from page and HTML tests are returned as structured JSON. Findings can include violations, impact, descriptions, remediation guidance, related help URLs, affected nodes, pass counts, incomplete checks, and test-engine details. The repository identifies WCAG 2.0, 2.1, and 2.2 tags as supported test targets.

How it works

The server runs as an MCP process that an MCP-compatible client starts with Node.js and npx. A client sends tool arguments such as a URL, HTML document, WCAG tag list, or viewport dimensions. For URL and HTML testing, the default viewport is 1280 by 800, and callers can provide their own width and height for desktop or mobile-oriented checks.

The accessibility engine is based on axe-core, with browser handling provided by Puppeteer. The project is not an official MCP server from Deque Labs, even though it uses Deque's axe-core tooling.

Setup and configuration

Node.js 18 or later is required. Add that command to the MCP configuration for the client you use, then restart or reload the client as needed.

Documented client setup examples cover Claude Desktop, Claude Code, VS Code with Copilot, Cursor, and Windsurf. Claude Code can register the server for one project or at user scope, and its claude mcp list command can verify registration.

Tools and capabilities

The available tools are:

  • test_accessibility: analyzes a URL with optional WCAG tags and viewport dimensions.
  • test_html_string: analyzes supplied HTML with the same tag and viewport controls.
  • get_rules: lists axe accessibility rules, optionally filtered by tags; rule entries include identifiers, descriptions, help text, help URLs, and tags.
  • check_color_contrast: evaluates foreground and background colors, with optional font size and bold-text inputs.
  • check_aria_attributes: checks ARIA usage in an HTML fragment.
  • check_orientation_lock: checks HTML for content that forces a specific screen orientation.

Supported examples include tags such as wcag2a, wcag2aa, wcag2aaa, wcag21a, wcag21aa, wcag22aa, and best-practice. The contrast tool accepts hexadecimal or RGB color values. The orientation and ARIA tools operate on HTML supplied directly rather than on a URL.

Limitations and notes

URL testing is described for public pages, while local or unpublished markup can be supplied through the HTML tool. Use the returned violations and affected-node details as input for accessibility remediation, not as a description of every possible accessibility concern.

Reviews

No reviews yet — be the first to share how it worked for you.

Frequently Asked Questions about A11ymcp

ronantakizawa/a11ymcp is an MCP server that connects LLMs to web accessibility testing through axe-core and Puppeteer. It provides tools to test URLs or HTML, inspect available rules, check color contrast, validate ARIA attributes, and detect orientation locks against WCAG standards.

Install it with Node.js 18 or later by configuring an MCP client to run `npx -y a11y-mcp-server`. The README provides configuration examples for Claude Desktop, Claude Code, VS Code, Cursor, and Windsurf.

Yes, ronantakizawa/a11ymcp works with Cursor through its MCP configuration. Add an `a11y-accessibility` entry to `.cursor/mcp.json` that runs `npx -y a11y-mcp-server`.

Yes, use the `test_html_string` tool to analyze supplied HTML directly. It accepts HTML, optional WCAG tags, and optional viewport width and height, making it suitable for markup that is not deployed.

Related MCP servers

Add a badge to your READMEShow it’s listed — live SVG, Markdown or HTML.

AllMCPs Directory Badge

Full Badge Customizer

Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.

Badge Style:
Live Dynamic SVG PreviewA11ymcp AllMCPs Directory Badge
Markdown (GitHub README)
[![AllMCPs](https://allmcps.com/api/badge/ronantakizawa-a11ymcp?style=directory)](https://allmcps.com/mcp/ronantakizawa-a11ymcp)
HTML Embed
<a href="https://allmcps.com/mcp/ronantakizawa-a11ymcp"><img src="https://allmcps.com/api/badge/ronantakizawa-a11ymcp?style=directory" alt="A11ymcp on AllMCPs" /></a>