accessibility-mcp-server
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@accessibility-mcp-server Check https://example.com for accessibility issues"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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.
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
Related MCP server: Accessibility MCP Server
Tools
Tool | Description |
| Full WCAG 2.1 AA check for any URL |
| Calculate contrast ratio between two colors |
| Validate ARIA attributes in HTML snippet |
| Analyze heading hierarchy on a page |
| Check all images for alt text |
| Check all form inputs for labels |
| Comprehensive accessibility report with score |
| List all WCAG 2.1 rules for a given level |
Installation
pip install accessibility-mcp-serverUsage 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
Available Tools
8 toolscheck_color_contrastA
Prueft den Farbkontrast zwischen Vordergrund- und Hintergrundfarbe nach WCAG 2.1.
Args: foreground: Vordergrundfarbe als Hex (#RRGGBB oder #RGB), z.B. '#000000' background: Hintergrundfarbe als Hex (#RRGGBB oder #RGB), z.B. '#ffffff' font_size_pt: Schriftgroesse in Punkt (Standard: 12pt) bold: True wenn Fettschrift
Returns: Kontrastverhältnis, WCAG-Level und Empfehlungen
Inputs: foreground (required), background (required), font_size_pt, bold. Returns: object
check_form_labelsC
Prueft alle Formular-Elemente einer Webseite auf zugaengliche Labels (WCAG 3.3.2).
Args: url: Zu pruefende URL
Returns: Alle Formular-Elemente mit Label-Status
Inputs: url (required). Returns: object
check_heading_structureA
Analysiert die Ueberschriften-Hierarchie einer Webseite nach WCAG 1.3.1.
Prueft: H1-Einzigartigkeit, keine Hierarchie-Spruenge, leere Ueberschriften.
Args: url: Zu pruefende URL
Returns: Ueberschriften-Baum und alle gefundenen Probleme
Inputs: url (required). Returns: object
check_images_altB
Prueft alle Bilder einer Webseite auf Alt-Text (WCAG 1.1.1).
Args: url: Zu pruefende URL
Returns: Alle Bilder mit Alt-Text-Status
Inputs: url (required). Returns: object
check_url_accessibilityA
Fuehrt automatische WCAG 2.1 AA Accessibility-Checks fuer eine URL durch.
Prueft: Bildtextalternativen, Seitentitel, Sprach-Attribut, Ueberschriften-Hierarchie, Formular-Labels, Link-Texte, ARIA-Grundregeln, doppelte IDs.
Args: url: Zu pruefende URL (z.B. 'https://example.com')
Returns: Liste aller gefundenen Probleme nach WCAG-Kriterium sortiert
Inputs: url (required). Returns: object
generate_a11y_reportA
Erstellt einen vollstaendigen Accessibility-Bericht fuer eine URL. Kombiniert alle Checks: URL-Accessibility, Bilder, Formulare, Ueberschriften.
Args: url: Zu pruefende URL
Returns: Vollstaendiger A11y-Bericht mit Gesamt-Score und Empfehlungen
Inputs: url (required). Returns: object
list_wcag_rulesA
Listet alle WCAG 2.1 Regeln fuer das angegebene Konformitaetslevel.
Args: level: Konformitaetslevel -- 'A', 'AA' oder 'AAA' (Standard: 'AA')
Returns: Liste aller relevanten WCAG-Regeln mit Beschreibung
Inputs: level. Returns: object
validate_ariaA
Validiert ARIA-Attribute in einem HTML-Snippet.
Prueft: aria-* Attribute auf gueltigen Werten, role-Attribute auf bekannte Werte, required ARIA-Attribute fuer bestimmte Rollen.
Args: html_snippet: HTML-Code-Snippet (kein vollstaendiges Dokument noetig)
Returns: Liste der ARIA-Probleme mit WCAG-Referenz
Inputs: html_snippet (required). Returns: object
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 8 tools
Each tool targets a distinct aspect of accessibility testing (color contrast, form labels, headings, images, etc.), but check_url_accessibility overlaps with several individual checks (images, headings, forms). Despite this, descriptions clearly distinguish between comprehensive and focused checks, so confusion is limited.
Most tools use the verb_noun pattern with 'check_', but there are exceptions: generate_a11y_report, list_wcag_rules, and validate_aria. While names are clear, the mix of verbs and a few underscores with abbreviations (a11y) breaks full consistency.
With 8 tools, the server covers core accessibility checks, a combined scan, rule reference, and ARIA validation. The count is well-scoped for an automated accessibility testing tool, neither too sparse nor too bloated.
The set includes essential WCAG checks like color contrast, headings, images, forms, and ARIA, plus a report generator and rule list. However, it lacks checks for keyboard navigation, focus order, or more advanced dynamic content, which are minor gaps for an automated audit.
Related MCP Connectors
Run WCAG accessibility scans on websites, list each issue with its element, and triage from chat.
Scan URLs or HTML for WCAG 2.2 violations. 75-rule manifest, weighted score, shareable reports.
Free WCAG 2.2/ADA/508 accessibility MCP: scan, AI fixes, verify, vision audit, localhost tunnel
Hosted browser for AI agents: screenshots, post-JS DOM, console, WCAG. No install, no API key.
Related MCP Servers
- AlicenseBqualityDmaintenanceEnables AI agents to perform comprehensive accessibility audits on websites using Playwright and axe-core against WCAG standards. Provides detailed compliance reports with violation summaries and remediation guidance across multiple browsers.3MIT
- AlicenseAqualityDmaintenanceProvides conversational, actionable accessibility testing for AI agents, including auditing, prioritization, and code-level fixes.2214 npmMIT
- AlicenseNot gradedqualityDmaintenanceProvides AI agents with web accessibility analysis tools via MCP, enabling checks for alt text, heading hierarchy, color contrast, ARIA validation, and form accessibility.46 npmMIT
- AlicenseAqualityDmaintenanceEnables AI agents to perform comprehensive web application testing including visual, functional, performance, accessibility, and SEO analysis using browser automation without requiring API keys.7MIT