Configuration dans VS Code avec Copilot

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
Not for use with personal data

Avant de configurer, choisissez une distribution (Docker ou npm) et configurez l'authentification (clé API ou OAuth 2.0). Ajoutez ensuite la configuration correspondante ci-dessous.

La configuration peut être utilisée soit au niveau du projet, soit au niveau des paramètres utilisateur (pour tous les projets). Pour une configuration au niveau du projet, créez un fichier .vscode/mcp.json dans votre espace de travail. Pour une configuration au niveau des paramètres utilisateur, ajoutez un serveur MCP à votre fichier de configuration utilisateur existant. Pour plus d'informations, consultez le documentation MCP de VS Code.

Docker

Clé API

{
  "inputs": [
    {
      "type": "promptString",
      "id": "axe-api-key",
      "description": "axe MCP Server API Key",
      "password": true
    }
  ],
  "servers": {
    "axe-mcp-server": {
      "command": "docker",
      "args": [
        "run",
        "--add-host=host.docker.internal:host-gateway",
        "-i",
        "--rm",
        "-e",
        "AXE_SERVER_URL",
        "-e",
        "AXE_API_KEY",
        "dequesystems/axe-mcp-server:latest"
      ],
      "env": {
        "AXE_API_KEY": "${input:axe-api-key}"
      }
    }
  }
}

La configuration utilise "AXE_API_KEY": "${input:axe-api-key}" pour une gestion sécurisée des entrées. Cela vous demandera votre clé API lors du premier démarrage du serveur.

note

Vous utilisez une instance axe régionale, cloud privé ou sur site ? Ajoutez AXE_SERVER_URL au bloc env avec l'URL de base de votre instance :

"env": {
  "AXE_API_KEY": "${input:axe-api-key}",
  "AXE_SERVER_URL": "https://your-axe-instance.example.com"
}

Si omis, le serveur utilise par défaut https://axe.deque.com (l'instance SaaS US partagée de Deque). Voir Référence de configuration pour plus de détails.

OAuth 2.0

Avant de configurer, complétez Étape 1 : Authentification dans le guide d'authentification.

Lancez le serveur via @deque/axe-auth run, ce qui permet de maintenir le jeton d'accès du serveur en cours valide tant que la session dure. Aucun bloc inputs n'est nécessaire — les identifiants sont récupérés automatiquement depuis le trousseau de clés de votre système.

{
  "servers": {
    "axe-mcp-server": {
      "command": "npx",
      "args": [
        "-y",
        "@deque/axe-auth",
        "run",
        "--",
        "docker",
        "run",
        "--add-host=host.docker.internal:host-gateway",
        "-i",
        "--rm",
        "-p",
        "127.0.0.1:9223:9223",
        "-e",
        "AXE_ACCESS_TOKEN",
        "-e",
        "AXE_TOKEN_REFRESH_PORT",
        "-e",
        "AXE_TOKEN_REFRESH_SECRET",
        "-e",
        "AXE_TOKEN_REFRESH_HOST=0.0.0.0",
        "dequesystems/axe-mcp-server:latest"
      ],
      "env": {
        "AXE_TOKEN_REFRESH_PORT": "9223"
      }
    }
  }
}
note

Le rafraîchissement des jetons a atteint le serveur MCP axe dans v1.5.0. npx -y @deque/axe-auth récupère toujours la version actuelle de l'CLI, mais une image Docker extraite avant cette version n'a pas d'écouteur de rafraîchissement pour que run puisse y pousser — re-extraire avec docker pull dequesystems/axe-mcp-server:latest.

npx -y @deque/axe-auth run lance le conteneur et le supervise pendant toute la durée de la session, en envoyant un jeton d'accès fraîchement créé au serveur en cours d'exécution avant que le jeton actuel n'expire. Votre jeton de renouvellement ne quitte jamais votre machine — seuls les jetons d'accès de courte durée atteignent le serveur. L'indicateur -y passe le message « Ok pour continuer ? » que npx demanderait autrement dans un shell non interactif.

Les indicateurs restants existent pour rendre cette transmission accessible à l'intérieur du conteneur :

  • -p 127.0.0.1:9223:9223 publie l'écouteur de renouvellement du serveur uniquement sur l'interface de loopback de l'hôte, le gardant hors des interfaces externes de votre machine.
  • -e AXE_ACCESS_TOKEN, -e AXE_TOKEN_REFRESH_PORT, et -e AXE_TOKEN_REFRESH_SECRET transmettent les valeurs générées par run dans le conteneur. Passez uniquement les noms, sans =valuerun les fournit.
  • -e AXE_TOKEN_REFRESH_HOST=0.0.0.0 lie l'écouteur à l'interface réseau du conteneur. Un port publié redirige vers celui-ci plutôt que vers le loopback du conteneur, de sorte que la liaison par défaut sur le loopback serait inaccessible. Le secret partagé, et non l'isolation du conteneur, est ce qui protège le point de terminaison.

9223 est un exemple — tout port libre sur votre machine fonctionne, tant que AXE_TOKEN_REFRESH_PORT et le -p publient le même nom. Consultez Variables de renouvellement de jeton pour la référence complète.

note

Utilisez-vous une instance axe régionale, privée ou sur site ? Add AXE_SERVER_URL to the Docker command and to the env block, alongside the refresh port:

"args": [
  "-y",
  "@deque/axe-auth",
  "run",
  "--",
  "docker",
  "run",
  "--add-host=host.docker.internal:host-gateway",
  "-i",
  "--rm",
  "-p",
  "127.0.0.1:9223:9223",
  "-e",
  "AXE_SERVER_URL",
  "-e",
  "AXE_ACCESS_TOKEN",
  "-e",
  "AXE_TOKEN_REFRESH_PORT",
  "-e",
  "AXE_TOKEN_REFRESH_SECRET",
  "-e",
  "AXE_TOKEN_REFRESH_HOST=0.0.0.0",
  "dequesystems/axe-mcp-server:latest"
],
"env": {
  "AXE_TOKEN_REFRESH_PORT": "9223",
  "AXE_SERVER_URL": "https://your-axe-instance.example.com"
}

Utilisez la même URL que vous avez transmise à --server lors de votre connexion, afin que les jetons émis par axe-auth proviennent de l'instance appelée par le serveur. Si elle est omise, le serveur utilise par défaut https://axe.deque.com (l'instance partagée SaaS US de Deque). Consultez Référence de configuration pour plus de détails.

npm

La distribution npm fonctionne sur Node.js. Utilisez une version LTS active de Node.js — les versions plus anciennes pourraient ne pas être prises en charge.

La distribution npm nécessite un navigateur Chromium — installez-en un via Playwright ou pointez vers un binaire existant. Voir Choisir une distribution.

Clé API

Créez un fichier .vscode/mcp.json dans votre espace de travail (niveau projet) ou ajoutez le serveur à votre configuration utilisateur :

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

Votre configuration contient un identifiant dans son bloc env. Les fichiers au niveau du projet comme .vscode/mcp.json se trouvent dans votre dépôt — ajoutez-les à .gitignore, ou gardez les identifiants dans votre configuration utilisateur. Voir Gérer les secrets en toute sécurité ci-dessous.

OAuth 2.0

OAuth 2.0 est également pris en charge avec la distribution npm. Enveloppez le serveur dans @deque/axe-auth run exactement comme ci-dessus — il n'y a pas de conteneur pour publier un port, donc la commande est plus courte :

{
  "servers": {
    "axe-mcp-server": {
      "command": "npx",
      "args": [
        "-y",
        "@deque/axe-auth",
        "run",
        "--",
        "npx",
        "-y",
        "axe-mcp-server"
      ],
      "env": {
        "AXE_TOKEN_REFRESH_PORT": "9223"
      }
    }
  }
}

npx -y @deque/axe-auth run lance le serveur et le supervise pendant toute la durée de la session, poussant un jeton d'accès fraîchement créé vers le processus en cours avant que le jeton actuel n'expire. Aucune publication de port n'est nécessaire ici : le processus encapsulé hérite directement de AXE_TOKEN_REFRESH_PORT et l'écouteur reste en boucle locale. 9223 est un exemple — n'importe quel port libre sur votre machine fonctionne, et la variable est ici facultative : omettez-la et run choisira un port libre pour la session.

caution

Contrairement à un conteneur, la distribution npm hérite de l'ensemble de votre environnement shell. Si AXE_API_KEY y est exporté, il atteint le serveur en même temps que le jeton OAuth et le serveur refuse de démarrer. Définissez-le en dehors du shell à partir duquel vous lancez votre éditeur, ou utilisez la configuration Docker ci-dessus, qui ne reçoit que les variables transmises avec des drapeaux explicites -e.

Consultez Authentification pour le flux complet.

note

Définissez soit AXE_API_KEY soit AXE_ACCESS_TOKEN — mais pas les deux. Le serveur échouera au démarrage si les deux variables sont définies.

Gérer les secrets en toute sécurité

Si vous intégrez un identifiant dans le bloc env, traitez ce fichier comme n'importe quel autre secret :

  • Ne jamais le commettre dans le contrôle de version. Les fichiers au niveau du projet comme .vscode/mcp.json se trouvent dans votre dépôt — ajoutez-les à votre .gitignore, ou gardez les identifiants dans votre configuration utilisateur.
  • Privilégiez votre trousseau de clés OS ou un gestionnaire de secrets lorsque pris en charge. Pour OAuth, @deque/axe-auth stocke déjà les jetons dans le trousseau de clés de votre système — voir Authentification.
  • Restreindre les permissions de fichier afin que seul votre utilisateur puisse lire le fichier (par exemple, chmod 600 .vscode/mcp.json sur macOS et Linux).

Démarrer le serveur MCP

  1. Ouvrez VS Code avec vos paramètres configurés
  2. Trouvez l'entrée "axe-mcp-server" dans votre fichier mcp.json
  3. Cliquez sur le bouton **Démarrer** qui apparaît au-dessus de la configuration du serveur
  4. Si vous avez configuré l'authentification par clé API, entrez votre clé API lorsque vous y êtes invité. Si vous avez configuré OAuth, le serveur démarre sans invite et récupère un jeton depuis votre trousseau système.

Soumettre des invites à Copilot

Une fois que le serveur axe MCP est en marche, vous pouvez l'utiliser via l'interface de chat Copilot de VS Code :

  1. Ouvrez le chat Copilot dans VS Code
  2. Assurez-vous d'être en mode agent pour permettre l'utilisation des outils
  3. Soumettez des invites pour analyser des sites web et résoudre les problèmes d'accessibilité

Pour des instructions personnalisées recommandées qui guident Copilot à travers le flux de travail analyser-puis-remédier, voir Configurer votre agent d'IA.