Skip to main content

MCP-Server fuer Web-Accessibility-Checks: WCAG 2.1/2.2 Pruefung, Kontrast, ARIA, Formular-Validierung

Project description

accessibility-mcp-server

MCP-Server for Web Accessibility Checks (WCAG 2.1/2.2)

Gives AI agents the ability to check websites for accessibility issues, validate ARIA attributes, check color contrast ratios, and generate full accessibility reports — without any API key.

PyPI version License: MIT Python 3.10+

Features

  • WCAG 2.1 AA Compliance Checks — Automated checks for 10+ WCAG success criteria
  • Color Contrast Analyzer — Calculates contrast ratios and WCAG AA/AAA pass/fail
  • ARIA Validator — Checks ARIA roles and attributes for correctness
  • Heading Structure Analyzer — Validates heading hierarchy (H1→H2→H3...)
  • Image Alt Text Checker — Finds images missing alt attributes
  • Form Label Validator — Ensures all form inputs have accessible labels
  • Full A11y Report — Comprehensive report with accessibility score (0-100)
  • WCAG Rule Reference — Browse all WCAG 2.1 A/AA/AAA rules
  • No API Key Required — Works with any public website

Tools

Tool Description
check_url_accessibility Full WCAG 2.1 AA check for any URL
check_color_contrast Calculate contrast ratio between two colors
validate_aria Validate ARIA attributes in HTML snippet
check_heading_structure Analyze heading hierarchy on a page
check_images_alt Check all images for alt text
check_form_labels Check all form inputs for labels
generate_a11y_report Comprehensive accessibility report with score
list_wcag_rules List all WCAG 2.1 rules for a given level

Installation

pip install accessibility-mcp-server

Usage with Claude Desktop

Add to your claude_desktop_config.json:

{
  "mcpServers": {
    "accessibility": {
      "command": "accessibility-mcp-server"
    }
  }
}

Example Prompts

  • "Check https://example.com for accessibility issues"
  • "What is the contrast ratio between #333333 and #ffffff?"
  • "Generate a full accessibility report for https://mysite.com"
  • "Check if the images on https://example.com have alt text"
  • "Validate the ARIA in this HTML: <div role='buttn'>Click</div>"
  • "List all WCAG 2.1 AA rules"

WCAG Criteria Checked

Criterion Level Check
1.1.1 Non-text Content A Images without alt text
1.3.1 Info and Relationships A Heading hierarchy, landmark regions
1.4.3 Contrast (Minimum) AA Color contrast ratio calculator
2.4.1 Bypass Blocks A Skip links and landmarks
2.4.2 Page Titled A Missing or empty page titles
2.4.4 Link Purpose A Generic link text detection
3.1.1 Language of Page A Missing lang attribute
3.3.2 Labels or Instructions A Form inputs without labels
4.1.1 Parsing A Duplicate IDs
4.1.2 Name, Role, Value A ARIA validation, unlabeled buttons

Tech Stack

  • Python 3.10+ with FastMCP
  • httpx for async HTTP requests
  • BeautifulSoup4 + lxml for HTML parsing
  • WCAG formulas implemented directly (relative luminance, contrast ratio)

License

MIT — Free for personal and commercial use.


Built by AiAgentKarl | Part of the AI Agent Tools ecosystem

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

accessibility_mcp_server-0.1.0.tar.gz (10.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

accessibility_mcp_server-0.1.0-py3-none-any.whl (12.6 kB view details)

Uploaded Python 3

File details

Details for the file accessibility_mcp_server-0.1.0.tar.gz.

File metadata

File hashes

Hashes for accessibility_mcp_server-0.1.0.tar.gz
Algorithm Hash digest
SHA256 99d309935a1d8cb29d5f14d0610ccc208afd15cc0e3d946fa67304b4ace229a6
MD5 cdbcbed33d630b2324e1a5d8ee7f342d
BLAKE2b-256 ac19aeabcaea9d5297191b0f1defc8d8b8b79a976fa466167c13c42c40591d5d

See more details on using hashes here.

File details

Details for the file accessibility_mcp_server-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for accessibility_mcp_server-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 677516efd61a8130ddcf652fe50f15f6f37cfbe6dd1c444fd3bb9c767e1c00e7
MD5 04456cca540d1a88371495e6a6867734
BLAKE2b-256 e733a470594659932d85e01b27a218b65335eeb01028ca2e065fee0a1d702db4

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page