Catalog PyPI
PACKAGE EXPLORERView in registry

a11y-expert-mcp

PyPI

Accessibility expert MCP server — helps developers build accessible components with WAI-ARIA patterns, code review, and WCAG guidance.

a11yaccessibilitymcpmodel-context-protocolwai-ariawcag
Versions collected1
Direct dependencies1From release 0.1.0
Last observed20 Oct, 16:17 UTC

README

Version 0.1.0 documentation

A11y Expert MCP

PyPI version Python 3.11+

An accessibility expert for your AI coding assistant. This MCP (Model Context Protocol) server gives AI tools like Claude, Cursor, and Windsurf real-time access to WAI-ARIA patterns, code review, contrast checking, and WCAG guidance — so the code they write is accessible from the start.

What's Inside

🔧 Tools

ToolWhat it does
get_patternGet the full WAI-ARIA implementation pattern for any UI component — roles, states, keyboard interaction, and code examples.
review_codePaste HTML/JSX/TSX/Vue/Svelte code and get a list of accessibility issues with specific fixes and WCAG references. Detects 10+ anti-patterns including missing labels, click-on-divs, broken heading hierarchy, missing dialog roles, and more.
list_patternsSee all 33 component patterns available in the knowledge base.
check_contrastCheck any two hex colors against WCAG AA and AAA contrast requirements for both normal and large text.

📚 Knowledge Base (33 Components)

Every pattern comes from the WAI-ARIA Authoring Practices and includes roles, states, properties, keyboard interaction, and code examples.

AccordionAlertAlert DialogBreadcrumbs
ButtonsCarouselCheckboxCombobox
Dialog (Modal)DisclosureFeedGrid
HeadingsImage LabelingLandmarksLink
ListboxMenuMenu ButtonMeter
RadioSliderSlider (Multi-thumb)Spinbutton
SwitchTablesTabsToolbar
TooltipTreeviewTreegridWindow Splitter
Accessibility (General)

💬 Prompts

Pre-built workflows your AI assistant can use:

PromptWhat it does
audit-componentStep-by-step accessibility audit — checks ARIA, keyboard, focus, contrast, headings, touch targets. Provide code + optional component type.
make-accessibleRewrites inaccessible code into a fully accessible implementation with WAI-ARIA patterns and comments explaining every change.
check-form-accessibilityForm-specific audit — labels, required fields, error handling, fieldsets, autocomplete, tab order, and submit feedback.
wcag-checklistGenerates a WCAG 2.2 compliance checklist (AA or AAA) organized by principle, tailored to your page or component.
aria-guideComplete ARIA implementation guide for a component — roles, attributes, keyboard table, focus management, screen reader script, and code example.

📖 Resources

Browsable knowledge base for MCP clients:

  • a11y://patterns — Index of all 33 component patterns
  • a11y://patterns/{component} — Full pattern detail for any component

Installation

Prerequisites

  • Python 3.11+
  • uv (recommended) or pip

Option 1: Run directly with uvx (no install needed)

uvx a11y-expert-mcp

Option 2: Install with pip

pip install a11y-expert-mcp

Then run:

a11y-expert-mcp

Option 3: Run from source

git clone https://github.com/Elizabeth1979/a11y-expert-mcp.git
cd a11y-expert-mcp
uv run a11y-expert-mcp

Configuration

Claude Desktop / Claude Code

Add to your MCP config (~/.claude/config.json or Claude Desktop settings):

{
  "mcpServers": {
    "a11y": {
      "command": "uvx",
      "args": ["a11y-expert-mcp"]
    }
  }
}

Or if running from source:

{
  "mcpServers": {
    "a11y": {
      "command": "uv",
      "args": ["run", "--project", "/path/to/a11y-expert-mcp", "a11y-expert-mcp"]
    }
  }
}

Cursor / Windsurf / Other MCP Clients

Use the same command and args — check your editor's MCP configuration docs for the exact config file location.

Usage Examples

Once connected, your AI assistant can:

Get an accessible pattern:

"How do I build an accessible tabs component?" → The assistant calls get_pattern("tabs") and gets the full WAI-ARIA pattern with keyboard interaction and code.

Review code for issues:

"Check this modal for accessibility problems" → The assistant calls review_code(code, component_type="modal") and gets specific issues with fixes.

Check color contrast:

"Does #666 on #fff pass WCAG?" → The assistant calls check_contrast("#666", "#fff") and gets AA/AAA results for normal and large text.

Generate a WCAG checklist:

"Give me a WCAG AA checklist for my checkout page" → The assistant uses the wcag-checklist prompt to generate a tailored compliance checklist.

How It Works

The server bundles 33 WAI-ARIA pattern documents as a knowledge base. When your AI assistant asks about a component, it gets the real specification — not hallucinated ARIA attributes. The review_code tool runs 10+ static checks for common anti-patterns (click handlers on divs, missing labels, broken heading hierarchy, positive tabindex, etc.) and cross-references relevant patterns.

No external API calls. No database. Everything runs locally.

Tech Stack

  • MCP SDK (FastMCP)
  • Python 3.11+
  • WAI-ARIA Authoring Practices knowledge base (bundled markdown files)

License

MIT

Author

Elli (@Elizabeth1979)

Downloads & popularity

Awaiting observations

No metric observations yet

Download counts and popularity will appear here as the collector receives them.

Versions 1

Collected releases
VersionPublishedDirect dependenciesOpen version
0.1.07 Apr 20261

Package advisories

0
No matching advisories collected

This describes our collected data; it is not a security assessment.

Repository

PENDING
elizabeth1979/a11y-expert-mcp

Shared repository data · GitHub

License detected in repository
Not collected

Metadata history

Meaningful changes
Current collected state Current

Observed since 20 Oct, 16:17 UTC

No superseded metadata states collected. Unchanged observations do not create new revisions.

Record identity

package:927287adf7f9473314b5b0eaf5bbe836c9008be8c71c21ae3b064705aed00861