Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Le protocole MCP (Model Context Protocol) est une norme ouverte qui permet aux modèles IA d’interagir avec des outils et services externes via une interface unifiée. Dans Visual Studio, la prise en charge de MCP améliore le mode d’agent de GitHub Copilot en vous permettant de connecter n’importe quel serveur compatible MCP à votre flux de travail de codage agentique. Cet article vous guide tout au long de la configuration des serveurs MCP et de l’utilisation d’outils avec le mode agent dans Visual Studio.
Conditions préalables
- Visual Studio 2022 version 17.14 ou ultérieure.
Comment MCP et Visual Studio étendent-ils l’agent de GitHub Copilot ?
- Clients MCP, tels que Visual Studio, se connectent aux serveurs MCP et demandent des actions pour le compte du modèle IA
- Les serveurs MCP fournissent un ou plusieurs outils qui exposent des fonctionnalités spécifiques via une interface bien définie.
- Le protocole MCP (Model Context Protocol) définit le format de message pour la communication entre les clients et les serveurs, notamment la découverte d’outils, l’appel et la gestion des réponses
Par exemple, un serveur MCP du système de fichiers peut fournir des outils pour la lecture, l’écriture ou la recherche de fichiers et de répertoires. Le serveur MCP officiel de GitHub offre des outils permettant de répertorier les référentiels, de créer des demandes de tirage ou de gérer des problèmes. Les serveurs MCP peuvent s’exécuter localement sur votre ordinateur ou être hébergés à distance, et Visual Studio prend en charge les deux configurations.
En standardisant cette interaction, MCP élimine le besoin d’intégrations personnalisées entre chaque modèle IA et chaque outil. Cela vous permet d’étendre les fonctionnalités de votre assistant IA en ajoutant simplement de nouveaux serveurs MCP à votre espace de travail. En savoir plus sur la spécification du protocole de contexte de modèle.
Exemple de configuration avec le serveur MCP GitHub
- Créez un fichier :
<SOLUTIONDIR>\.mcp.json
. L’utilisation de Visual Studio pour modifier ce fichier est recommandée afin que son schéma JSON soit appliqué automatiquement. - Collez le contenu suivant dans le
.mcp.json
fichier
{
"inputs": [
{
"id": "github_pat",
"description": "GitHub personal access token",
"type": "promptString",
"password": true
}
],
"servers": {
"github": {
"type": "stdio",
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"GITHUB_PERSONAL_ACCESS_TOKEN",
"ghcr.io/github/github-mcp-server"
],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "${input:github_pat}"
}
}
}
}
Obtenir un jeton d’accès personnel pour votre compte GitHub
Dans Visual Studio, cliquez sur la
Ask
liste déroulante dans la fenêtre Chat GitHub Copilot, puis sélectionnezAgent
.Lorsque vous y êtes invité, collez votre jeton d’accès personnel dans la boîte de dialogue.
Sélectionnez les outils que vous souhaitez utiliser, par exemple,
list_issues
Essayez un modèle d’invite :
list issues assigned to me on GitHub
Copilot demande l’autorisation d’utiliser un outil mis à sa disposition par le serveur MCP, sélectionnez Autoriser avec l’étendue avec laquelle vous souhaitez continuer.
Fonctionnalités MCP prises en charge
Visual Studio prend en charge les événements d’entrée/sortie standard locaux (stdio
), les événements envoyés par le serveur (sse
) et http streamable (http
) pour le transport du serveur MCP. Actuellement, parmi les trois primitives (outils, invites, ressources), les serveurs ne peuvent fournir que des outils au mode agent de Copilot. La liste et les descriptions des outils peuvent être mises à jour dynamiquement grâce à des événements de modification de liste. Visual Studio fournit aux serveurs les dossiers de solution actuels en utilisant roots
(spec).
Recherche de serveurs MCP
Le référentiel de serveurs officiels de MCP est un excellent point de départ pour les serveurs de référence, officiels et communautaires qui présentent la polyvalence de MCP. Vous pouvez explorer des serveurs pour différentes fonctionnalités, telles que les opérations de système de fichiers, les interactions de base de données et les services web.
MCP est encore une norme relativement nouvelle et l’écosystème évolue rapidement. À mesure que d’autres développeurs adoptent MCP, vous pouvez vous attendre à voir un nombre croissant de serveurs et d’outils disponibles pour l’intégration à vos projets.
Ajout d’un serveur MCP
Créer un fichier pour gérer la configuration des serveurs MCP
Si vous n’avez pas encore de mcp.json
fichier, vous pouvez le créer à différents emplacements en fonction des dépôts, des utilisateurs et des IDE dont vous souhaitez que les serveurs soient disponibles/utilisés.
Emplacements de fichiers pour la découverte automatique de la configuration MCP
Visual Studio recherche également les configurations MCP configurées par d’autres environnements de développement. Les configurations de serveur MCP sont lues à partir des répertoires suivants, dans l’ordre suivant :
-
%USERPROFILE%\.mcp.json
Sert de configuration globale du serveur MCP pour un utilisateur spécifique. L’ajout d’un serveur MCP ici permettrait de charger toutes les solutions Visual Studio. -
<SOLUTIONDIR>\.vs\mcp.json
Spécifique à Visual Studio et charge uniquement les serveurs MCP spécifiés pour un utilisateur spécifique, pour la solution spécifiée. -
<SOLUTIONDIR>\.mcp.json
Fonctionne bien si vous recherchez une configuration MCP que vous pouvez suivre dans le contrôle de code source pour un dépôt. -
<SOLUTIONDIR>\.vscode\mcp.json
Étendue au référentiel/à la solution et généralement non contrôlée par la source. -
<SOLUTIONDIR>\.cursor\mcp.json
Étendue au référentiel/à la solution et généralement non contrôlée par la source.
Certains de ces emplacements nécessitent .mcp.json
, tandis que d’autres nécessitent mcp.json
.
Format de configuration MCP
Vous pouvez définir des serveurs distants (URL et informations d’identification) et locaux (appel de ligne de commande).
Il est courant d’appeler des outils via des gestionnaires de package. Par exemple, npx -y @azure/mcp@latest
ou docker run ... mcp/github
. Visual Studio respecte la commande que vous spécifiez, ce qui vous permet d’épingler des versions ou de transmettre des indicateurs selon les besoins.
Le format doit suivre la spécification MCP, par exemple, un tableau d’objets serveur, chacun avec name
, command
ou url
, transport
etc.
Modification de la configuration MCP
Avec un fichier existant mcp.json
, ajoutez l’emplacement du fichier aux éléments de solution dans l’Explorateur de solutions, si vous vérifiez le fichier dans votre système de contrôle de version.
Lorsque le fichier est enregistré avec une syntaxe valide, l’agent de GitHub Copilot redémarre et recharge les serveurs configurés.
Cycle de vie des outils
Dès qu’un serveur est découvert ou ajouté :
- Visual Studio initialise le serveur (effectue un échange d'informations et interroge la liste des outils).
- Visual Studio s’abonne à l’événement
notifications/tools/list_changed
MCP. - Lorsque cet événement se déclenche, Visual Studio réinitialise toutes les acceptations ou autorisations antérieures sur les outils (pour empêcher les attaques par surprise), récupère à nouveau la liste des outils et met à jour le nombre/interface utilisateur en temps réel.
- Une fois le serveur activé, les outils sont mis à la disposition de l’agent. Les outils sont désactivés par défaut et doivent être activés manuellement.
- Si un serveur est supprimé, Visual Studio tue immédiatement son processus et retire tous ses outils de l’interface utilisateur.
- Si vous modifiez une définition de serveur, Visual Studio l’arrête et le relance, puis re-interroge.
Gérer les approbations des outils
Lorsqu’un outil est appelé, Copilot demande la confirmation d’exécuter l’outil. Cela est dû au fait que les outils peuvent s’exécuter localement sur votre ordinateur et effectuer des actions qui modifient des fichiers ou des données.
Dans le volet de conversation, après un appel d’outil, utilisez les options de liste déroulante Autoriser pour confirmer automatiquement l’outil spécifique pour la session, la solution ou tous les appels futurs.
Vous pouvez réinitialiser les sélections de confirmation de l’outil dans Outils>Options>GitHub>Copilot>Tools.
Questions fréquentes
En tant qu’administrateur, comment contrôler l’utilisation des serveurs MCP en mode agent pour les utilisateurs de Visual Studio ?
Le mode agent et l’utilisation de MCP dans Visual Studio sont régis par l’indicateur des fonctionnalités d’aperçu de l’éditeur dans le tableau de bord GitHub Copilot pour les administrateurs. Si l’administrateur désactive ce paramètre, les utilisateurs sous cet abonnement ne pourront pas utiliser le mode agent ou se connecter aux serveurs MCP dans Visual Studio.
Pour plus d’informations, consultez la gestion des stratégies et des fonctionnalités pour copilote dans votre entreprise.