Audit websites for WCAG issues with axe-core, plus EAA exposure signals and compliance page checks.
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.
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.
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.
APIFY_TOKEN. The server lists its tool without a token; a call needs one.audit_wcag_accessibility. One tool. Example arguments:
{
"domains": ["mambabuilt.com", "example.de"],
"standard": "wcag22aa",
"compliance_checks": ["accessibility_statement", "impressum", "overlay"]
}
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. |
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.
The actor needs no provider key. It reads only the sites you give it and holds no key of its own.
apify.com/mambalabs/wcag-accessibility-audit
MIT. See LICENSE.
Source-derived launch command. Check the maintainer’s required arguments and credentials before running:
npx -y @mambalabsdev/mcp-wcag-accessibility-auditMerge this template into ~/Library/Application Support/Claude/claude_desktop_config.json. Keep existing servers. Add any arguments, credentials, and permissions required by the maintainer; this template has not been install-tested.
{
"mcpServers": {
"com-mambabuilt-mcp-wcag-accessibility-audit": {
"command": "npx",
"args": [
"-y",
"@mambalabsdev/mcp-wcag-accessibility-audit"
]
}
}
}Restart Claude Desktop completely for changes to take effect. Confirm the server appears connected in the client’s tool list, then try a read-only example from its documentation.
Claude Desktop setup reference@mambalabsdev/mcp-wcag-accessibility-auditnpmcom.mambabuilt/mcp-wcag-accessibility-audit works with any MCP-compatible client. Copy the config snippet from the Configuration section above and add it to the file shown for your client, then restart the application.
~/Library/Application Support/Claude/claude_desktop_config.jsonRestart Claude Desktop completely for changes to take effect.~/.cursor/mcp.jsonRestart Cursor for changes to take effect..vscode/mcp.jsonReload VS Code window for changes to take effect.~/.codeium/windsurf/mcp_config.jsonRestart Windsurf for changes to take effect..mcp.jsonSave at the project root, then start Claude Code in that project and review the MCP server approval prompt. Keep real credentials out of shared files.