Installing from Deque's Agora

This page is not available in the language you requested. You have been redirected to the English version of the page.
Link to this page copied to clipboard

Installing the axe MCP Server from Deque's Agora artifact repository instead of npmjs.org or Docker Hub

Not for use with personal data

If your organization's network restricts access to public registries such as npmjs.org and Docker Hub, you can obtain the axe MCP Server from Agora instead. Both distributions are available there: the npm packages and the Docker image.

Agora is Deque's own artifact repository, hosted at agora.dequecloud.com, where Deque publishes the packages and images its customers install. It runs on Artifactory, so it behaves like any other npm registry or artifact source your tooling already understands, and your organization can proxy it from its own repository manager.

This guide covers the axe MCP Server specifically. For other Axe DevTools packages, see Installing Axe DevTools for Web for Node.js from Deque's Agora.

Prerequisites

  • Agora login credentials. If you don't have them, contact your Deque representative or the support desk.
  • A chosen distribution — see Choosing a Distribution.
  • For the npm distribution, Node.js 22.19.0 or later.
  • For the Docker distribution, Docker installed and running.

Creating an Identity Token

Agora does not authenticate package downloads with your account password. Instead you generate an Identity Token — a long-lived credential tied to your account — and use it as the password wherever these instructions ask for one, including in your .npmrc and in curl commands. You only need to create it once.

The simplest way to create an Identity Token is through the Agora webapp. Once logged in, create one by clicking the button labeled Welcome your-email-address in the top bar next to the help button.

Identity Tokens expire annually and can only be viewed once, at creation. Store yours somewhere safe.

What Agora Hosts

Agora carries the same artifacts published to the public registries, for stable releases:

Artifact Agora location
axe-mcp-server (npm) devtools-npm npm repository
@deque/axe-auth (npm) devtools-npm npm repository
Docker image tars devtools-bin/axe-mcp-server/v<VERSION>/
important

Agora hosts Deque's own packages — it is not a mirror of npmjs.org. The axe-mcp-server package depends on playwright, and @deque/axe-auth depends on a handful of public packages; those dependencies still resolve from npmjs.org, or from whatever registry your package manager is configured to use by default.

If your network cannot reach npmjs.org at all, use Installing Through Your Own Artifact Repository so that both Deque's packages and their public dependencies resolve through a registry you control.

Only stable releases are published to Agora. Canary (next) and release candidate (rc) builds remain on npmjs.org only.

npm Distribution

Adding Authentication

To access Deque packages through npm or Yarn, add your Agora authentication information to your ~/.npmrc file. The Configuring Access to Agora packages tool can generate this content for you from your Agora email and Identity Token. Otherwise, generate it with a curl command:

curl -u "<your-email>" "https://agora.dequecloud.com/artifactory/api/npm/auth"

Replace <your-email> with your Agora login email. curl prompts for a password — paste the Identity Token you created above. The command returns:

_auth = <generated-auth-string>
always-auth = true
email = <your-email>

Open your ~/.npmrc for editing and add the registry mapping followed by the output of the curl command:

@deque:registry=https://agora.dequecloud.com/artifactory/api/npm/devtools-npm/
//agora.dequecloud.com/artifactory/api/npm/devtools-npm/:_auth=<generated-auth-string>
//agora.dequecloud.com/artifactory/api/npm/devtools-npm/:email=<your-email>
//agora.dequecloud.com/artifactory/api/npm/devtools-npm/:always-auth=true

If you are unable to run curl commands, generate the auth string yourself by base-64 encoding <your-email>:<your-identity-token>.

caution

Do not point your default registry= setting at Agora. Agora serves Deque's packages, not the wider npm ecosystem, so making it your default registry causes unrelated installs to fail.

Verifying Your Access

Before installing anything, confirm that your credentials work and that your Agora account can see both packages:

npm view @deque/axe-auth versions
npm view axe-mcp-server versions --registry=https://agora.dequecloud.com/artifactory/api/npm/devtools-npm/

Each command should print a list of published versions. If either fails, see Troubleshooting below — resolving it now is easier than diagnosing it midway through an install.

Installing @deque/axe-auth

@deque/axe-auth — the CLI used for OAuth 2.0 authentication — is a scoped package, so the @deque:registry line above is all it needs. Every documented axe-auth command works unchanged, resolving from Agora rather than npmjs.org:

npx @deque/axe-auth login

This also means MCP client configurations that inject a token with $(npx -y @deque/axe-auth token) need no modification.

Installing axe-mcp-server

axe-mcp-server is an unscoped package, and npm can only map registries by scope. There is no .npmrc line that routes a single unscoped package to Agora, so install it from its tarball instead.

Download the tarball for the version you want, replacing <version> with a released version such as 1.4.0 — see Release Notes. npm pack authenticates with the credentials already in your .npmrc, so no separate download tool or token handling is needed:

npm pack axe-mcp-server@<version> --registry=https://agora.dequecloud.com/artifactory/api/npm/devtools-npm/

Then install it globally, which puts an axe-mcp-server command on your PATH:

npm install -g ./axe-mcp-server-<version>.tgz

The playwright dependency is fetched from your default registry during this second step. Splitting the download from the install is what keeps that resolution working.

caution

The --registry override above is safe on npm pack because that command fetches a single package and resolves no dependencies. Do not carry it over to npm install, and do not set npm_config_registry to Agora. Those apply to the entire dependency tree, so playwright is requested from Agora as well and the install fails with a 404.

Passing the flag through npx does not work either. In a configuration like "args": ["-y", "axe-mcp-server", "--registry=..."], everything after the package name is forwarded to the axe MCP Server itself rather than to npx.

The npm distribution runs on Node.js and requires 22.19.0 or later. An active Node.js LTS release satisfies this, but an older Node 22 patch release may not.

Remember that the npm distribution also needs a Chromium browser. See Install Chromium, and note that the command there derives the Playwright version from npmjs.org. To read it from Agora instead, add the registry override — npm view fetches a single package, so the override is safe here for the same reason it is on npm pack:

npm view axe-mcp-server@<version> dependencies.playwright --registry=https://agora.dequecloud.com/artifactory/api/npm/devtools-npm/

Configuring Your MCP Client

Because the server is installed globally rather than fetched on demand, call the installed command directly instead of going through npx. Using VS Code with Copilot and an API key as an example:

{
  "servers": {
    "axe-mcp-server": {
      "command": "axe-mcp-server",
      "args": [],
      "env": {
        "AXE_API_KEY": "your-api-key-here"
      }
    }
  }
}

For OAuth 2.0, inject the token the same way the other guides do, replacing the npx invocation with the installed command:

{
  "servers": {
    "axe-mcp-server": {
      "command": "sh",
      "args": ["-c", "AXE_ACCESS_TOKEN=\"$(npx -y @deque/axe-auth token)\" axe-mcp-server"]
    }
  }
}
note

Set either AXE_API_KEY or AXE_ACCESS_TOKEN — not both. The server will fail at startup if both variables are set.

caution

Windows users: This configuration uses a POSIX shell (sh) and command substitution ($(...)), which is not available in cmd.exe or PowerShell by default. Run your editor from a Git Bash or WSL shell so that sh is on your PATH.

Everything else in the client setup guides applies as written — only command and args differ. The same substitution works for Cursor and Claude Code.

Upgrading

Repeat the download and global install with the new version number. Check Release Notes for what's available.

Docker Distribution

Agora hosts the Docker image as saved tars, one per architecture, at devtools-bin/axe-mcp-server/v<version>/.

Replace <version> with a released version such as 1.4.0, and <arch> with the architecture matching your machine — amd64 for Intel and AMD, arm64 for Apple silicon and ARM:

curl -u "<your-email>" \
  -O "https://agora.dequecloud.com/artifactory/devtools-bin/axe-mcp-server/v<version>/axe-mcp-server-<version>-<arch>.tar"

curl prompts for a password — paste your Identity Token. Supplying it inline instead, as -u "<your-email>:<your-identity-token>", works too but leaves the token in your shell history.

Load it into Docker:

docker load -i axe-mcp-server-<version>-<arch>.tar
note

The loaded image is tagged with its version, as dequesystems/axe-mcp-server:v<version> — not :latest. Either reference that tag in your MCP client configuration, or tag it yourself:

docker tag dequesystems/axe-mcp-server:v<version> dequesystems/axe-mcp-server:latest

With the image loaded, the Docker configurations in the client setup guides work unchanged. docker run uses the local image and does not contact Docker Hub.

To upgrade, download and load the tar for the newer version.

Installing Through Your Own Artifact Repository

If your organization already runs an artifact repository such as Artifactory or Nexus, proxying Agora through it is usually the better option. Developers then need no Agora credentials of their own, both packages resolve normally, and — unlike the tarball approach above — npx -y axe-mcp-server works as documented everywhere else.

This is the same Agora connection used for the other Axe DevTools packages, so the existing setup guides apply — follow the one for your repository manager, choosing the npm package type and the npm registry URL https://agora.dequecloud.com/artifactory/api/npm/devtools-npm/:

One addition specific to the axe MCP Server: because axe-mcp-server depends on playwright, aggregate the Agora remote repository and your existing npmjs.org remote into a single virtual repository, then point developers' registry= at that. Deque's packages then resolve from Agora and their public dependencies from npmjs.org through one URL, and npx -y axe-mcp-server works exactly as it does in the client setup guides.

Version Availability

Agora carries stable releases of both npm packages, and the latest tag resolves to the newest stable release, as it does on npmjs.org. The next and rc tags are not carried; prerelease builds remain available only from npmjs.org.

If you need a specific release, install it by exact version.

Troubleshooting

Symptom Cause and fix
401 Unauthorized from any Agora request Your auth string is wrong, or your Identity Token has expired — they last a year. Regenerate the token and the auth string. If a fresh token still fails, your Agora account may not have access to the devtools-npm repository; contact your Deque representative.
404 Not Found for playwright or another dependency Agora is being used to resolve the whole dependency tree. Remove --registry from your npm install command and any npm_config_registry setting, then install from the packed tarball as described above.
TAR_BAD_ARCHIVE when installing the tarball The downloaded file is an error response rather than a package — this happens when a download tool saves the body of a failed request. Use npm pack rather than downloading the tarball by URL.
MCP client reports the Docker image is missing A loaded tar is tagged with its version, such as dequesystems/axe-mcp-server:v1.4.0. Point your configuration at that tag, or retag the image as :latest.

For problems running the server once it is installed, see the axe MCP Server Troubleshooting guide.

Next Steps

  1. Set up authentication — an API key or OAuth 2.0
  2. Configure your client — VS Code with Copilot, Cursor, or Claude Code

If you have trouble installing from Agora, contact your Deque representative directly, ask us via our support desk, or send us an email.