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
You must be authenticated.
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 -1154130TypeScriptMIT License
- Python
- RustMIT License
- MIT License