VS Code MCP-Server
Eine Visual Studio Code-Erweiterung (verfügbar im Marketplace ), die es Claude und anderen MCP-Clients ermöglicht, direkt in VS Code zu programmieren! Inspiriert von Serena , nutzt aber die integrierten Funktionen von VS Code. Dies ist derzeit deutlich einfacher als Serena, funktioniert aber! Beachten Sie, dass diese Erweiterung die streambare HTTP-API und nicht die SSE-API verwendet.
Diese Erweiterung ermöglicht die Ausführung von Shell-Befehlen. Dies birgt ein potenzielles Sicherheitsrisiko. Verwenden Sie sie daher mit Vorsicht und stellen Sie sicher, dass Sie dem verwendeten MCP-Client vertrauen und der Port nicht offengelegt wird. Eine Authentifizierung wäre hilfreich, wurde aber aufgrund der sich noch in der Entwicklung befindlichen MCP-Authentifizierungsspezifikation bisher nicht implementiert.
PRs sind willkommen!
Demo-Video
https://github.com/user-attachments/assets/20b87dfb-fc39-4710-a910-b9481dde1e90
Installation
- Installieren Sie die Erweiterung vom Marketplace oder klonen Sie dieses Repository und führen Sie
npm install
undnpm run compile
aus, um es zu erstellen.
Claude Desktop-Konfiguration
Claude Desktop kann so konfiguriert werden, dass diese Erweiterung als MCP-Server verwendet wird. Dazu sollte Ihre Datei claude_desktop_config.json
wie folgt aussehen:
Ich verwende diese Erweiterung auch gerne in einem Claude-Projekt, da ich damit zusätzliche Anweisungen für Claude angeben kann. Die folgende Eingabeaufforderung funktioniert meiner Meinung nach gut:
Diese Erweiterung dient als Model Context Protocol (MCP)-Server und stellt MCP-Clients das Dateisystem und die Bearbeitungsfunktionen von VS Code zur Verfügung.
Merkmale
Die VS Code MCP Server-Erweiterung implementiert einen MCP-kompatiblen Server, der KI-Modellen und anderen MCP-Clients Folgendes ermöglicht:
- Listen Sie Dateien und Verzeichnisse in Ihrem VS Code-Arbeitsbereich auf
- Lesen Sie Dateiinhalte mit Kodierungsunterstützung und Größenbeschränkungen
- Suchen Sie in Ihrem Arbeitsbereich nach Symbolen
- Erhalten Sie Symboldefinitionen und Hover-Informationen nach Zeilen- und Symbolnamen
- Erstellen Sie neue Dateien mit der WorkspaceEdit-API von VS Code
- Zeilenersetzungen in Dateien vornehmen
- Suchen Sie in Ihrem Arbeitsbereich nach Diagnosen (Fehlern und Warnungen).
- Ausführen von Shell-Befehlen im integrierten Terminal mit Shell-Integration
- Schalten Sie den Server über ein Statusleistenelement ein und aus
Diese Erweiterung ermöglicht KI-Assistenten und anderen Tools die Interaktion mit Ihrem VS Code-Arbeitsbereich über das standardisierte MCP-Protokoll.
Wie es funktioniert
Die Erweiterung erstellt einen MCP-Server, der:
- Läuft lokal auf einem konfigurierbaren Port (wenn aktiviert)
- Verarbeitet MCP-Protokollanforderungen über HTTP
- Stellt die Funktionalität von VS Code als MCP-Tools zur Verfügung
- Bietet eine Statusleistenanzeige, die den Serverstatus anzeigt und durch Anklicken den Server ein- und ausschaltet
Unterstützte MCP-Tools
Datei-Tools
- list_files_code : Listet Dateien und Verzeichnisse in Ihrem Arbeitsbereich auf
- Parameter:
path
: Der Pfad, aus dem die Dateien aufgelistet werden sollenrecursive
(optional): Ob Dateien rekursiv aufgelistet werden sollen
- Parameter:
- read_file_code : Liest Dateiinhalte
- Parameter:
path
: Der Pfad zur zu lesenden Dateiencoding
(optional): Dateikodierung (Standard: UTF-8)maxCharacters
(optional): Maximale Zeichenanzahl (Standard: 100.000)
- Parameter:
Bearbeitungswerkzeuge
- create_file_code : Erstellt eine neue Datei mit der WorkspaceEdit-API von VS Code
- Parameter:
path
: Der Pfad zur zu erstellenden Dateicontent
: Der Inhalt, der in die Datei geschrieben werden solloverwrite
(optional): Ob die Datei überschrieben werden soll, wenn sie existiert (Standard: false)ignoreIfExists
(optional): Ob ignoriert werden soll, wenn die Datei existiert (Standard: false)
- Parameter:
- replace_lines_code : Ersetzt bestimmte Zeilen in einer Datei
- Parameter:
path
: Der Pfad zur zu ändernden DateistartLine
: Die Startzeilennummer (basierend auf 1, einschließlich)endLine
: Die Endzeilennummer (basierend auf 1, einschließlich)content
: Der neue Inhalt, durch den die Zeilen ersetzt werden sollenoriginalCode
: Der Originalcode zur Validierung
- Parameter:
Diagnosetools
- get_diagnostics_code : Überprüft Ihren Arbeitsbereich auf Warnungen und Fehler
- Parameter:
path
(optional): Zu prüfender Dateipfad (falls nicht angegeben, wird der gesamte Arbeitsbereich geprüft)severities
(optional): Array der einzuschließenden Schweregrade (0=Fehler, 1=Warnung, 2=Information, 3=Hinweis). Standard: [0, 1]format
(optional): Ausgabeformat ('Text' oder 'JSON'). Standard: 'Text'includeSource
(optional): Gibt an, ob die Diagnosequelle eingeschlossen werden soll. Standard: true
Dieses Tool ist besonders nützlich für:
- Codequalitätsprüfungen vor dem Festschreiben von Änderungen
- Durch die Überprüfung der Fixes wurden alle gemeldeten Probleme behoben
- Identifizieren von Problemen in bestimmten Dateien oder im gesamten Arbeitsbereich
- Parameter:
Symbolwerkzeuge
- search_symbols_code : Sucht nach Symbolen im gesamten Arbeitsbereich
- Parameter:
query
: Die Suchanfrage für SymbolnamenmaxResults
(optional): Maximale Anzahl der zurückzugebenden Ergebnisse (Standard: 10)
Dieses Tool ist nützlich für:
- Suchen von Definitionen von Symbolen (Funktionen, Klassen, Variablen usw.) in der gesamten Codebasis
- Erkundung der Projektstruktur und -organisation
- Auffinden bestimmter Elemente anhand des Namens
- Parameter:
- get_symbol_definition_code : Ruft Definitionsinformationen für ein Symbol in einer Datei ab
- Parameter:
path
: Der Pfad zur Datei, die das Symbol enthältline
: Die Zeilennummer des Symbolssymbol
: Der Symbolname, nach dem in der angegebenen Zeile gesucht werden soll
Dieses Tool bietet:
- Typinformationen, Dokumentation und Quelldetails für Symbole
- Codekontext, der die Zeile zeigt, in der das Symbol erscheint
- Informationen zum Symbolbereich
Es ist besonders nützlich für:
- Verstehen, was ein Symbol darstellt, ohne wegzunavigieren
- Überprüfen von Funktionssignaturen, Typdefinitionen oder Dokumentation
- Kurzreferenz für APIs oder Bibliotheksfunktionen
- Parameter:
Shell-Tools
- execute_shell_command_code : Führt einen Shell-Befehl im integrierten VS Code-Terminal mit Shell-Integration aus
- Parameter:
command
: Der auszuführende Shell-Befehlcwd
(optional): Optionales Arbeitsverzeichnis für den Befehl (Standard: „.“)
Dieses Tool ist nützlich für:
- Ausführen von CLI-Befehlen und Build-Vorgängen
- Ausführen von Git-Befehlen
- Ausführen von Shell-Operationen, die einen Terminalzugriff erfordern
- Abrufen der Befehlsausgabe zur Analyse und Weiterverarbeitung
- Parameter:
Vorbehalte/TODO
Derzeit wird nur ein Arbeitsbereich unterstützt. Die Erweiterung funktioniert außerdem nur lokal, um zu verhindern, dass Ihre VS Code-Instanz einem Netzwerk ausgesetzt wird, mit dem Sie möglicherweise verbunden sind.
Erweiterungseinstellungen
Diese Erweiterung bietet die folgenden Einstellungen:
vscode-mcp-server.port
: Die Portnummer für den MCP-Server (Standard: 3000)
Verwendung mit MCP-Clients
Um MCP-Clients mit diesem Server zu verbinden, konfigurieren Sie sie für die Verwendung von:
Denken Sie daran, dass Sie zuerst den Server aktivieren müssen, indem Sie auf das Statusleistenelement klicken!
Beitragen
Beiträge sind willkommen! Senden Sie gerne Probleme oder Pull Requests.
Lizenz
local-only server
The server can only run on the client's local machine because it depends on local resources.
Tools
vscode-mcp-server
Related MCP Servers
- AsecurityAlicenseAqualityMCP Server for running code snippet and show the result.Last updated -13,452183TypeScriptMIT License
- Python
- RustMIT License
- MIT License