Configuration MCP de VS Code : utilisez servers au lieu de mcpServers
Vous avez copié une configuration MCP qui fonctionnait dans Claude ou Cursor, vous l'avez collée dans VS Code, redémarré, et rien ne s'est passé. Pas d'erreur, pas d'avertissement, aucun serveur dans la liste. Le fichier est du JSON valide et VS Code s'en accommode parfaitement. Le problème tient en un seul mot, et c'est le plus extérieur.
- VS Code place les serveurs MCP sous servers. Claude, Cursor et la plupart des autres utilisent mcpServers.
- La mauvaise clé ne produit aucune erreur, ce qui fait perdre une heure à beaucoup de monde.
- La définition interne du serveur est identique d'un client à l'autre. Seul l'encadrement change.
La différence, côte à côte
Même serveur, même commande, mêmes arguments. La seule chose qui change est la clé d'encadrement.
| Client | Fichier de configuration | Clé d'encadrement |
|---|---|---|
| GitHub Copilot dans VS Code | .vscode/mcp.json | servers |
| Cursor | ~/.cursor/mcp.json | mcpServers |
| Claude Desktop | claude_desktop_config.json | mcpServers |
| La plupart des autres clients à configuration par fichier | variable | mcpServers |
Ce que veut VS Code
Dans .vscode/mcp.json, à la racine de votre espace de travail. Avec le connecteur de MyLinedChart en exemple :
{ "servers": { "mylinedchart": { "command": "npx", "args": ["-y", "@mylinedchart/mcp-chart-context"] } } }
Remplacez par la commande et les arguments de votre propre serveur. La forme de l'objet interne ne change pas d'un client à l'autre.
Ce que veulent tous les autres
Le même serveur, pour Claude ou Cursor :
{ "mcpServers": { "mylinedchart": { "command": "npx", "args": ["-y", "@mylinedchart/mcp-chart-context"] } } }
Si vous avez les deux éditeurs ouverts, il vous faut effectivement les deux fichiers. Les deux éditeurs ne peuvent pas partager une même configuration.
Pourquoi cela échoue sans erreur
VS Code lit le fichier, trouve du JSON valide et cherche une clé servers. Le fichier n'a pas de clé servers : VS Code trouve donc zéro serveur à démarrer. Zéro serveur n'est pas une condition d'erreur. Du point de vue de VS Code, vous n'avez rien configuré, ce qui est parfaitement légitime.
Il n'y a donc ni soulignement rouge, ni notification, ni entrée de journal indiquant que la clé était mauvaise. L'échec ressemble exactement à un plantage du serveur au démarrage, ce qui pousse les gens à déboguer le serveur.
- Le fichier est du JSON valide : aucune erreur d'analyse n'apparaît.
- Une clé de premier niveau non reconnue est ignorée au lieu d'être rejetée.
- Zéro serveur configuré est un état normal : VS Code ne signale donc aucun défaut.
Comment confirmer de quel problème il s'agit
Avant de supposer que le serveur est cassé, vérifiez que VS Code a au moins essayé de le démarrer.
- Vérifiez d'abord la clé d'encadrement. Ce contrôle prend cinq secondes et c'est la réponse la plupart du temps.
- Lancez à la main la commande du serveur dans un terminal. Si le serveur démarre, le problème est ailleurs.
- Cherchez le serveur dans la liste des serveurs MCP de VS Code. Absent veut dire jamais configuré ; présent mais en échec veut dire une vraie erreur de démarrage.
- Si vous avez installé via un lien en un clic plutôt qu'à la main, toute cette catégorie de problèmes ne s'applique pas.
Deux pièges voisins
Pendant que vous y êtes, deux autres choses échouent de la même façon silencieuse.
Premièrement, les liens d'installation MCP en un clic transportent leur contenu sous forme de JSON encodé en URL, en clair. Le Base64 est accepté par l'analyseur d'URL puis ne fait silencieusement rien, ce qui est le pire échec possible : un bouton qui a l'air d'avoir fonctionné.
Deuxièmement, le nom du serveur voyage dans le contenu pour VS Code, au lieu d'être un paramètre de requête séparé comme le fait Cursor. Un lien construit sur le modèle de Cursor ne s'installera pas correctement dans VS Code même s'il s'ouvre.
Où MyLinedChart s'intègre
MyLinedChart fournit un connecteur MCP qui donne à un agent d'IA votre graphique en direct : symboles, vos tracés, valeurs d'indicateurs et barres affichées à l'écran. Le connecteur s'exécute sur votre machine et les données ne transitent pas par nos serveurs.
L'application comporte un bouton Add to VS Code en un clic qui écrit la bonne clé à votre place, ce qui justifie de l'utiliser plutôt que d'éditer à la main. Configuration et autres clients : /resources/articles/ibkr-chart-data-github-copilot-vs-code.
Étape suivante
Corrigez la clé, redémarrez VS Code, et le serveur apparaît. Si le serveur n'apparaît toujours pas, vous savez maintenant que le problème vient du serveur et non de la configuration, ce qui raccourcit nettement la liste des pistes à explorer.
Connectez votre IA sur /mcp.
Questions fréquentes
- Pourquoi VS Code utilise-t-il servers au lieu de mcpServers ?
- La clé servers est un choix de nommage du format de configuration MCP propre à VS Code, fait indépendamment de la convention établie par Claude Desktop. Aucune n'est plus correcte que l'autre. La différence ne devient un problème que parce que les deux semblent interchangeables et que l'une d'elles échoue sans le dire.
- VS Code m'avertira-t-il si j'utilise la mauvaise clé ?
- Non, et c'est toute la difficulté. Le fichier est du JSON valide, une clé de premier niveau inconnue est ignorée au lieu d'être rejetée, et n'avoir aucun serveur configuré est un état normal. Rien n'a l'air d'un défaut.
- Puis-je utiliser un seul fichier de configuration pour VS Code et Cursor ?
- Non. Ils lisent des chemins différents et attendent des clés d'encadrement différentes : il vous faut donc les deux fichiers. La définition interne du serveur est identique, il s'agit donc d'une copie avec un seul mot changé.
- Cela s'applique-t-il aussi à Copilot dans Windows ?
- Non. Le Copilot dont il est question ici est GitHub Copilot dans VS Code, qui prend en charge les serveurs MCP. L'assistant de la barre des tâches de Windows est un produit distinct qui partage le nom et n'utilise pas ces fichiers de configuration.
Essayez MyLinedChart
MyLinedChart conserve vos tracés, notes et valeurs d'indicateurs sous forme de données que vous pouvez exporter, relire et réutiliser.
Découvrir MyLinedChart