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_urlScans 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_scanPolls 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_findingsThe 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_pdfDownloads 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_checkPolls a PDF check started by check_pdf — status, failed-rule and failed-check counts, and a failure reason if it did not complete.
list_sitesLists this organization's registered sites — their normalized hosts are what every other Pro+ tool takes as siteHost. Pro+ (requires sites:read + API_ACCESS).
scan_siteCrawls 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_runPolls 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_findingsRun-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_causesReturns 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_journeyReplays 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_runPolls a run started by run_journey — per-step checkpoints and, once terminal, a failure reason if a step failed. Pro+.
get_trendsChronological (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_fixesLists tracked remediation items for a registered site, including status and the scope of any automated verification proof. Pro+ (REMEDIATION_TRACKING).
verify_fixQueues 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_verificationPolls a targeted fix verification and reports only what was detected on the selected pages checked. Pro+.