Trois éditeurs, trois réponses différentes à la même question. VS Code range les
serveurs MCP sous une clé de premier niveau nommée servers, Zed appelle la même
chose context_servers, et Windsurf — qui porte le nom de Devin Desktop depuis
le 2 juin 2026 — utilise mcpServers, la clé qu’emploient la plupart des autres
clients. Trompez-vous de clé et le client démarre en silence : aucun outil, aucun
message d’erreur.
Le serveur, lui, ne change pas. Un serveur MCP local est un programme lancé via
stdio avec une commande et quelques arguments, et chacun de ces éditeurs exécute
le même binaire de la même façon. Ce que vous faites réellement dans chaque
éditeur, c’est enregistrer deux valeurs — command et args — dans la forme de
configuration propre à cet éditeur. Ce guide donne le fichier exact, la clé
exacte et l’étape de vérification exacte pour chacun, le tout confronté à la
documentation des éditeurs le 14 août 2026.
Si le protocole lui-même vous est nouveau, ce qu’est un serveur MCP en pose d’abord le vocabulaire. Si vous utilisez Claude ou Cursor, ceux-là ont leurs propres guides et s’installent le plus souvent en un clic ; cet article porte sur les trois qui ne le font pas.
Tout serveur MCP local se décrit par les deux mêmes valeurs :
command = "/absolute/path/to/the/executable"
args = ["--some-flag"]
C’est toute la charge utile. Le chemin absolu compte plus qu’il n’y paraît :
l’éditeur lance le processus lui-même, souvent sans passer par votre shell de
connexion, si bien que tout ce qui repose sur PATH ou sur un alias de shell
fonctionnera dans votre terminal et échouera dans le client. Copiez le chemin
complet.
Tout le reste de ce guide n’est que de l’emballage : dans quel fichier ces deux valeurs vont, et comment s’appelle la clé qui les entoure.
servers, pas mcpServersVS Code lit la configuration MCP dans un fichier nommé mcp.json, à l’un des
deux endroits suivants :
.vscode/mcp.json — il voyage avec le dépôt, c’est
donc le bon endroit pour les serveurs que toute votre équipe doit avoir.mcp.json ouvert avec la commande
MCP: Open User Configuration depuis la Command Palette — le bon endroit
pour vos sources de données personnelles.Le premier niveau du fichier contient servers, plus des sections facultatives
inputs et sandbox. Un serveur local ressemble à ceci :
{
"servers": {
"my-server": {
"type": "stdio",
"command": "/absolute/path/to/the/executable",
"args": ["--mcp"]
}
}
}
Deux choses surprennent les personnes qui viennent d’un autre client. D’abord, la
clé est bien servers — un bloc mcpServers collé tel quel n’est pas une erreur
que VS Code signale, c’est simplement une clé qu’il ne lit pas. Ensuite, VS Code
plafonne une requête de chat à 128 outils activés : sur une machine où de
nombreux serveurs sont enregistrés, il faudra peut-être en désactiver certains
pour que le vôtre soit joignable ; c’est le bouton Configure Tools de la vue
Chat qui sert à cela.
Il existe aussi une forme portable : pour une configuration partagée avec
l’Agent Host et les autres outils Copilot, VS Code documente un .mcp.json
d’espace de travail ou un ~/.copilot/mcp-config.json utilisateur, que l’Agent
Host lit nativement.
Pour vérifier : lancez MCP: List Servers depuis la Command Palette, sélectionnez votre serveur, puis utilisez Show Output pour lire son journal. Un serveur qui n’a pas démarré le dit là, généralement avec le chemin qu’il n’a pas pu exécuter.
Zed appelle les serveurs MCP des context servers, et la clé de réglages suit :
context_servers. Ouvrez le fichier de réglages avec l’action
zed: open settings file plutôt que de chercher le chemin, puis ajoutez :
{
"context_servers": {
"my-server": {
"command": "/absolute/path/to/the/executable",
"args": ["--mcp"],
"env": {}
}
}
}
Les serveurs distants utilisent url et, en option, headers dans le même bloc,
ce qui fait de context_servers l’unique endroit où cohabitent les deux
transports. Zed offre aussi un chemin par l’interface :
Settings → AI → MCP Servers, puis Add Server → Add Local Server, qui
écrit la même entrée à votre place. Beaucoup de serveurs répandus sont en outre
empaquetés en extensions Zed, installables depuis cet écran — mais un serveur
livré à l’intérieur d’une application de bureau ne figurera pas dans cette liste,
et l’entrée manuelle ci-dessus est alors la voie à suivre.
Pour vérifier : ouvrez Settings → AI → MCP Servers et regardez l’indicateur à côté de votre serveur. Un point vert avec l’infobulle Server is active signifie que la poignée de main a réussi.
C’est le point sur lequel la plupart des guides du web ne sont pas à jour.
Cognition a renommé Windsurf en Devin Desktop le 2 juin 2026, sous la forme
d’une mise à jour à distance ordinaire — pas de réinstallation, pas d’assistant
de migration, et les formules, les extensions et les raccourcis clavier ont été
conservés tels quels. Les anciens domaines commerciaux redirigent aujourd’hui
vers devin.ai, et la documentation se trouve sur docs.devin.ai.
Pour MCP, la conséquence pratique est qu’il y a désormais deux destinations possibles, et laquelle est la bonne dépend de l’agent auquel vous parlez :
| Agent | Fichier de configuration MCP | Clé de premier niveau |
|---|---|---|
| Cascade (ancien) | ~/.codeium/windsurf/mcp_config.json |
mcpServers |
| Devin Local (actuel) | ~/.config/devin/mcp_config.json |
mcpServers |
La documentation de Cascade décrit toujours le chemin
~/.codeium/windsurf/ — l’agent est resté disponible jusqu’au 1er juillet 2026
pour permettre une migration progressive. Son successeur, Devin Local, est
une réécriture en Rust que Cognition annonce jusqu’à 30 % plus économe en jetons,
avec prise en charge des sous-agents, et c’est l’agent par défaut des nouveaux
onglets. Devin Local ne lit pas le fichier de Cascade : il utilise la
configuration de la CLI Devin, où les serveurs à portée de projet vont dans
.devin/mcp_config.json et les serveurs personnels avec clés d’API dans
.devin/mcp_config.local.json, exclu du dépôt par gitignore.
Si vous avez ajouté un serveur il y a plusieurs mois et que votre agent a cessé de le voir, c’est la raison la plus probable : le fichier va bien, c’est l’agent qui le lit qui a changé.
Une limite de plus mérite d’être connue : Cascade plafonne l’agent à 100 outils au total à un instant donné. Comme dans VS Code, une configuration encombrée peut mettre les outils de votre serveur hors de portée sans que rien n’ait l’air cassé.
Pour vérifier : cliquez sur l’icône MCPs en haut à droite du panneau Cascade pour ouvrir la page des réglages MCP, où les outils de chaque serveur sont listés et peuvent être activés un par un. Un serveur sans aucun outil listé n’a pas démarré.
| VS Code | Zed | Devin Desktop (Windsurf) | |
|---|---|---|---|
| Fichier | .vscode/mcp.json ou mcp.json du profil utilisateur |
fichier de réglages (zed: open settings file) |
~/.codeium/windsurf/mcp_config.json (Cascade) ou ~/.config/devin/mcp_config.json (Devin Local) |
| Clé | servers |
context_servers |
mcpServers |
type: stdio nécessaire |
Oui | Non | Non |
| Chemin par l’interface | MCP: Add Server | Settings → AI → MCP Servers | Icône MCPs du panneau Cascade |
| Plafond d’outils | 128 par requête | Non documenté | 100 au total (Cascade) |
La ligne à lire deux fois est celle de la clé. Toutes les autres différences se signalent par un message d’erreur ; une mauvaise clé, non.
Claude Desktop, Claude Code et Cursor utilisent tous mcpServers et rangent tous
le fichier à un endroit prévisible — respectivement
claude_desktop_config.json dans le dossier de support de l’application,
~/.claude.json et ~/.cursor/mcp.json. C’est cette régularité qui explique que
tant d’applications livrent un installateur en un clic pour ces trois-là et
s’arrêtent ensuite.
Les trois éditeurs de ce guide s’écartent chacun sur un axe : VS Code sur le nom de la clé, Zed sur le nom de la clé et le vocabulaire, Devin Desktop sur l’emplacement du fichier après le changement de nom. Rien de difficile, mais rien de devinable non plus — et c’est pourquoi recopier le JSON directement depuis le README d’un éditeur produit si souvent un client qui démarre sans aucun outil.
Après avoir modifié l’un de ces fichiers à la main, redémarrez l’éditeur. La plupart des clients lisent la configuration MCP au démarrage, et une configuration correcte mais jamais relue est la cause la plus fréquente du « l’assistant ne voit pas mes données ».
Speak-Y embarque son serveur MCP dans l’application macOS : il n’y a rien à installer depuis npm et aucun jeton à émettre. Depuis Paramètres → Intégrations, Installer en face d’un client détecté écrit la configuration pour Claude Code, Claude Desktop et Cursor, chacune dans son propre format. VS Code, Zed et Devin Desktop ne sont pas dans cette liste — pour ceux-là, vous recopiez les deux mêmes valeurs dans les formes ci-dessus :
command = "/Applications/Speak-Y.app/Contents/MacOS/Speak-Y"
args = ["--mcp"]
Ajouter --read-only en second argument démarre le serveur sans aucun des outils
qui modifient des données — utile quand vous voulez que l’agent d’un éditeur
puisse chercher dans les transcriptions sans jamais toucher aux tags, aux noms
d’intervenants ni aux canaux d’équipe. Les installations en un clic
n’ajoutent délibérément pas ce drapeau : la lecture seule est une décision, vous
la prenez donc explicitement.
L’assistant reçoit alors treize outils : cinq qui lisent — recherche dans les enregistrements, transcriptions, résumés, tâches à faire, tags — et huit qui modifient quelque chose, déclarés au client comme modifiant des données pour qu’il demande avant de les appeler. La lecture se fait localement, contre la bibliothèque présente sur votre machine ; les commandes qui modifient passent par l’application en cours d’exécution et sont journalisées là où vous pourrez les relire. Le serveur est gratuit sur toutes les formules.
Si cela compte davantage dans un éditeur que dans une application de conversation, c’est une question de contexte. Un agent de code capable de lire ce qui a réellement été décidé pendant la réunion de mardi n’a pas besoin que vous retapiez la décision dans un prompt — c’est l’argument développé dans Cursor et le contexte des réunions, qui vaut à l’identique pour VS Code et Zed une fois la configuration ci-dessus en place.
Si votre serveur est enregistré et que l’assistant ne rapporte toujours rien, la cause est presque toujours l’une de ces quatre : l’éditeur n’a pas été redémarré, le chemin est périmé après une mise à jour de l’application, le plafond d’outils est atteint, ou le nom de la clé ne convient pas à ce client. Vérifiez-les dans cet ordre avant de réécrire quoi que ce soit.
VS Code range les serveurs MCP dans un fichier nommé mcp.json — soit .vscode/mcp.json dans un espace de travail, soit un mcp.json dans votre profil utilisateur, que vous ouvrez avec la commande MCP: Open User Configuration. Contrairement à la plupart des clients, sa clé de premier niveau est servers, et non mcpServers.
Zed utilise context_servers dans son fichier de réglages, et non mcpServers. Une entrée locale prend command, args et env ; une entrée distante prend url et headers. Ouvrez le fichier avec l’action zed: open settings file, ou ajoutez le serveur par Settings → AI → MCP Servers.
Non. Cognition a renommé Windsurf en Devin Desktop le 2 juin 2026, sous la forme d’une mise à jour à distance qui a conservé les formules, les extensions et les réglages. Cascade, l’agent qui lisait ~/.codeium/windsurf/mcp_config.json, est resté disponible jusqu’au 1er juillet 2026 ; son successeur Devin Local lit à la place les fichiers de configuration de la CLI Devin.
Non. Le même binaire stdio fonctionne dans tous les clients — ce qui diffère, c’est le fichier où vous l’enregistrez et le nom de la clé de premier niveau. Vous écrivez la commande et les arguments une fois, puis vous collez ces deux mêmes valeurs dans la forme de configuration propre à chaque éditeur.
Chaque client a son propre indicateur : dans VS Code, lancez MCP: List Servers depuis la Command Palette et utilisez Show Output pour lire le journal ; dans Zed, ouvrez Settings → AI → MCP Servers et cherchez le point vert indiquant Server is active ; dans Devin Desktop, ouvrez l’icône MCPs du panneau Cascade pour voir la liste des outils du serveur.