Skip to main content
Glama

vscode-mcp-server

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

  1. Installieren Sie die Erweiterung vom Marketplace oder klonen Sie dieses Repository und führen Sie npm install und npm 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:

{ "mcpServers": { "vscode-mcp-server": { "command": "npx", "args": ["mcp-remote@next", "http://localhost:3000/mcp"] } } }

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:

You are working on an existing codebase, which you can access using your tools. These code tools interact with a VS Code workspace. Before running code tools that will make any modification to code, always present a comprehensive and detailed plan to the user, including your confidence level (out of 10). When planning, use your tools to explore the codebase so that you understand the context of the project. If you are not confident in your plan because you require more information, use your tools, such as web search, to look for this information or ask the user. IMPORTANT: Only run code tools that will modify code after presenting such a plan to the user, and receiving explicit approval. Approval must be given each time; prior approval for a change does not imply that subsequent changes are approved.

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:

  1. Läuft lokal auf einem konfigurierbaren Port (wenn aktiviert)
  2. Verarbeitet MCP-Protokollanforderungen über HTTP
  3. Stellt die Funktionalität von VS Code als MCP-Tools zur Verfügung
  4. 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 sollen
      • recursive (optional): Ob Dateien rekursiv aufgelistet werden sollen
  • read_file_code : Liest Dateiinhalte
    • Parameter:
      • path : Der Pfad zur zu lesenden Datei
      • encoding (optional): Dateikodierung (Standard: UTF-8)
      • maxCharacters (optional): Maximale Zeichenanzahl (Standard: 100.000)

Bearbeitungswerkzeuge

  • create_file_code : Erstellt eine neue Datei mit der WorkspaceEdit-API von VS Code
    • Parameter:
      • path : Der Pfad zur zu erstellenden Datei
      • content : Der Inhalt, der in die Datei geschrieben werden soll
      • overwrite (optional): Ob die Datei überschrieben werden soll, wenn sie existiert (Standard: false)
      • ignoreIfExists (optional): Ob ignoriert werden soll, wenn die Datei existiert (Standard: false)
  • replace_lines_code : Ersetzt bestimmte Zeilen in einer Datei
    • Parameter:
      • path : Der Pfad zur zu ändernden Datei
      • startLine : 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 sollen
      • originalCode : Der Originalcode zur Validierung

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

Symbolwerkzeuge

  • search_symbols_code : Sucht nach Symbolen im gesamten Arbeitsbereich
    • Parameter:
      • query : Die Suchanfrage für Symbolnamen
      • maxResults (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
  • get_symbol_definition_code : Ruft Definitionsinformationen für ein Symbol in einer Datei ab
    • Parameter:
      • path : Der Pfad zur Datei, die das Symbol enthält
      • line : Die Zeilennummer des Symbols
      • symbol : 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

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-Befehl
      • cwd (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

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:

http://localhost:3000/mcp

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

MIT

Related MCP Servers

View all related MCP servers

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/juehang/vscode-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server