Choosing a Distribution
The axe MCP Server ships in two distributions. Both expose the same analyze, remediate, and igt tools and respect the same configuration — they differ only in how the server runs on your machine. Pick whichever fits your environment; neither is preferred.
Docker vs. npm
| Docker | npm | |
|---|---|---|
| Runtime | A Docker container | A Node.js process on your host, launched on demand with npx |
| Browser | Bundled in the image | Install Chromium via Playwright, or point at an existing Chrome/Chromium binary you already have |
| Prerequisite | Docker installed and running | An active Node.js LTS release |
Reaching localhost |
Needs --add-host; see ERR_CONNECTION_REFUSED |
Reaches host localhost services directly |
| Best when | You already use Docker and want a self-contained environment | You can't run Docker, or prefer a lighter-weight local process |
Docker
Pull the image initially, and any time you want to move to a newer release:
docker pull dequesystems/axe-mcp-server:latestThat's the only install step — your MCP client launches the container on demand using the configuration in your client setup guide.
npm
There is no separate install step for the server itself — npx -y axe-mcp-server downloads and runs it on demand, and your MCP client invokes that command for you (see your client setup guide).
The npm distribution runs on Node.js. Use an active Node.js LTS release — older releases may not be supported.
Install Chromium
Because the server drives a real browser to run scans, you must install a matching Chromium build yourself via Playwright:
npx playwright@1.60.0 install chromiumPin Playwright to the version the axe MCP Server ships — currently 1.60.0. A bare npx playwright install chromium resolves to Playwright's latest release, which can install a Chromium revision the server doesn't support. This pin may change across server releases; the Chromium-related startup error points you at Troubleshooting Chromium Installation if the versions drift.
On Linux, you may also need the system libraries Chromium depends on. See Troubleshooting Chromium Installation for details.
Alternative: use a browser you already have
If you already have a compatible Chrome/Chromium binary on your machine, you can skip the Playwright install and point the server at it instead by setting the AXE_CHROME_PATH environment variable. This is available only with the npm distribution — the Docker image always uses its bundled browser. See AXE_CHROME_PATH for requirements and caveats.
Next steps
- Set up authentication — an API key or OAuth 2.0
- Configure your client — VS Code with Copilot, Cursor, or Claude Code
