axe MCP Server Version 1.4.0 Release Notes
Release Date
July 28, 2026
Overview
This v1.4.0 release brings Advanced Rules to the analyze tool and adds an optional page screenshot to the analyze response so you can see what was scanned.
To get this release:
- Docker — re-pull the image:
docker pull dequesystems/axe-mcp-server:latest - npm — no separate install step is required;
npxruns the latest published version. See Choosing a Distribution.
New Features
Advanced Rules in the analyze Tool
The analyze tool now runs Advanced Rules alongside the standard axe-core ruleset. These rules use screenshots, computer vision, and large language models to find issues axe-core alone cannot — headings that only look like headings, informative images with unhelpful alternative text, and text contrast over gradients or images. Advanced findings are merged into the same results array your agent already consumes, so no change to your prompts or workflow is required.
Page Screenshots in the analyze Tool
The analyze tool now accepts an optional screenshot parameter that returns an image of the page alongside the violation report, as a standard MCP image content block.
The capture covers the visible viewport at the moment just before the scan starts — pass a tall viewportHeight to see more of the page. Capture is best-effort and never fails a scan: if it times out, results still come back with a note in messages. And if the scan fails after the screenshot was taken, the image is returned with the error response, giving you the visual state of the page at the moment things went wrong.
Request screenshots deliberately rather than on every scan — an image block costs image-input tokens on your agent's next turn, roughly an order of magnitude more than the equivalent text.
Whether the image renders inline depends on your MCP client: VS Code with Copilot displays it, while Cursor and Claude Desktop may collapse the tool result or omit the preview. The server always returns a spec-valid image block, so a missing preview is a client-side display limitation rather than a failed capture.
See Screenshots for full details.
Changes
Default Scan Viewport Is Now 1000×1080
When viewportWidth and viewportHeight are both omitted, analyze now scans at 1000×1080 instead of the browser's default viewport size. This makes results reproducible across distributions and environments, and matches the width Advanced Rules use for image analysis — avoiding a lossy resize of the captured screenshot.
If your scans depended on the previous implicit viewport, set viewportWidth and viewportHeight explicitly. See Responsive Testing.
Bug Fixes
- Expired OAuth tokens now explain how to recover. When an access token expires mid-session, the error your agent receives names the fix — re-authenticate with
@deque/axe-authand restart the server connection — instead of surfacing an opaque rejection from the backend. See Authentication errors. - Fixed
AXE_CHROME_PATHon Windows (npm distribution). PointingAXE_CHROME_PATHat a valid Chrome for Testing binary crashed startup on Windows withUnable to find specified chrome instance, because the startup check requiredchrome.exe --versionto exit cleanly — which it does not reliably do on Windows. The path is now validated by its existence on Windows. Invalid or missing paths still fail at startup on every platform. SeeAXE_CHROME_PATH.
