About mcp-wcag-accessibility-audit
An MCP server that audits websites for automated accessibility issues using axe-core in a real browser. It is intended for teams checking WCAG-related issues and compliance signals, and returns per-domain findings with an accessibility score.
Key features
- 01Real-browser axe-core audits
- 02Single-domain or batch checks
- 03Selectable accessibility standards
- 04Optional compliance-page checks
- 05Scores and severity-ranked findings
Use cases
- 01Checking WCAG issues on a website
- 02Reviewing multiple domains for EAA exposure
- 03Checking accessibility statements or privacy pages
MCP support
Exposes the `audit_wcag_accessibility` tool to MCP clients. The server starts the Apify actor, waits for completion, and returns dataset rows.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
npx -y @mambalabsdev/mcp-wcag-accessibility-auditAPIFY_TOKENSecretApify API token from https://console.apify.com/account/integrationsLocal servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.
Tools
1Saved tool list · updated 1w ago
| Parameter | Type | Required | Description |
|---|---|---|---|
| pages | enum | No | Pages per domain. 1 audits the homepage; 2 to 5 add pages from the sitemap or the homepage navigation, each charged as page-audited. Default 1.1 | 2 | 3 | 4 | 5 |
| domain | string | No | One website domain, for example mambabuilt.com. The homepage is audited. Required unless domains is set. |
| domains | array | No | A list of website domains, one row per domain. Used instead of domain when set. |
| standard | enum | No | Rule set to run. ada runs WCAG 2.1 AA, the level the ADA Title II rule names. en301549 runs the rules axe maps to EN 301 549, the standard the EAA points to. Default wcag21aa.wcag21aa | wcag22aa | wcag2aa | wcag2a | section508 | ada | en301549 |
| viewport | enum | No | desktop renders at 1280 by 800; mobile at 390 by 844 with touch. Default desktop.desktop | mobile |
| skipCache | enum | No | false reuses an identical audit from the last 24 hours; true audits fresh. Default false.false | true |
| max_charge_usd | string | No | Optional cost cap in USD, for example 1.50. The run stops before starting a domain that could take its charges past it. |
| compliance_checks | array | No | Optional presence checks, charged once per domain as compliance-checked when any is set. impressum runs only on German language or .de sites and reports field types, never values. |
Details
From the project READMEWCAG Accessibility Audit MCP Server
An MCP server for the Mamba Labs WCAG Accessibility Audit actor on Apify. Send a domain or a list. Each domain is rendered in a real browser and audited with axe-core, and you get back one row per domain: the WCAG issues automated checks find by severity, the worst failing rules, a score, European Accessibility Act exposure signals, and optional compliance page checks.
What's Inside
- What it does
- Quick start
- Prerequisites
- Example prompts
- Tool
- Inputs
- Pricing
- Your keys
- Full actor documentation
- License
What it does
Audit websites for accessibility with axe-core in a real browser. Give one domain or a list; each domain returns one row with the WCAG issues automated checks find (distinct failing rules by impact, affected element count, top failing rules with help links, sample selectors), a 0 to 100 score, European Accessibility Act exposure signals, and optional presence checks for an accessibility statement, an accessibility overlay widget, a privacy policy, a German Impressum, and the US privacy choice link and GPC file. Blocked, timed out, or unreachable sites return a free row that says why. Automated checks find a subset of WCAG failures and the result is never a conformance claim. A run that does not succeed is returned as an error with its run ID. Read-only on the audited sites; requires an APIFY_TOKEN and consumes Apify credits per audited domain.
All of the work runs on Apify. This package is a thin client that starts the actor run, waits for it, and hands back the dataset rows.
Quick start
You need Node.js 18 or newer and an Apify account with an API token.
Add this to your Claude Desktop config (claude_desktop_config.json), Cursor, or any MCP client:
{
"mcpServers": {
"mamba-wcag-accessibility-audit": {
"command": "npx",
"args": [
"-y",
"@mambalabsdev/mcp-wcag-accessibility-audit"
],
"env": {
"APIFY_TOKEN": "your-apify-token"
}
}
}
}
Restart the client. The audit_wcag_accessibility tool appears.
Prerequisites
- Node.js 18 or newer.
- An Apify API token from console.apify.com/account/integrations, set as
APIFY_TOKEN. The server lists its tool without a token; a call needs one.
Example prompts
- "Audit mambabuilt.com and example.de against WCAG 2.2 AA and list the critical issues."
- "Check these 20 EU shop domains for EAA exposure and whether each links an accessibility statement."
- "Does this German site have an Impressum, and which required fields does it show?"
Tool
audit_wcag_accessibility. One tool. Example arguments:
{
"domains": ["mambabuilt.com", "example.de"],
"standard": "wcag22aa",
"compliance_checks": ["accessibility_statement", "impressum", "overlay"]
}
Inputs
Every buyer facing input of the actor, unchanged. Omitted inputs take the actor's own defaults.
| Input | Type | Required | Description |
|---|---|---|---|
domain | string | one of the two | One website domain. The homepage is audited. |
domains | array | one of the two | A list of website domains, one row per domain. |
standard | string | no | wcag21aa (default), wcag22aa, wcag2aa, wcag2a, section508, ada, or en301549. |
pages | string | no | 1 to 5 pages per domain. Default 1. |
viewport | string | no | desktop (default) or mobile. |
compliance_checks | array | no | Any of accessibility_statement, overlay, privacy_policy, impressum, us_privacy_links. |
skipCache | string | no | false (default) reuses an identical audit from the last 24 hours; true audits fresh. |
max_charge_usd | string | no | Optional cost cap for the run, in USD. |
Pricing
Pay per event on Apify, billed to your Apify account. Prices in USD.
| Event | Free plan | Bronze | Silver | Gold |
|---|---|---|---|---|
domain-audited, per domain with a rendered audit | $0.01 | $0.0095 | $0.009 | $0.0085 |
page-audited, per page after the homepage | $0.002 | $0.0019 | $0.0018 | $0.0017 |
compliance-checked, per domain with any compliance check | $0.003 | $0.00285 | $0.0027 | $0.00255 |
apify-actor-start, per run start | $0.0025 | $0.0025 | $0.0025 | $0.0025 |
Blocked, timed out, and unreachable domains are never charged.
Your keys
The actor needs no provider key. It reads only the sites you give it and holds no key of its own.
Full actor documentation
apify.com/mambalabs/wcag-accessibility-audit
License
MIT. See LICENSE.
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.