Docker MCP Toolkit : Gateway, Catalogue et configuration de Claude, pas à pas

Une mise en place concrète du Docker MCP Toolkit, du premier interrupteur au premier appel d’outil. Activez la Gateway, créez un profil, choisissez des serveurs signés dans le Catalogue, connectez Claude Desktop et Claude Code, puis testez, déboguez et verrouillez chaque conteneur.

Docker MCP Toolkit : Gateway, Catalogue et configuration de Claude, pas à pas
Cristian Da Conceicao
Fondateur de Picasso IA

La plupart des configurations MCP commencent de la même façon. Vous collez un bloc JSON dans Claude Desktop, un autre légèrement différent dans Claude Code, vous lancez un troisième serveur via npx, et vous laissez un jeton d’accès personnel en clair dans un fichier de configuration. Ça fonctionne jusqu’à ce que ça ne fonctionne plus, et là, vous passez trois fichiers au crible pour comprendre pourquoi un outil a disparu. Le Docker MCP Toolkit remplace ce fouillis par une couche unique et gérée : des serveurs qui tournent dans des conteneurs, un catalogue qui les fournit, et une seule gateway à laquelle Claude se connecte. Cet article configure les trois, connecte Claude Desktop et Claude Code, et montre comment vérifier que chaque outil est opérationnel avant de vous y fier.

Ce que fait réellement le Toolkit

Le Toolkit vit à l’intérieur de Docker Desktop. Il exécute les serveurs MCP dans des conteneurs isolés, les regroupe en profils nommés, et expose chaque profil aux clients d’IA via la MCP Gateway. Claude ne lance jamais un serveur de lui-même. Il communique avec un seul point d’accès, et la gateway achemine chaque requête vers le bon conteneur.

Le gain concret, c’est la séparation. Votre éditeur, votre application de chat et votre agent en terminal pointent tous vers la même gateway, tandis que les serveurs, leurs identifiants et leurs limites de ressources restent gérés par Docker au lieu d’être copiés dans la configuration de chaque client.

Porte de conteneur de transport usée, ouverte par une main gantée sur un quai calme à l’aube

La gateway en termes simples

Pensez à la gateway comme à une réception. Chaque requête de Claude arrive là. La gateway choisit le serveur qui doit répondre, démarre son conteneur si nécessaire, et renvoie le résultat. La chaîne est courte : Claude, puis la gateway, puis le serveur conteneurisé.

La gateway est open source sous licence MIT et s’installe comme plugin de la CLI Docker, donc docker mcp --help fonctionne dès que le Toolkit est activé. Elle utilise stdio par défaut, ce qui convient à un seul client. Lorsque plusieurs clients ont besoin de la même gateway, lancez-la en HTTP streaming :

docker mcp gateway run --port 8080 --transport streaming

La couche conteneur rend l’ensemble plus propre. Avant le Toolkit, chaque serveur nécessitait son propre runtime sur votre machine : Node pour l’un, Python pour le suivant, une version épinglée pour un troisième. Un serveur conteneurisé embarque son runtime, si bien que votre ordinateur n’a besoin que de Docker. Mettre à jour ou supprimer un serveur cesse d’être une corvée de nettoyage, car le serveur n’a jamais été installé sur l’hôte.

Catalogue, profils et clients

Trois notions portent tout le système, et chaque commande de cet article touche l’une d’elles.

ÉlémentCe que c’estOù le manipuler
CatalogueUne collection sélectionnée de serveurs MCP packagés sous forme d’images de conteneursOnglet Catalogue, docker mcp catalog ls
ProfilUn groupe nommé de serveurs et de leurs réglages pour un projet ou un flux de travailOnglet Profils, docker mcp profile list
ClientL’application d’IA qui se connecte, comme Claude Desktop ou Claude CodeOnglet Clients, docker mcp client ls

Meuble à cartes de bibliothèque en chêne avec plusieurs tiroirs ouverts

💡 Astuce : un profil peut servir plusieurs clients. Configurez-le une fois, et chaque application connectée voit les mêmes outils.

Avant d’installer quoi que ce soit

Il faut très peu de choses, mais chacune compte.

Docker Desktop et l’interrupteur bêta

Le Toolkit exige Docker Desktop 4.62 ou une version ultérieure, et il est soumis à un interrupteur bêta :

  1. Ouvrez Docker Desktop et allez dans Paramètres.
  2. Sélectionnez Fonctionnalités bêta.
  3. Activez Docker MCP Toolkit.
  4. Sélectionnez Appliquer.

Une entrée MCP Toolkit apparaît désormais dans le menu de Docker Desktop. Si vous utilisiez une version précédente du Toolkit, votre configuration existante migre dans un profil nommé default, donc rien n’a besoin d’être reconstruit.

Ordinateur portable sur un bureau en bouleau à côté d’une liste de contrôle au crayon et d’un verre d’eau

Quels clients Claude fonctionnent

Deux clients Claude comptent ici. Claude Desktop se connecte depuis l’onglet Clients avec un seul bouton. Claude Code se connecte depuis le terminal avec une seule commande. La documentation de Docker répertorie aussi Cursor, Zed et Visual Studio Code, ce qui est utile lorsque votre équipe se répartit entre plusieurs éditeurs, puisque tous peuvent lire le même profil.

💡 Astuce : installez Claude Code avant de commencer si vous comptez utiliser la voie du terminal. La vérification de connexion plus loin dans ce guide repose sur sa commande claude mcp list.

Créer votre premier profil

Un profil est un espace de travail. Un profil de recherche peut contenir un serveur de recherche et un serveur de notes, tandis qu’un profil de publication regroupe GitHub et un serveur de monitoring. Les garder séparés signifie que Claude ne voit que les outils utiles à la tâche en cours.

Trois configurations de profil illustrent l’idée :

  • Recherche : un serveur de notes pour la documentation de fond et un serveur de type recherche pour les requêtes.
  • Publication : GitHub pour les pull requests et un serveur de monitoring comme Grafana pour les tableaux de bord que vous consultez avant de livrer.
  • Support : accès en lecture seule à un serveur de paiements comme Stripe, avec les outils d’écriture désactivés.

Le créer dans Docker Desktop

  1. Ouvrez MCP Toolkit et sélectionnez l’onglet Profils.
  2. Sélectionnez Créer un profil.
  3. Saisissez un nom, par exemple Développement frontend.
  4. Ajoutez dès maintenant des serveurs et des clients, ou passez ces étapes et faites-le plus tard.
  5. Sélectionnez Créer.

Établi de travail avec un panneau perforé où les outils sont accrochés dans trois zones distinctes

Le créer depuis le terminal

Le même résultat tient en deux commandes :

docker mcp profile create --name dev-tools --server catalog://<server-reference>
docker mcp profile list

Remplacez l’espace réservé par la référence d’un serveur de votre catalogue. Trois sous-commandes supplémentaires gèrent la maintenance :

  • docker mcp profile server add et remove modifient la liste des serveurs.
  • docker mcp profile config <id> --set (ou --get, --del) modifie les réglages d’un profil.
  • docker mcp profile tools <id> --enable (ou --disable) contrôle les outils que Claude peut appeler.

Choisir des serveurs dans le catalogue

Le Catalogue MCP de Docker compte des centaines de serveurs. Les pages de Docker annoncent plus de 200 à un endroit et plus de 300 à un autre, ce qui laisse supposer qu’il continue de grossir. Parcourez-le depuis l’onglet Catalogue, sélectionnez Ajouter à, puis choisissez votre profil. Les serveurs marqués Configuration requise nécessitent un identifiant ou un réglage avant de fonctionner.

Vérifiés, construits par Docker et distants

Le catalogue réunit trois types de serveurs :

  • Serveurs partenaires vérifiés d’entreprises comme New Relic, Stripe et Grafana, publiés avec des métadonnées de provenance et de SBOM.
  • Serveurs construits par Docker, compilés et signés par Docker, qui tournent en local et se trouvent dans l’espace de noms mcp sur Docker Hub.
  • Serveurs distants hébergés dans le cloud, comme GitHub et Notion.

Étagère rustique de bocaux en verre scellés à la cire rouge et étiquetés en papier

💡 Astuce : les équipes qui veulent un contrôle plus strict peuvent créer un catalogue personnalisé et l’importer avec docker mcp catalog pull <oci-reference>, pour que les membres ne voient que les serveurs approuvés.

Serveurs à ajouter en premier

Commencez petit. Chaque serveur ajouté place davantage de descriptions d’outils sous les yeux de Claude, et un profil resserré garde ses choix plus précis. Quatre points de départ simples :

ObjectifServeur à essayerType
Relire les pull requestsGitHubServeur distant
Rechercher les notes de l’équipeNotionServeur distant
Vérifier les tableaux de bordGrafanaPartenaire vérifié
Inspecter les paiementsStripePartenaire vérifié

Secrets et OAuth

Les serveurs distants comme GitHub utilisent OAuth. Docker ouvre une fenêtre de navigateur, vous approuvez l’accès, et l’identifiant reste géré par Docker au lieu d’être collé dans du JSON. Pour les serveurs qui nécessitent des secrets statiques, exécutez docker mcp secret --help pour voir les options, et docker mcp oauth --help pour les commandes d’autorisation. La documentation de Docker précise que les requêtes contenant des informations sensibles sont bloquées.

💡 Astuce : ne collez jamais un vrai jeton dans une fenêtre de chat ou une configuration partagée. Si un serveur en demande un, enregistrez-le via le Toolkit.

Connecter Claude Desktop et Claude Code

Claude Desktop en deux clics

  1. Dans Docker Desktop, ouvrez MCP Toolkit et sélectionnez l’onglet Clients.
  2. Repérez Claude Desktop et sélectionnez Connecter.
  3. Redémarrez Claude Desktop.

Après le redémarrage, ouvrez le menu Recherche et outils. Une entrée nommée MCP_DOCKER devrait apparaître et être activée. Tous les serveurs de votre profil se trouvent désormais derrière cette seule entrée.

Arche en pierre patinée avec une grille en fer ouverte menant à une cour ensoleillée

Claude Code depuis le terminal

Claude Code se connecte avec une seule commande :

docker mcp client connect claude-code --global
claude mcp list

La deuxième commande devrait afficher une ligne du type MCP_DOCKER: docker mcp gateway run - ✓ Connected. Pour lier un client à un seul profil plutôt qu’à tous, la commande de connexion accepte --profile, comme dans docker mcp client connect vscode --profile my_profile. La forme générale est docker mcp client connect [client-name] --profile [id].

L’option --global applique la connexion à l’ensemble du système au lieu du projet en cours, ce qui convient à une machine personnelle. Omettez-la lorsqu’un seul dépôt doit avoir son propre jeu d’outils.

Solution de repli : JSON manuel

Certains clients lisent leur propre fichier JSON et n’ont pas de bouton de connexion. Ajoutez la gateway comme serveur stdio :

{
  "servers": {
    "MCP_DOCKER": {
      "command": "docker",
      "args": ["mcp", "gateway", "run", "--profile", "my_profile"],
      "type": "stdio"
    }
  }
}

Respectez le nom de propriété de premier niveau que votre client documente, car certains clients attendent mcpServers là où cet extrait indique servers. Une seule entrée remplace la série de blocs de serveurs distincts que vous aviez auparavant.

Comme la gateway conserve vos outils à un seul endroit, rien de tout cela n’a besoin d’être reconstruit lorsque vous changez de client. Remplacez Claude Desktop par Claude Code, et le même profil vous suit.

Tester, déboguer et sécuriser

Vérifier la connexion

Lancez un prompt qui force un véritable appel d’outil. L’exemple de Docker fonctionne bien : « Utilisez le serveur MCP GitHub pour me montrer mes pull requests ouvertes. » Si Claude répond avec des données de votre compte, toute la chaîne fonctionne. Pour une vue plus technique, docker mcp tools ls liste chaque outil que la gateway expose actuellement, et docker mcp client ls indique quels clients sont connectés.

Testez en trois étapes. D’abord, demandez à Claude de lister les outils qu’il voit, ce qui confirme que le profil est chargé. Ensuite, appelez un outil en lecture seule, comme la liste des pull requests, ce qui confirme que les identifiants fonctionnent. Enfin, et seulement à ce moment-là, essayez une action qui modifie quelque chose, et faites-le dans un dépôt jetable ou un espace de test pour qu’une faute de frappe ne coûte rien.

Corriger le démarrage lent

La gateway a besoin d’environ 15 à 25 secondes pour démarrer. La plupart des moments « ça ne marche pas » signifient en réalité « ça se réveille encore ». Attendez une demi-minute avant de modifier quoi que ce soit, puis consultez ce tableau.

SymptômeCause probableSolution
MCP_DOCKER absent dans Claude DesktopL’application n’a pas été redémarréeQuittez Claude Desktop et rouvrez-le
Non connecté juste après le démarrageLa gateway démarre encorePatientez, puis relancez claude mcp list
Un serveur affiche Configuration requiseIdentifiant manquant ou approbation OAuth absenteTerminez la configuration dans l’onglet Catalogue
Les outils d’un serveur sont absentsOutils désactivés dans le profilRéactivez-les avec docker mcp profile tools

Cadenas en laiton sur une chaîne en acier autour du loquet d’une caisse en bois

Limites, listes d’autorisation et outils dynamiques

Docker applique des garde-fous par défaut. Chaque conteneur de serveur est limité à 1 CPU et 2 Go de mémoire, l’accès au système de fichiers reste désactivé tant que vous ne l’accordez pas, et les images de l’espace de noms mcp sont signées numériquement. Dans un profil, une liste d’outils autorisés restreint ce que Claude peut appeler.

Une fonctionnalité mérite une décision délibérée. MCP dynamique permet à Claude de chercher dans le catalogue et d’ajouter un serveur au milieu d’une conversation, grâce aux outils de gestion exposés par la gateway : mcp-find, mcp-add, mcp-config-set, mcp-remove, mcp-exec, et un code-mode expérimental. Il s’active automatiquement avec le Toolkit. Si vous voulez un jeu d’outils fixe, désactivez-le :

docker mcp feature disable dynamic-tools

Réactivez-le plus tard avec docker mcp feature enable dynamic-tools.

Comment utiliser Sonnet 5 sur PicassoIA

Le travail de configuration produit beaucoup de texte à lire : messages d’erreur, commandes de profil, notes pour les coéquipiers. Claude Sonnet 5 figure dans la collection Large Language Models de PicassoIA et gère exactement cela. Il lit une demande simple ou une trace d’erreur, accepte une capture d’écran, et renvoie des commandes ou des corrections que vous pouvez vérifier dans la documentation de Docker.

Femme lisant des notes imprimées à une table en bois devant un tableau blanc couvert de boîtes dessinées à la main

Voici la marche à suivre, de la page à la réponse :

  1. Ouvrez la page Claude Sonnet 5.
  2. Collez votre problème dans Prompt : le texte exact de l’erreur, ou la sortie de claude mcp list.
  3. Choisissez un niveau d’effort. low est la valeur par défaut et ignore la réflexion étendue, si bien que les réponses arrivent vite. Passez à high ou max pour un problème complexe qui touche plusieurs fichiers.
  4. Joignez une capture d’écran de l’écran de Docker Desktop dans Image si le problème est visuel.
  5. Ajoutez une fois un System Prompt, par exemple : « Vous êtes un assistant DevOps. Répondez avec des commandes docker mcp exactes et une phrase de contexte. »
  6. Laissez Max Tokens à 8192 pour les réponses longues, puis lancez.
RéglageCe qu’il faitValeur suggérée
EffortContrôle la quantité de réflexion avant la réponselow pour les recherches, high pour le débogage
ImageEnvoie une capture d’écran avec la requêteUne fenêtre Docker Desktop recadrée
System PromptFixe le rôle et le ton de la sessionUn bref énoncé d’assistant DevOps
Max TokensLimite la longueur de la réponse8192

💡 Astuce : Sonnet 5 ne voit pas votre machine. Traitez ses commandes comme des brouillons et vérifiez chacune dans la documentation de Docker avant de l’exécuter.

D’autres modèles de la plateforme conviennent à d’autres habitudes. Claude Fable 5 vise les tâches de codage plus difficiles, GPT 5.6 Sol s’attaque au code complexe, Gemini 3.1 Pro gère les questions multimodales longues, et Kimi K2.6 est conçu pour le travail d’agent.

Essayez avec vos propres images

Une fois que Claude atteint vos serveurs via une seule gateway, l’étape suivante consiste à donner à ces flux de travail quelque chose à regarder. Un serveur GitHub peut rédiger les notes de version, un serveur Notion peut contenir le brief, et un modèle d’image peut produire la photo d’en-tête dans la même séance.

Chaque photo de cet article provient de P Image, générée à partir de prompts longs et précis qui nomment l’objectif, la lumière et les textures des surfaces. Pour d’autres styles, essayez Flux 2 Pro, GPT Image 2, Seedream 4.5 ou Nano Banana Pro. Lorsqu’une image doit bouger, Seedance 2.0, Veo 3.1 et Kling v3 Video transforment un prompt ou une seule image en courts clips.

Vue aérienne de photographies imprimées étalées sur la table lumineuse d’un retoucheur

Ouvrez Picasso IA, choisissez un modèle, et décrivez une scène comme vous l’expliqueriez à un photographe : le sujet, l’angle, la lumière, l’objectif. Générez quelques variantes, gardez celle qui correspond à votre article, et insérez-la. La première image prend une minute, la seconde prend moins de temps.

Partager cet article

Choisissez votre langue