Skip to main content
Glama
ksmuvva

Accessibility MCP

by ksmuvva

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
HTTPS_PROXYNoOutbound proxy for audit_url / audit_site (alternative to ACCESSIBILITY_MCP_PROXY).
ACCESSIBILITY_MCP_PROXYNoOutbound proxy for audit_url / audit_site.
PLAYWRIGHT_BROWSERS_PATHNoSearched for an installed Chromium build. Default: Playwright default.
ACCESSIBILITY_MCP_CHROMIUMNoExplicit Chromium executable path. Default: auto-detect.
ACCESSIBILITY_MCP_MAX_DEPTHNoDefault crawl depth limit. Default: 2.
ACCESSIBILITY_MCP_MAX_PAGESNoDefault crawl page limit. Default: 20.
ACCESSIBILITY_MCP_PAGE_TIMEOUT_MSNoPage load timeout in milliseconds. Default: 30000.

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
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 steps first, then runs the chosen engines plus GOV.UK-specific checks. Returns structured JSON, a Markdown report and a GDS-style compliance summary.

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 level) that can be automated — a high-confidence pass/fail across the machine-testable surface. Criteria that cannot be automated are reported by list_manual_checks.

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

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

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