VS Code-Konfiguration: servers statt mcpServers verwenden
Sie haben eine funktionierende Konfiguration aus Claude oder Cursor kopiert, in VS Code eingefügt, neu gestartet, und nichts passiert. Kein Fehler, keine Warnung, kein Server in der Liste. Die Datei ist gültiges JSON, und VS Code hat daran nichts auszusetzen. Das Problem ist ein einziges Wort, und zwar das äußerste.
- VS Code fasst Server unter servers zusammen. Claude, Cursor und die meisten anderen nutzen mcpServers.
- Der falsche Schlüssel erzeugt überhaupt keinen Fehler, und deshalb kostet das Menschen eine Stunde.
- Die innere Serverdefinition ist in allen Clients identisch. Nur der Wrapper unterscheidet sich.
Der Unterschied im direkten Vergleich
Derselbe Server, derselbe Befehl, dieselben Argumente. Das Einzige, was sich ändert, ist der Wrapper-Schlüssel.
| Client | Konfigurationsdatei | Wrapper-Schlüssel |
|---|---|---|
| GitHub Copilot in VS Code | .vscode/mcp.json | servers |
| Cursor | ~/.cursor/mcp.json | mcpServers |
| Claude Desktop | claude_desktop_config.json | mcpServers |
| Die meisten anderen Clients mit Konfigurationsdatei | unterschiedlich | mcpServers |
Was VS Code erwartet
In .vscode/mcp.json im Stammverzeichnis Ihres Workspace. Als Beispiel dient der Connector von MyLinedChart:
{ "servers": { "mylinedchart": { "command": "npx", "args": ["-y", "@mylinedchart/mcp-chart-context"] } } }
Setzen Sie Befehl und Argumente Ihres eigenen Servers ein. Die Form des inneren Objekts ändert sich zwischen den Clients nicht.
Was alle anderen erwarten
Derselbe Server, für Claude oder Cursor:
{ "mcpServers": { "mylinedchart": { "command": "npx", "args": ["-y", "@mylinedchart/mcp-chart-context"] } } }
Haben Sie beide Editoren offen, brauchen Sie tatsächlich beide Dateien. Die beiden Editoren können sich keine Konfiguration teilen.
Warum es ohne Fehler scheitert
VS Code liest die Datei, findet gültiges JSON und sucht nach einem Schlüssel servers. Die Datei hat keinen Schlüssel servers, also findet VS Code null Server zum Starten. Null Server sind kein Fehlerzustand. Aus Sicht von VS Code haben Sie nichts konfiguriert, und das ist völlig zulässig.
Es gibt also keine rote Wellenlinie, keine Benachrichtigung und keinen Eintrag in irgendeinem Log, der sagt, der Schlüssel sei falsch. Der Fehler sieht genau so aus, als würde der Server beim Start abstürzen, weshalb Menschen den Server zu debuggen beginnen.
- Die Datei ist gültiges JSON, daher erscheint kein Parse-Fehler.
- Ein unbekannter Schlüssel auf oberster Ebene wird ignoriert statt abgelehnt.
- Null konfigurierte Server sind ein normaler Zustand, daher meldet VS Code keinen Fehler.
So erkennen Sie, welches Problem Sie haben
Bevor Sie annehmen, dass der Server kaputt ist, belegen Sie, dass VS Code überhaupt versucht hat, ihn zu starten.
- Prüfen Sie zuerst den Wrapper-Schlüssel. Die Prüfung dauert fünf Sekunden und ist meistens die Antwort.
- Führen Sie den Befehl des Servers von Hand in einem Terminal aus. Startet der Server, liegt das Problem woanders.
- Suchen Sie den Server in der Serverliste von VS Code. Fehlt er, wurde er nie konfiguriert; ist er da, scheitert aber, liegt ein echter Startfehler vor.
- Haben Sie über einen Ein-Klick-Link statt von Hand installiert, trifft diese ganze Problemklasse nicht zu.
Zwei verwandte Fallen
Wenn Sie schon dabei sind: Zwei weitere Dinge scheitern auf dieselbe stille Weise.
Erstens: Ein-Klick-Installationslinks transportieren ihre Nutzdaten als einfaches URL-kodiertes JSON. Base64 wird vom URL-Parser akzeptiert und bewirkt dann stillschweigend nichts, der schlimmste denkbare Fehler: eine Schaltfläche, die aussieht, als hätte sie funktioniert.
Zweitens: Der Servername steckt bei VS Code in den Nutzdaten und nicht in einem eigenen Abfrageparameter wie bei Cursor. Ein Link in der Form für Cursor installiert in VS Code nicht korrekt, auch wenn er sich öffnet.
Wo MyLinedChart ins Spiel kommt
MyLinedChart liefert einen Connector mit, der einem KI-Agenten Ihren Live-Chart gibt: Symbole, Ihre Zeichnungen, Indikatorwerte und die Balken auf dem Bildschirm. Der Connector läuft auf Ihrem Rechner, und die Daten laufen nicht über unsere Server.
Die App hat eine Ein-Klick-Schaltfläche Add to VS Code, die den richtigen Schlüssel für Sie schreibt, und das ist der Grund, sie dem Bearbeiten von Hand vorzuziehen. Einrichtung und die anderen Clients: /resources/articles/ibkr-chart-data-github-copilot-vs-code.
Nächster Schritt
Korrigieren Sie den Schlüssel, starten Sie VS Code neu, und der Server erscheint. Erscheint er trotzdem nicht, wissen Sie jetzt, dass das Problem beim Server liegt und nicht in der Konfiguration, und das ist eine viel kürzere Liste, die Sie abarbeiten müssen.
Verbinden Sie Ihre KI unter /mcp.
Häufig gestellte Fragen
- Warum nutzt VS Code servers statt mcpServers?
- Der Schlüssel servers ist eine Namenswahl im eigenen Konfigurationsformat von VS Code, getroffen unabhängig von der Konvention, die Claude Desktop etabliert hat. Keiner von beiden ist richtiger. Der Unterschied wird nur zum Problem, weil beide austauschbar wirken und einer davon scheitert, ohne es zu sagen.
- Warnt mich VS Code, wenn ich den falschen Schlüssel verwende?
- Nein, und genau darin liegt die Schwierigkeit. Die Datei ist gültiges JSON, ein unbekannter Schlüssel auf oberster Ebene wird ignoriert statt abgelehnt, und null konfigurierte Server sind ein normaler Zustand. Nichts daran sieht nach einem Fehler aus.
- Kann ich eine Konfigurationsdatei für VS Code und Cursor gemeinsam nutzen?
- Nein. Sie lesen unterschiedliche Pfade und erwarten unterschiedliche Wrapper-Schlüssel, also brauchen Sie beide Dateien. Die innere Serverdefinition ist identisch, es ist also eine Kopie mit einem geänderten Wort.
- Gilt das auch für Windows Copilot?
- Nein. Gemeint ist hier GitHub Copilot in VS Code, das Server über diese Verbindung unterstützt. Der Assistent in der Windows-Taskleiste ist ein anderes Produkt, das denselben Namen trägt und diese Konfigurationsdateien nicht nutzt.
MyLinedChart ausprobieren
MyLinedChart speichert Ihre Zeichnungen, Notizen und Indikatorwerte als Daten, die Sie exportieren, prüfen und wiederverwenden können.
MyLinedChart entdecken