VS Code 1.99 führt die Unterstützung des Model Context Protocol ein.
Visual Studio Code ( VS Code
Mit der Version 1.99 wurde das Model Context Protocol (MCP) offiziell eingeführt. MCP
) Unterstützung. MCP ist ein offener Standard, der eine einheitliche Schnittstelle bietet, über die KI-Modelle mit externen Tools und Diensten interagieren können.
MCP
wurde in erster Linie eingeführt, um die GitHub Kopilot Agenten-Modus. Mit diesem Protokoll können Entwickler den MCP-Server so konfigurieren, dass er benutzerdefinierte Tools und Dienste in die VS Code
in KI-Workflows, wodurch das Potenzial von KI-Assistenten zur Durchführung einer breiteren Palette dynamischerer Aufgaben, wie z. B. die Abfrage von Echtzeitdaten, die Bearbeitung lokaler Dateien oder das Aufrufen bestimmter API
.
Voraussetzungen: Aktivieren des Agentenmodus und der Umgebungsabhängigkeiten
VS Code
1,99 wird MCP
Integriert mit GitHub Kopilot im Agentenmodus. Daher muss für die Verwendung der MCP
Funktion zu nutzen, muss der Agentenmodus zunächst aktiviert werden. Dies kann mit der Funktion VS Code
Dies geschieht über das Dropdown-Menü oben in der Chat-Ansicht.
Eine weitere Sache, die man im Auge behalten sollte, und MCP
Eine häufige Rückmeldung, mit der wir konfrontiert werden, ist, dass die MCP
Der Server muss möglicherweise vorinstalliert werden Node.js
und Docker
oder andere Abhängigkeiten. Dies liegt daran, dass viele MCP
Serverimplementierungen (insbesondere zur Ausführung von Skripten oder containerisierten Tools) sind auf diese externen Umgebungen angewiesen. Dies erhöht zwar die Komplexität der Ersteinrichtung, bietet aber auch die Flexibilität, sich mit einer Vielzahl leistungsstarker Anpassungswerkzeuge zu verbinden.
Konfigurieren des MCP-Servers
existieren VS Code
Mitte.MCP
Die Kernkonfiguration befindet sich im Arbeitsbereich in der .vscode/mcp.json
innerhalb der Datei. Mit Hilfe dieser JSON
Datei können Sie eine oder mehrere MCP
Servern, werden im Agentenmodus die von diesen Servern bereitgestellten Tools verwendet.
Schritt 1: Erstellen eines MCP-Profils
- Öffnen Sie Ihren Projektordner auf
VS Code
Mitte. - Suchen oder erstellen Sie im Stammverzeichnis des Projekts eine Datei namens
.vscode
des Ordners. - existieren
.vscode
erstellen Sie eine Datei mit dem Namenmcp.json
des Dokuments. - Fügen Sie die folgende grundlegende Konfigurationsvorlage zur
mcp.json
Dokumentation:{ "servers": { "example-server": { "type": "stdio", "command": "node", "args": ["path/to/your/script.js"] } } }
In dieser Konfiguration:
servers
: Ein Objekt, das alleMCP
Server, wobei jeder Schlüssel ein eindeutiger Servername ist (z. B. "example-server").type
Kommunikationsart: Gibt die Art der Kommunikation mit dem Server an. Übliche Typen sind:stdio
Der Server ist mit dem Server über Standard Input/Output (SIO) verbunden.VS Code
Kommunikation, in der Regel zur Ausführung lokaler Skripte oder ausführbarer Dateien.sse
Server-Sent Events: Der Server kommuniziert über Server-Sent Events, die üblicherweise für die Verbindung mit Remote-Diensten oder Diensten verwendet werden, die fortlaufend aktualisiert werden müssen.
command
im Gesang antwortenargs
Definiert die Befehle und ihre Parameter, die zum Starten des Servers erforderlich sind. In diesem Beispiel wird der BefehlNode.js
um eine bestimmteJavaScript
Dokumentation.
Schritt 2: Server-spezifische Konfiguration hinzufügen
Sie können manuell bearbeiten mcp.json
Datei, um einen Server hinzuzufügen, oder Sie können die VS Code
Der bequeme Weg über die Befehlstafel:
- Öffnen Sie die Befehlstafel (Tastenkürzel)
Ctrl+Shift+P
vielleichtCmd+Shift+P
). - Tippen und ausführen
MCP: Add Server
Befehl. - Option
Workspace Settings
(math.) GattungVS Code
wird automatisch geöffnet oder erstellt.vscode/mcp.json
Datei und bietet möglicherweise intelligente Eingabeaufforderungen (IntelliSense), um Sie bei der Konfiguration zu unterstützen.
Es folgt eine Konfiguration mit dem Namen fetch
Serverbeispiel, das die uvx
Befehl zur Ausführung mcp-server-fetch
das dazu dient, den Inhalt einer Webseite unter einer bestimmten URL abzurufen:
{
"servers": {
"fetch": {
"type": "stdio",
"command": "uvx",
"args": ["mcp-server-fetch"]
}
}
}
Schritt 3: Sicherer Umgang mit sensiblen Informationen
Hardcoding in der Konfigurationsdatei API
Schlüssel oder andere sensible Daten sind nicht sicher.MCP
Die Verwendung von Eingabevariablen wird unterstützt, um diese Situation zu bewältigen. Wenn die VS Code
Beim Start eines Servers, der diese Variablen benötigt, wird der Benutzer zur Eingabe aufgefordert.
{
"inputs": [
{
"type": "promptString",
"id": "api-key",
"description": "Your API Key",
"password": true
}
],
"servers": {
"perplexity": {
"type": "stdio",
"command": "docker",
"args": ["run", "-i", "--rm", "-e", "PERPLEXITY_API_KEY", "mcp/perplexity-ask"],
"env": {
"PERPLEXITY_API_KEY": "${input:api-key}"
}
}
}
}
In diesem Beispiel:
inputs
Arrays definieren Variablen, die Benutzereingaben erfordern. Hier einID
wegenapi-key
des eingegebenen Passworttyps.password: true
Stellen Sie sicher, dass der Inhalt während der Eingabe ausgeblendet wird.- In der Serverkonfiguration des
env
Teil.${input:api-key}
Die Syntax verweist auf eine zuvor definierte Eingabevariable.VS Code
ist für die sichere Speicherung und Übergabe dieses Wertes an die Umgebungsvariable des Serverprozesses verantwortlichPERPLEXITY_API_KEY
.
Verwendung und Verwaltung von MCP-Tools
Aktivieren des Agentenmodus und Auffinden von Tools
Wenn Sie das System korrekt konfiguriert haben .vscode/mcp.json
Datei und speichern Sie sie, dann wechseln Sie zu GitHub Copilot
Agentenmodus (Auswahl über das Dropdown-Menü oben in der Chat-Ansicht) Agent
). Der Agentenmodus erkennt und lädt automatisch die in der Konfigurationsdatei definierten Server und die von ihnen bereitgestellten Tools.
Aufrufwerkzeug
Sobald Server und Tools vom Agentenschema erkannt werden, können Sie sie in der Chat-Ansicht aufrufen, entweder in natürlicher Sprache oder mit spezifischen Befehlen. Zum Beispiel:
- Wenn Sie die
fetch
Server, die eingegeben werden können:@workspace /fetch https://bytenote.net
um den Inhalt der Seite zu erhalten. - Wenn Sie eine zeitabfragefähige
MCP
Server, versuchen Sie zu fragen:@workspace What's the time in Saigon?
Der Agent analysiert Ihre Anfrage, bestimmt, ob er ein externes Tool aufrufen muss, und kommuniziert mit dem entsprechenden MCP
Server-Interaktion, um die Ergebnisse zu erhalten.
Verwaltung des Serverstatus
Manchmal müssen Sie den Status eines konfigurierten Servers anzeigen oder ihn verwalten (starten, stoppen, Protokolle anzeigen usw.).
- Öffnen Sie das Bedienfeld (
Ctrl+Shift+P
vielleichtCmd+Shift+P
). - Tippen und ausführen
MCP: List Servers
Befehl. - Es öffnet sich eine Ansicht, in der alle Dateien im Verzeichnis
mcp.json
und seinen aktuellen Zustand (z. B.Started
,Stopped
). - Sie können auf einen Server in der Liste klicken, um Aktionen auszuführen, wie z. B. das Starten, Stoppen oder Neustarten des Servers, und seine Ausgabeprotokolle anzeigen, was für die Fehlersuche bei Serverkonfigurationen nützlich ist.
Beispiel für eine erweiterte Konfiguration
Mehrere Server konfigurieren
mcp.json
In der Datei können mehrere Server definiert werden, die jeweils unterschiedliche Funktionen bieten.
{
"inputs": [
{
"type": "promptString",
"id": "perplexity-key",
"description": "Perplexity API Key",
"password": true
}
],
"servers": {
"Perplexity": {
"type": "stdio",
"command": "docker",
"args": ["run", "-i", "--rm", "-e", "PERPLEXITY_API_KEY", "mcp/perplexity-ask"],
"env": {
"PERPLEXITY_API_KEY": "${input:perplexity-key}"
}
},
"Fetch": {
"type": "stdio",
"command": "uvx",
"args": ["mcp-server-fetch"]
},
"RemoteServer": {
"type": "sse",
"url": "http://api.example.com/sse",
"headers": {
"VERSION": "1.2"
}
}
}
}
Diese Konfiguration definiert drei Server:
Perplexity
: VerwendungDocker
Die Ausführung eines Tools, das für komplexe Suchvorgänge oder Quizfragen verwendet werden kann, erfordertAPI
Schlüssel.Fetch
: Verwendunguvx
Führen Sie ein lokales Tool zum Crawlen von Webinhalten aus.RemoteServer
Verbinden mit einer FernbedienungSSE
Ein Dienst-Endpunkt, der für den Empfang von Echtzeit-Benachrichtigungen oder Datenströmen verwendet werden kann. Hinweissse
Typ erforderlichurl
Parameter und kann benutzerdefinierteheaders
.
Verwendung vordefinierter Variablen
MCP
Die Konfiguration unterstützt eine Reihe von vordefinierten Variablen für die einfache Referenzierung von Kontextinformationen.
{
"servers": {
"filesystem": {
"type": "stdio",
"command": "npx",
"args": ["@modelcontextprotocol/server-filesystem", "${workspaceFolder}"]
}
}
}
In diesem Beispiel ist die${workspaceFolder}
ist eine vordefinierte Variable, die durch die aktuelle VS Code
Der Stammverzeichnispfad des geöffneten Arbeitsbereichs. Dies ist nützlich für Werkzeuge, die Zugriff auf Projektdateien benötigen.
passieren (eine Rechnung oder Inspektion etc.) MCP
(math.) GattungVS Code
öffnet Entwicklern die Tür, um KI-Assistenten mit Hilfe externer Tools tiefer in ihre täglichen Entwicklungsabläufe zu integrieren. Auch wenn die anfängliche Konfiguration eine gewisse Einrichtung der Umgebung erfordert, sind die Anpassungsmöglichkeiten und die Erweiterung der Fähigkeiten, die damit einhergehen, beträchtlich.