This accessibility scanner, developed for the Model Context Protocol, integrates Axe Core with Playwright to perform automated web accessibility testing. Built with TypeScript, it leverages the MCP SDK to provide a standardized interface for running accessibility checks on web pages. The implementation focuses on ease of use and comprehensive reporting, offering detailed insights into accessibility issues. It's particularly useful for developers and quality assurance teams working on web applications, enabling use cases such as continuous integration testing, compliance auditing, and identifying accessibility barriers without manual inspection of each page element.
No reviews yet. Be the first to review!
Sign in to join the conversation
Performs a comprehensive accessibility scan on the current page using Axe-core. Parameters: violationsTag (array of WCAG/violation tags to check).
Crawls and scans multiple internal pages, then aggregates violations across the site. Always writes a JSON report (default filename: audit-site-{timestamp}.json).
Runs Axe scans on the same page across viewport/media/zoom variants and compares deltas against baseline. Always writes a JSON report (default filename: scan-matrix-{timestamp}.json).
Audits real keyboard focus behavior by pressing Tab (and optional Shift+Tab) with practical heuristics. Always writes a JSON report (default filename: audit-keyboard-{timestamp}.json).
Navigate to a URL. Parameters: url (string).
Go back to the previous page.
Go forward to the next page.
Capture accessibility snapshot of the current page (better than screenshot for analysis).
Perform click on a web page element. Parameters: element (description), ref (element reference), doubleClick (optional).
Type text into editable element. Parameters: element, ref, text, submit (optional), slowly (optional).
Hover over element on page. Parameters: element, ref.
Perform drag and drop between two elements. Parameters: startElement, startRef, endElement, endRef.
Select an option in a dropdown. Parameters: element, ref, values (array).
Press a key on the keyboard. Parameters: key (e.g., 'ArrowLeft' or 'a').
Take a screenshot of the current page. Parameters: raw (optional), filename (optional), element (optional), ref (optional).
Save page as PDF. Parameters: filename (optional, defaults to page-{timestamp}.pdf).
Close the page.
Resize the browser window. Parameters: width, height.
List all open browser tabs.
Open a new tab. Parameters: url (optional).
Select a tab by index. Parameters: index.
Close a tab. Parameters: index (optional, closes current tab if not provided).
Returns all console messages from the page.
Returns all network requests since loading the page.
Wait for text to appear/disappear or time to pass. Parameters: time (optional), text (optional), textGone (optional).
Handle browser dialogs (alerts, confirms, prompts). Parameters: accept (boolean), promptText (optional).
Upload files to the page. Parameters: paths (array of absolute file paths).
Take a screenshot for coordinate-based interaction.
Move mouse to specific coordinates. Parameters: element, x, y.
Click at specific coordinates. Parameters: element, x, y.
Drag from one coordinate to another. Parameters: element, startX, startY, endX, endY.
Type text (coordinate-independent). Parameters: text, submit (optional).