Extension des capacités de l'agent Copilot : VS Code MCP Configuration Details

VS Code 1.99 introduit la prise en charge du protocole Model Context.

Visual Studio Code ( VS Code Dans sa version 1.99, le protocole de contexte de modèle (MCP) a été officiellement introduit. MCP). MCP est une norme ouverte conçue pour fournir une interface unifiée qui permet aux modèles d'IA d'interagir avec des outils et des services externes.

MCP a été introduite principalement pour améliorer la Copilote GitHub Le serveur MCP est un protocole qui permet aux développeurs de configurer les serveurs MCP pour accéder à des outils et services personnalisés en mode agent. Grâce à ce protocole, les développeurs peuvent configurer le serveur MCP pour qu'il intègre des outils et des services personnalisés dans l'interface utilisateur de l'application. VS Code dans les flux de travail de l'IA, ce qui élargit considérablement le potentiel des assistants d'IA à exécuter un plus large éventail de tâches plus dynamiques, telles que l'interrogation de données en temps réel, la manipulation de fichiers locaux ou l'invocation de fonctions spécifiques de l'IA. API.

 

Prérequis : Activer le mode Agent et les dépendances de l'environnement

VS Code 1,99 $ sera MCP Intégré à GitHub Copilote en mode agent. Par conséquent, pour utiliser le MCP le mode Agent doit d'abord être activé. Cette opération peut être effectuée à l'aide de la fonction VS Code Le menu déroulant situé en haut de la vue Chat permet d'effectuer cette opération.

扩展 Copilot Agent 能力:VS Code MCP 配置详解

Une autre chose à garder à l'esprit, et MCP Le retour d'information le plus fréquent est que l'exécution d'un programme d'éducation à l'environnement n'est pas possible. MCP Il se peut que le serveur doive être préinstallé. Node.jsDocker ou d'autres dépendances. Cela s'explique par le fait que de nombreux MCP Les implémentations de serveurs (en particulier pour l'exécution de scripts ou d'outils conteneurisés) s'appuient sur ces environnements externes. Bien que cela ajoute de la complexité à la configuration initiale, cela offre également la flexibilité nécessaire pour se connecter à une variété d'outils de personnalisation puissants.

 

Configuration du serveur MCP

existent VS Code Au milieu.MCP La configuration de base se trouve dans le dossier .vscode/mcp.json dans le fichier. Au moyen de cette JSON vous pouvez définir un ou plusieurs fichiers MCP le mode Agent utilisera les outils fournis par ces serveurs.

Étape 1 : Créer un profil MCP

  1. Ouvrez votre dossier de projet sur VS Code Au milieu.
  2. Dans le répertoire racine du projet, localisez ou créez un fichier nommé .vscode du dossier.
  3. existent .vscode créer un fichier nommé mcp.json du document.
  4. Ajoutez le modèle de configuration de base suivant au fichier mcp.json Documentation :
    {
    "servers": {
    "example-server": {
    "type": "stdio",
    "command": "node",
    "args": ["path/to/your/script.js"]
    }
    }
    }
    

    Dans cette configuration :

    • servers: Un objet qui définit tous les MCP chaque clé est un nom de serveur unique (par exemple, "exemple-serveur").
    • typeType de communication : Spécifie le type de communication pour le serveur. Les types les plus courants sont les suivants :
      • stdioLe serveur est connecté au serveur via l'entrée/sortie standard (SIO). VS Code généralement utilisé pour exécuter des scripts ou des exécutables locaux.
      • sseLe serveur communique à l'aide d'événements envoyés par le serveur, qui sont généralement utilisés pour se connecter à des services distants ou à des services qui doivent envoyer des mises à jour en continu.
    • command répondre en chantant args: Définit les commandes et leurs paramètres nécessaires au démarrage de ce serveur. Dans cet exemple, il utilisera la commande Node.js pour exécuter un JavaScript Documentation.

Étape 2 : Ajouter une configuration spécifique au serveur

Vous pouvez modifier manuellement mcp.json pour ajouter un serveur, ou vous pouvez utiliser le fichier VS Code Le panneau de commande est un moyen pratique :

  1. Ouvrir le panneau de commande (touche de raccourci) Ctrl+Shift+P peut-être Cmd+Shift+P).
  2. Tapez et exécutez MCP: Add Server Commandement.
  3. option Workspace Settings(math.) genre VS Code ouvrira ou créera automatiquement .vscode/mcp.json et peut fournir des invites intelligentes (IntelliSense) pour vous aider dans la configuration.

Voici une configuration nommée fetch exemple d'un serveur qui utilise l'option uvx pour exécuter la commande mcp-server-fetch Un outil conçu pour récupérer le contenu d'une page web à une URL spécifiée :

{
"servers": {
"fetch": {
"type": "stdio",
"command": "uvx",
"args": ["mcp-server-fetch"]
}
}
}
扩展 Copilot Agent 能力:VS Code MCP 配置详解

Étape 3 : Traitement sécurisé des informations sensibles

Codage en dur dans le fichier de configuration API Les clés ou autres informations sensibles ne sont pas sécurisées.MCP L'utilisation de variables d'entrée permet de gérer cette situation. Lorsque la VS Code L'utilisateur est invité à saisir ces variables lorsqu'il démarre un serveur qui en a besoin.

{
"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}"
}
}
}
}

Dans cet exemple :

  • inputs Les tableaux définissent des variables qui nécessitent l'intervention de l'utilisateur. Ici, un ID en raison de api-key du type de mot de passe saisi.
  • password: true Veillez à ce que le contenu soit masqué lorsque vous tapez.
  • Dans la configuration du serveur de l'application env Partie.${input:api-key} La syntaxe fait référence à une variable d'entrée précédemment définie.VS Code sera responsable du stockage sécurisé et de la transmission de cette valeur à la variable d'environnement du processus serveur PERPLEXITY_API_KEY.

 

Utilisation et gestion des outils MCP

Activation du mode agent et découverte des outils

Lorsque vous avez correctement configuré le .vscode/mcp.json et l'enregistrer, puis passer à GitHub Copilot Mode agent (sélectionné via le menu déroulant en haut de la vue Chat) Agent). Le mode Agent détecte et charge automatiquement les serveurs définis dans le fichier de configuration et les outils qu'ils fournissent.

扩展 Copilot Agent 能力:VS Code MCP 配置详解

outil d'invocation

Une fois que les serveurs et les outils sont reconnus par le schéma de l'agent, vous pouvez les invoquer dans la vue Chat, soit par le biais du langage naturel, soit par des commandes spécifiques. Par exemple :

  • Si vous configurez le fetch serveurs qui peuvent être saisis :@workspace /fetch https://bytenote.net pour obtenir le contenu de la page.
  • Si vous configurez une requête temporelle capable de MCP essayez de demander :@workspace What's the time in Saigon?

L'agent analyse votre demande, détermine s'il doit faire appel à un outil externe et communique avec l'outil approprié. MCP l'interaction avec le serveur pour obtenir les résultats.

扩展 Copilot Agent 能力:VS Code MCP 配置详解

Gestion de l'état du serveur

Il est parfois nécessaire de vérifier l'état d'un serveur configuré ou de le gérer (démarrage, arrêt, affichage des journaux, etc.).

  1. Ouvrez le panneau de commande (Ctrl+Shift+P peut-être Cmd+Shift+P).
  2. Tapez et exécutez MCP: List Servers Commandement.
  3. Cette opération permet d'afficher une liste de tous les fichiers contenus dans le fichier mcp.json et son état actuel (par exemple StartedStopped).
  4. Vous pouvez cliquer sur un serveur de la liste pour effectuer des actions telles que le démarrage, l'arrêt ou le redémarrage, et afficher ses journaux de sortie, ce qui est utile pour déboguer les configurations de serveur.
扩展 Copilot Agent 能力:VS Code MCP 配置详解

 

Exemple de configuration avancée

Configuration de plusieurs serveurs

mcp.json Le fichier peut définir plusieurs serveurs, chacun offrant des fonctionnalités différentes.

{
"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"
}
}
}
}

Cette configuration définit trois serveurs :

  • Perplexity: Utilisation Docker L'exécution d'un outil, qui peut être utilisé pour effectuer des recherches complexes ou des quiz, nécessite API Clé.
  • Fetch: Utilisation uvx Exécuter un outil local pour l'exploration du contenu web.
  • RemoteServerConnexion à un ordinateur à distance SSE Un point de terminaison de service qui peut être utilisé pour recevoir des notifications ou des flux de données en temps réel. Remarque sse Type requis url et peut contenir des headers.

Utilisation de variables prédéfinies

MCP La configuration prend en charge un certain nombre de variables prédéfinies pour faciliter le référencement des informations contextuelles.

{
"servers": {
"filesystem": {
"type": "stdio",
"command": "npx",
"args": ["@modelcontextprotocol/server-filesystem", "${workspaceFolder}"]
}
}
}

Dans cet exemple, le${workspaceFolder} est une variable prédéfinie qui sera remplacée par la variable courante VS Code Le chemin du répertoire racine de l'espace de travail ouvert. Ceci est utile pour les outils qui ont besoin d'accéder aux fichiers du projet.

faire passer (un projet de loi, une inspection, etc.) MCP(math.) genreVS Code permet aux développeurs d'intégrer plus profondément les assistants d'intelligence artificielle dans leur flux de développement quotidien grâce à la puissance d'outils externes. Si la configuration initiale peut nécessiter un certain paramétrage de l'environnement, la personnalisation et l'extension des capacités qu'elle apporte sont considérables.

© déclaration de droits d'auteur
AiPPT

Articles connexes

Pas de commentaires

Vous devez être connecté pour participer aux commentaires !
S'inscrire maintenant
aucun
Pas de commentaires...