wcagc-mcp
WCAG-Compliance/wcagc-mcp lets an assistant run real axe-core accessibility scans through the user's own wcagc account, rather than guessing accessibility…
Community: Submitted by a user or imported; check the owner before granting accessOnlineNo sign-inGlobalFreeRead-only
What it can do
- Scan Url: Scans one http(s) URL for accessibility problems with axe-core — deterministic checks, not a language model's opinion. Pass the URL and nothing else. If it belongs to a site registered in th
- Get Scan: Polls a scan started by scan_url — either kind, recorded against a registered site or one-off; this tool finds it either way. Returns severity counts, a finding sample, the coverage disclaim
- Get Findings: The findings for a scan started by scan_url — rule id, severity, help URL and the element selector. Works for both kinds of scan_url scan. A one-off scan returns the top-5 sample; a scan
What data it sees
Do you need an account
No: the server works without sign-in
WCAG-Compliance/wcagc-mcp lets an assistant run real axe-core accessibility scans through the user's own wcagc account, rather than guessing accessibility from markup it can see. Tools cover a single URL or PDF, a full-site crawl, saved multi-step journeys, and violation trends.
Server tool list (16)
Raw names from tools/list. Only developers need these.
| scan_url | Scans one http(s) URL for accessibility problems with axe-core — deterministic checks, not a language model's opinion. Pass the URL and nothing else. If it belongs to a site registered in the caller's account (and their plan allows), the scan is recorded against that site so it feeds history and trends; otherwise it runs as a one-off. Either way, poll it with get_scan. Returns immediately with an id — never a compliance score, because automated testing finds only a portion of accessibility barriers; see coverageDisclaimer in the result. |
| get_scan | Polls a scan started by scan_url — either kind, recorded against a registered site or one-off; this tool finds it either way. Returns severity counts, a finding sample, the coverage disclaimer, and (once terminal) a failure reason if the scan did not complete. For a full-site run from scan_site, use get_run instead. |
| get_findings | The findings for a scan started by scan_url — rule id, severity, help URL and the element selector. Works for both kinds of scan_url scan. A one-off scan returns the top-5 sample; a scan recorded against a registered site returns its full findings. For a full-site run from scan_site, use get_run_findings instead. |
| check_pdf | Downloads a public PDF URL and runs a machine-verifiable veraPDF PDF/UA-1 check (document structure, tags, reading order — not a full WCAG audit). Free tier, counted against the caller's daily quota. Queues the check and returns immediately with an id; call get_pdf_check to poll. |
| get_pdf_check | Polls a PDF check started by check_pdf — status, failed-rule and failed-check counts, and a failure reason if it did not complete. |
| list_sites | Lists this organization's registered sites — their normalized hosts are what every other Pro+ tool takes as siteHost. Pro+ (requires sites:read + API_ACCESS). |
| scan_site | Crawls and scans every reachable page of a registered site. Pro+ (SCAN_FULL_SITE). Queues the run and returns immediately with a runId — call get_run to poll. Call list_sites first if you do not already know the exact registered host. |
| get_run | Polls a full-site run started by scan_site — page progress, severity counts and, once terminal, a failure reason. Pro+. For a single-page scan from scan_url, use get_scan instead. |
| get_run_findings | Run-level, rule-deduplicated findings for a scan_site run — one entry per rule, with the WCAG success criteria it maps to. Pro+. For a single-page scan from scan_url, use get_findings instead. |
| get_root_causes | Returns deterministic repeated DOM patterns and factual blast-radius counts for a full-site run. Grouping does not expand automated-test coverage and may not match the site's real component boundaries. Pro+. |
| run_journey | Replays a saved multi-step journey (e.g. "add to cart -> checkout") against its registered site and checkpoints accessibility at each step. Pro+ (JOURNEYS; also AUTHENTICATED_SCANS when the journey logs in). Steps and any login credential always come from the journey's own saved configuration — never accepted here. Saved click or fill steps can submit forms or trigger external actions, so run only a journey the user has reviewed. Queues the run and returns immediately with a runId — call get_journey_run to poll. |
| get_journey_run | Polls a run started by run_journey — per-step checkpoints and, once terminal, a failure reason if a step failed. Pro+. |
| get_trends | Chronological (oldest->newest) per-run point history for a registered site's completed full-site runs — counts by severity and, where a comparison exists, added/resolved markers. No score. Pro+ (TREND_HISTORY). |
| get_fixes | Lists tracked remediation items for a registered site, including status and the scope of any automated verification proof. Pro+ (REMEDIATION_TRACKING). |
| verify_fix | Queues a targeted automated re-check of representative pages for one tracked fix. This is not a full-site re-scan or a compliance guarantee. Pro+. |
| get_fix_verification | Polls a targeted fix verification and reports only what was detected on the selected pages checked. Pro+. |