MCP Accessibility Scanner
UnclaimedAn MCP (Model Context Protocol) server for performing accessibility audits on webpages using axe-core.
Install
claude mcp add mcp-accessibility-scanner -s user -- docker run -i --rm justasmonkev/mcp-accessibility-scannerSet up this server
More in AI & ML
Browse the full directoryUnclaimed listing
Is this your MCP server?
This listing was auto-indexed from the public record. Claim it to edit the page, set compatibility and unlock growth tools. Takes under two minutes.
Claim this serverSecurity profile
Claimed and verified servers get a weekly static scan that shows what the code can reach: external services, environment variables, shell commands, agent configuration folders, plus any dependencies with known advisories. Claim this listing to get one. How the security profile works
40 of 40 tools
Documented tools (40)
From project documentation. A server handshake does not verify each tool’s description or behavior.
annotateScreenshot
(default false): capture an annotated screenshot of the violations
audit_keyboard
Audits real keyboard focus behavior by pressing Tab (and optional Shift+Tab) with practical heuristics.
audit_screen_reader
Audits what a screen reader actually announces, using the browser's own accessibility tree (page.ariaSnapshot) plus element geometry. No screen reader is installed or driven; this is a static reading of the exposed tree.
audit_site
Crawls and scans multiple internal pages, then aggregates violations across the site.
browser_click
Perform click on a web page element.
browser_close
Close the page.
browser_default_timeout
Set default operation timeout for existing tabs.
browser_drag
Perform drag and drop between two elements.
browser_drop
Simulate an external drag and drop of files or clipboard-like data onto an element, for testing drop zones that never see a drag start inside the page.
browser_evaluate
Evaluate a JavaScript expression on the page, or on a specific element when a ref is provided. The function's return value is serialized back as the result.
browser_fill_form
Fill multiple fields with one call.
browser_find
Search the current page accessibility snapshot without returning the full snapshot.
browser_hover
Hover over element on page.
browser_install
Install the configured browser engine (use when browser executable is missing).
browser_navigate
Navigate to a URL.
browser_navigate_back
Go back to the previous page.
browser_navigation_timeout
Set default navigation timeout for existing tabs.
browser_pdf_save
Save page as PDF.
browser_press_key
Press a key on the keyboard.
browser_resize
Resize the browser window.
browser_select_option
Select an option in a dropdown.
browser_snapshot
Capture accessibility snapshot of the current page (better than screenshot for analysis).
browser_tabs
Manage browser tabs in one tool.
browser_take_screenshot
Take a screenshot of the current page.
browser_type
Type text into editable element.
duplicate-accessible-name
sibling links with the same name that lead to different URLs (WCAG 2.4.4)
element
and ref must be supplied together, or not at all; supplying one without the other is rejected.
filename-as-accessible-name
image alt text that is a file name, e.g. IMG1234.jpg, DSC00123 (WCAG 1.1.1). Only images are checked: a link or button legitimately named after the file it downloads (logo.png) is not a defect.
includeIncomplete
(default true): also report Axe "incomplete" results
includeSelectors
/ excludeSelectors: CSS selectors that scope the scan
label-in-name-mismatch
the accessible name does not contain the visible label, which breaks voice control (WCAG 2.5.3). The visible label of <input type="submitbuttonreset"> is read from its value, and a web component's label is read from its open shadow root.
maxNodesPerViolation
(default 10): cap on nodes reported per rule
missing-accessible-name
controls and images exposed with no accessible name (WCAG 4.1.2)
paths
are read from the filesystem of the machine running the server, exactly as browserfileupload does, and a relative path resolves against the server's working directory. Unlike browserfileupload this needs no file chooser to be open, so any page with a dragover handler is a valid target — treat it as
reading-order-mismatch
accessibility tree order (what is read) versus visual position (WCAG 1.3.2), i.e. order, flex-direction: row-reverse, absolute positioning
scan_page
Performs a comprehensive accessibility scan on the current page using Axe-core.
scan_page_matrix
Runs Axe scans on the same page across viewport/media/zoom variants and compares deltas against baseline.
uninformative-accessible-name
names such as "click here", "read more", "image" that mean nothing out of context (WCAG 2.4.4)
violationsTag
Array of WCAG/violation tags to check
withRules
/ disableRules: Axe rule ids that narrow which rules run
Tool change history
FAQ
Questions about MCP Accessibility Scanner MCP Server
- How do I connect MCP Accessibility Scanner MCP Server to Claude?
- The listing records `claude mcp add mcp-accessibility-scanner -s user -- docker run -i --rm justasmonkev/mcp-accessibility-scanner` as its setup step. Run it, then follow the repository's instructions for the client configuration; the listing names Claude Desktop, Claude Code, VS Code as compatible clients.
- Is MCP Accessibility Scanner MCP Server free?
- The listed licence is MIT. Check the upstream terms for permitted use and commercial requirements; a public repository does not by itself mean the software is free or open source. Connected APIs and hosted services may have separate charges.
- What can MCP Accessibility Scanner MCP Server do?
- MCP Accessibility Scanner MCP Server documents 40 tools to the agent, including annotateScreenshot, audit_keyboard, audit_screen_reader. The descriptions above come from project documentation. A live handshake does not test individual tool behavior.