Accessibility MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| HTTPS_PROXY | No | Outbound proxy for audit_url / audit_site (alternative to ACCESSIBILITY_MCP_PROXY). | |
| ACCESSIBILITY_MCP_PROXY | No | Outbound proxy for audit_url / audit_site. | |
| PLAYWRIGHT_BROWSERS_PATH | No | Searched for an installed Chromium build. Default: Playwright default. | |
| ACCESSIBILITY_MCP_CHROMIUM | No | Explicit Chromium executable path. Default: auto-detect. | |
| ACCESSIBILITY_MCP_MAX_DEPTH | No | Default crawl depth limit. Default: 2. | |
| ACCESSIBILITY_MCP_MAX_PAGES | No | Default crawl page limit. Default: 20. | |
| ACCESSIBILITY_MCP_PAGE_TIMEOUT_MS | No | Page load timeout in milliseconds. Default: 30000. |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| audit_urlA | Audit a single live web page for WCAG 2.2 accessibility (GOV.UK standard). Loads the URL in headless Chromium, optionally performs interaction Args: url: The page URL to audit (http/https). level: WCAG level: "A", "AA" (default, GOV.UK requirement) or "AAA". engines: Subset of ["axe","pa11y","lighthouse","ibm"]. Defaults to ["axe"]. steps: Optional interactions before auditing, each {"action": "click|fill|wait|press|navigate", "selector": ..., "value": ..., "ms": ...}. include_best_practice: Also run axe "best-practice" rules (not WCAG). |
| audit_htmlA | Audit a raw HTML string or component snippet for WCAG 2.2 accessibility. Renders the HTML in headless Chromium (no network fetch) and audits it with the chosen engines. Useful for testing templates/components in CI. Args: html: The HTML markup to audit. level: WCAG level: "A", "AA" (default) or "AAA". engines: Subset of ["axe","pa11y","lighthouse","ibm"]. Defaults to ["axe"]. steps: Optional interactions before auditing (see audit_url). include_best_practice: Also run axe "best-practice" rules. |
| audit_siteA | Crawl a site (same origin) and audit each page for WCAG 2.2 accessibility. Breadth-first crawl from the start URL, auditing each page with the chosen engines. Returns per-page results and an aggregated service-level GDS summary. Args: url: The start URL to crawl from. max_pages: Maximum pages to audit (capped by server config). max_depth: Maximum link depth from the start URL (capped by server config). level: WCAG level: "A", "AA" (default) or "AAA". engines: Subset of ["axe","pa11y","lighthouse","ibm"]. Defaults to ["axe"]. include_best_practice: Also run axe "best-practice" rules. |
| audit_axeB | Audit with the axe-core engine only (plus GOV.UK checks). Provide one of: url, html, or session_id. axe-core is the in-process engine with explicit WCAG 2.2 rule tags. |
| audit_pa11yA | Audit with the pa11y engine only (HTML_CodeSniffer + axe runners). Provide one of: url, html, or session_id. Requires the Node engine runner (accessibility_mcp/engines_node/setup.sh). |
| audit_lighthouseA | Audit with the Google Lighthouse accessibility engine only. Provide one of: url, html, or session_id. Lighthouse audits by URL (it reloads the page). Requires the Node engine runner. |
| audit_ibmA | Audit with the IBM Equal Access engine only. Provide one of: url, html, or session_id. Requires the Node engine runner and network egress to the IBM rule archive (cdn.jsdelivr.net); otherwise returns a structured engine-error. |
| browser_openA | Open a new stateful browser session and return its session_id. Use the session_id with browser_navigate / browser_click / browser_fill / browser_wait / browser_snapshot / audit_current_page, then browser_close. Lets you audit pages behind logins or multi-step journeys. |
| browser_navigateC | Navigate a session's page to a URL. |
| browser_clickC | Click an element (CSS selector) in a session's page. |
| browser_fillC | Fill a form field (CSS selector) with a value in a session's page. |
| browser_waitC | Wait for a selector to appear, or for a number of milliseconds. |
| browser_snapshotA | Return the current url, title and visible text of a session's page. |
| audit_current_pageA | Audit the current (post-interaction) state of a session's page. axe-core runs against the live page; pa11y, Lighthouse and IBM audit a serialised snapshot of the current DOM, so interaction state (filled fields, opened modals, dynamic content) is preserved. Args: session_id: A session from browser_open. level: WCAG level: "A", "AA" (default) or "AAA". engines: Subset of ["axe","pa11y","lighthouse","ibm"]. Defaults to ["axe"]. include_best_practice: Also run axe "best-practice" rules. |
| browser_closeA | Close a stateful browser session and free its resources. |
| list_enginesA | List the available audit engines and whether the Node engines are installed. |
| list_wcag_rulesB | List the WCAG success criteria checked, with automation coverage. Returns each criterion's number, name, level, automation (full/partial/manual), whether it is new in WCAG 2.2, and its W3C Understanding URL. Args: version: WCAG version (informational; this server targets 2.2). level: Highest conformance level to include: "A" or "AA" (default). |
| list_axe_rulesA | List the axe-core rules, each of which is also exposed as its own tool. Args: wcag_only: If true, only rules tagged with a WCAG conformance level. |
| audit_automated_checksA | Run ALL automated WCAG checks at once (every machine-detectable criterion). Runs the axe rules for every WCAG 2.2 criterion (up to Provide one of: url, html, or session_id. |
| list_automated_checksA | List the WCAG criteria that CAN be automated, with the axe rules behind each. These are the criteria the automated-check tools (check_wcag_ and audit_automated_checks) can verify. Each also names its per-criterion tool. Args: level: Highest conformance level to include: "A" or "AA" (default). |
| list_manual_checksA | List the WCAG criteria that CANNOT be automated and need human review. These have no axe-core coverage; automated tools cannot verify them, so they must be assessed manually (e.g. keyboard operation, focus order, captions, and several of the new WCAG 2.2 criteria). Honest scoping for compliance claims. Args: level: Highest conformance level to include: "A" or "AA" (default). |
| list_groupsA | List the grouped audit tools and which axe rules each runs. Two grouping schemes: by WCAG principle (audit_perceivable / audit_operable / audit_understandable / audit_robust) and by axe category (audit_group_). |
| generate_accessibility_statementA | Draft a GOV.UK-format accessibility statement from an audit. Provide either audit_id (from a previous audit tool call) or url (to audit now). Args: audit_id: Id returned by a previous audit tool call. url: URL to audit now if no audit_id is given. service_name: Name of the service (statement heading). organisation: Organisation running the website. contact_email: Accessibility contact email. website_url: The website/service URL the statement covers. audit_date: Date the audit was carried out. |
| axe_check_ruleB | Check a specific axe-core rule by ID. Replaces 100+ individual axe_* tools with one generic tool. Call list_axe_rules to see available rule IDs. Args: rule_id: The axe-core rule ID to check (e.g. 'color-contrast'). url: URL to audit (one of url, html, or session_id required). html: HTML string to audit. session_id: Existing browser session to audit. |
| audit_perceivableA | Audit the WCAG 'Perceivable' principle: runs the 29 axe rules mapped to WCAG perceivable criteria. Provide one of: url, html, or session_id. |
| audit_operableB | Audit the WCAG 'Operable' principle: runs the 14 axe rules mapped to WCAG operable criteria. Provide one of: url, html, or session_id. |
| audit_understandableA | Audit the WCAG 'Understandable' principle: runs the 6 axe rules mapped to WCAG understandable criteria. Provide one of: url, html, or session_id. |
| audit_robustA | Audit the WCAG 'Robust' principle: runs the 31 axe rules mapped to WCAG robust criteria. Provide one of: url, html, or session_id. |
| audit_group_keyboardB | Audit the 'keyboard' rule group (9 axe rules). Provide one of: url, html, or session_id. |
| audit_group_text_alternativesB | Audit the 'text-alternatives' rule group (12 axe rules). Provide one of: url, html, or session_id. |
| audit_group_ariaB | Audit the 'aria' rule group (25 axe rules). Provide one of: url, html, or session_id. |
| audit_group_name_role_valueA | Audit the 'name-role-value' rule group (7 axe rules). Provide one of: url, html, or session_id. |
| audit_group_time_and_mediaB | Audit the 'time-and-media' rule group (5 axe rules). Provide one of: url, html, or session_id. |
| audit_group_formsA | Audit the 'forms' rule group (5 axe rules). Provide one of: url, html, or session_id. |
| audit_group_structureB | Audit the 'structure' rule group (8 axe rules). Provide one of: url, html, or session_id. |
| audit_group_colorA | Audit the 'color' rule group (3 axe rules). Provide one of: url, html, or session_id. |
| audit_group_parsingB | Audit the 'parsing' rule group (4 axe rules). Provide one of: url, html, or session_id. |
| audit_group_semanticsC | Audit the 'semantics' rule group (14 axe rules). Provide one of: url, html, or session_id. |
| audit_group_languageB | Audit the 'language' rule group (4 axe rules). Provide one of: url, html, or session_id. |
| audit_group_sensory_and_visual_cuesB | Audit the 'sensory-and-visual-cues' rule group (3 axe rules). Provide one of: url, html, or session_id. |
| audit_group_tablesA | Audit the 'tables' rule group (6 axe rules). Provide one of: url, html, or session_id. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/ksmuvva/MCp-accessibility-Muvva'
If you have feedback or need assistance with the MCP directory API, please join our Discord server