Rgaa
MCP server that audits websites for **RGAA 4.1.2** accessibility compliance. Connects to Claude Desktop and exposes two tools: automated page auditing and RGAA criteria lookup.
Ask AI about Rgaa
Powered by Claude · Grounded in docs
I know everything about Rgaa. Ask me about installation, configuration, usage, or troubleshooting.
0/500
Reviews
Documentation
rgaa-mcp
MCP server that audits websites for RGAA 4.1.2 accessibility compliance. Connects to Claude Desktop and exposes two tools: automated page auditing and RGAA criteria lookup.
Tools
rgaa_audit
Audits a URL against RGAA 4.1.2 / WCAG 2.1 AA using Playwright + axe-core, then maps violations to RGAA criteria.
Inputs:
url(required) — full URL to audit (e.g.https://example.com)viewport(optional) —"desktop"(1280×800, default) or"mobile"(375×667)
What it checks:
- axe-core rules: WCAG 2.0/2.1 A & AA + best practices
- Violations mapped to RGAA themes (Images, Couleurs, Liens, Formulaires, Structure, Navigation…)
- Behavioral checks: horizontal scroll at 320px (RGAA 10.11), text spacing overflow (RGAA 10.12), meta refresh (RGAA 13.1)
Output: Markdown report with violation summary, per-theme breakdown, affected HTML elements, and fix guidance.
rgaa_criterion
Returns the full definition of a RGAA 4.1.2 criterion, fetched live from the official DISIC repository (with local fallback).
Input:
id(required) — criterion ID in"theme.number"format (e.g."1.1","3.2","11.13")
Output: criterion title, WCAG level, WCAG references, tests, special cases, technical notes, and test methodology.
Installation
Claude Code (CLI)
claude mcp add rgaa-mcp -- node "/path/to/rgaa-analyzer-mcp/dist/server.js"
The rgaa_audit and rgaa_criterion tools will be available in your conversations.
Local development
npm install
npm run build # Compile TypeScript → dist/
npm run dev # Run with tsx (no compile step)
npm start # Run compiled dist/server.js
Verify the server starts correctly:
node dist/server.js # Should print "RGAA MCP Server running" to stderr
Tech stack
- Model Context Protocol SDK — MCP server transport
- Playwright — headless Chromium for page rendering
- axe-core — automated accessibility rule engine
- Zod — input validation
- TypeScript — ES2022, NodeNext modules, strict mode
Notes
stdoutis reserved for the MCP protocol. All logging goes tostderr.- RGAA criteria data is fetched live from DISIC/accessibilite.numerique.gouv.fr and cached in memory for the lifetime of the process. A local fallback covers the most common criteria if the network is unavailable.
- axe-core is injected directly from
node_modulesto avoid CSP issues with CDN URLs.
