Remarque
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.
Note
Ce document fait référence à la version classique de l’API agents.
Vous pouvez étendre les fonctionnalités de votre agent Foundry en la connectant à des outils hébergés sur des serveurs MCP (Remote Model Context Protocol) (apportez votre propre point de terminaison de serveur MCP). Les développeurs et les organisations gèrent ces serveurs. Les serveurs exposent des outils auxquels les clients compatibles MCP, tels que foundry Agent Service, peuvent y accéder.
MCP est une norme ouverte qui définit la façon dont les applications fournissent des outils et des données contextuelles aux modèles de langage volumineux (LLMs). Il permet une intégration cohérente et évolutive d’outils externes dans des flux de travail de modèle.
Considérations relatives à l’utilisation de services et de serveurs non-Microsoft
Votre utilisation de services non-Microsoft connectés est soumise aux conditions entre vous et le fournisseur de services. Lorsque vous vous connectez à un service non-Microsoft, certaines de vos données (telles que le contenu d’invite) sont transmises au service non-Microsoft, ou votre application peut recevoir des données du service non-Microsoft. Vous êtes responsable de votre utilisation de services et de données non-Microsoft, ainsi que des frais associés à cette utilisation.
Les serveurs MCP distants que vous décidez d’utiliser avec l’outil MCP décrit dans cet article ont été créés par des tiers, et non par Microsoft. Microsoft n’a pas testé ou vérifié ces serveurs. Microsoft n’a aucune responsabilité vis-à-vis de vous ou d’autres en ce qui concerne votre utilisation de serveurs MCP distants.
Nous vous recommandons de passer en revue et de suivre attentivement les serveurs MCP que vous ajoutez au service De l’agent Foundry. Nous vous recommandons également de vous appuyer sur des serveurs hébergés par des fournisseurs de services approuvés eux-mêmes plutôt que des proxys.
L’outil MCP vous permet de transmettre des en-têtes personnalisés, tels que des clés d’authentification ou des schémas, dont un serveur MCP distant peut avoir besoin. Nous vous recommandons de passer en revue toutes les données partagées avec des serveurs MCP distants et de consigner les données à des fins d’audit. Soyez conscient des pratiques non-Microsoft en matière de rétention et d’emplacement des données.
Fonctionnement
Vous devez fournir un serveur MCP distant (un point de terminaison de serveur MCP existant) au service Agent Foundry. Vous pouvez apporter plusieurs serveurs MCP distants en les ajoutant en tant qu’outils. Pour chaque outil, vous devez fournir une valeur unique server_label au sein du même agent et une server_url valeur qui pointe vers le serveur MCP distant. Veillez à examiner attentivement les serveurs MCP que vous ajoutez au service De l’agent Foundry.
L’outil MCP prend en charge les en-têtes personnalisés. Vous pouvez donc vous connecter aux serveurs MCP à l’aide des schémas d’authentification dont ils ont besoin ou en passant d’autres en-têtes requis par les serveurs MCP. Vous ne pouvez spécifier des en-têtes qu'en les incluant dans tool_resources à chaque exécution. De cette façon, vous pouvez placer des clés API, des jetons d’accès OAuth ou d’autres informations d’identification directement dans votre demande.
L’en-tête le plus couramment utilisé est l’en-tête d’autorisation. Les en-têtes que vous passez sont disponibles seulement pour l’exécution en cours et ne sont pas conservés.
Pour plus d’informations sur l’utilisation de MCP, consultez :
- Meilleures pratiques de sécurité sur le site web du protocole de contexte de modèle.
- Comprendre et atténuer les risques de sécurité dans les implémentations MCP dans le blog de la communauté de sécurité Microsoft.
Assistance à l'utilisation
| Prise en charge d’Azure AI Foundry | Kit de développement logiciel (SDK) Python | Kit de développement logiciel (SDK) C# | Kit de développement logiciel (SDK) JavaScript | REST API | Configuration d’agent de base | Configuration d’agent standard |
|---|---|---|---|---|---|---|
| - | ✔️ | - | - | ✔️ | ✔️ | ✔️ |
Configuration
Créez un agent Foundry en suivant les étapes du guide de démarrage rapide.
Recherchez le serveur MCP distant auquel vous souhaitez vous connecter, par exemple le serveur MCP GitHub. Créez ou mettez à jour un agent Foundry avec un
mcpoutil avec les informations suivantes :-
server_url: URL du serveur MCP ; par exemple,https://api.githubcopilot.com/mcp/. -
server_label: identificateur unique de ce serveur MCP à l’agent ; par exemple,github. -
allowed_tools: liste facultative d’outils auxquels cet agent peut accéder et utiliser.
-
Créez une exécution et passez des informations supplémentaires sur l’outil
mcpdanstool_resourcesavec des en-têtes :-
tool_label: Utilisez l’identificateur que vous avez fourni lors de la création de l’agent. -
headers: passez un ensemble d’en-têtes requis par le serveur MCP. -
require_approval: déterminez éventuellement si l’approbation est requise. Les valeurs prises en charge sont les suivantes :-
always: un développeur doit fournir une approbation pour chaque appel. Si vous ne fournissez pas de valeur, il s’agit de la valeur par défaut. -
never: aucune approbation n’est requise. -
{"never":[<tool_name_1>, <tool_name_2>]}: Vous fournissez une liste d’outils qui ne nécessitent pas d’approbation. -
{"always":[<tool_name_1>, <tool_name_2>]}: Vous fournissez une liste d’outils qui nécessitent une approbation.
-
-
Si le modèle tente d’appeler un outil dans votre serveur MCP avec approbation requise, vous obtenez un état d’exécution .
requires_actionDans lerequires_actionchamp, vous pouvez obtenir plus de détails sur l’outil du serveur MCP appelé, les arguments à transmettre etcall_idla valeur. Passez en revue l’outil et les arguments afin que vous puissiez prendre une décision éclairée pour approbation.Envoyez votre approbation à l'agent avec
call_iden définissantapprovesurtrue.
Héberger un serveur MCP local
Le runtime du service agent accepte uniquement un point de terminaison de serveur MCP distant. Si vous souhaitez ajouter des outils à partir d’un serveur MCP local, vous devez l’héberger automatiquement sur Azure Container Apps ou Azure Functions pour obtenir un point de terminaison de serveur MCP distant. Attention aux considérations suivantes lors de la tentative d’héberger des serveurs MCP locaux dans le cloud :
| Configuration du serveur MCP local | Hébergement dans Azure Container Apps | Hébergement dans Azure Functions |
|---|---|---|
| Transport | Points de terminaison HTTP POST/GET requis. | HTTP streamable requis. |
| Modifications du code | Reconstruction du conteneur requise. | Fichiers de configuration spécifiques à Azure Functions requis dans le répertoire racine. |
| Authentification | Implémentation d’authentification personnalisée requise. | Basé sur une clé uniquement. OAuth a besoin de gestion des API. |
| Language | Tout langage qui s’exécute dans des conteneurs Linux (Python, Node.js, .NET, TypeScript, Go). | Python, Node.js, Java, .NET uniquement. |
| Configuration requise pour les conteneurs | Linux (linux/amd64) uniquement. Aucun conteneur privilégié. | Les serveurs conteneurisés ne sont pas pris en charge. |
| Dépendances | Toutes les dépendances doivent être dans l’image du conteneur. | Les dépendances au niveau du système d’exploitation (par exemple, Playwright) ne sont pas prises en charge. |
| State | Apatride uniquement. | Apatride uniquement. |
| UVX/NPX | Pris en charge. | Non pris en charge.
npx commandes de démarrage non prises en charge. |