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. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| 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 | |
TDQS
Scored across 41 tools
Tools are largely distinct with clear descriptions, but some overlap exists (e.g., audit_automated_checks vs audit_axe, or audit_url vs audit_current_page). The group and principle audits are well separated.
All tool names follow a consistent verb_noun pattern with underscores (audit_*, browser_*, list_*, etc.). No mix of styles, highly predictable.
41 tools is on the high side but justified by the breadth of accessibility auditing (multiple engines, groups, principles, site crawl, browser session). Could be streamlined but not excessive.
The tool surface covers automated checks, manual checks, multiple engines, site crawling, browser interactions, rule listing, and statement generation. No obvious gaps for the intended domain.