Partager via


Déployer un serveur Azure MCP distant auto-hébergé et se connecter à celui-ci à l’aide de Microsoft Foundry

Déployez le serveur Azure MCP en tant que serveur distant auto-hébergé via HTTPS. Les agents dans Microsoft Foundry et Microsoft Copilot Studio peuvent se connecter en toute sécurité aux outils MCP et appeler des outils MCP à l’aide du serveur Azure MCP déployé pour exécuter des opérations Azure. Cet article se concentre sur le scénario de connexion Microsoft Foundry.

Prerequisites

Modèle de serveur MCP Azure

Utilisez le modèle Azure MCP Server - ACA avec identité managéeazd pour déployer Azure MCP Server avec Azure Container Apps, avec des outils de stockage et une identité managée pour un accès sécurisé au stockage Azure. Azure Developer CLI (azd) est un outil open source qui simplifie l’approvisionnement et le déploiement de ressources Azure et propose des commandes concises (azd deploy, azd provision) qui correspondent aux étapes clés de votre flux de travail de développement.

Déployer le serveur Azure MCP

Déployez le serveur Azure MCP sur Azure Container Apps :

  1. Clonez et initialisez le azmcp-foundry-aca-mi modèle avec la azd init commande.

    azd init -t azmcp-foundry-aca-mi
    

    Lorsque vous y êtes invité, saisissez un nom d’environnement.

  2. Exécutez le modèle avec la azd up commande.

    azd up
    

    azd vous demande les éléments suivants :

    • Abonnement : sélectionnez l’abonnement pour les ressources approvisionnées (répertoriées ci-dessous).
    • ID de ressource de projet : ID de ressource Azure du projet Microsoft Foundry utilisé pour l’intégration de l’agent.
    • ID de ressource du compte de stockage : ID de ressource Azure du compte de stockage auquel le serveur MCP accède.
    • Groupe de ressources : créez ou sélectionnez un groupe de ressources pour stocker les ressources d’approvisionnement.

azd utilise les fichiers de modèle pour provisionner les ressources et configurations suivantes :

  • Azure Container App : exécute le serveur Azure MCP et fournit l’espace de noms de stockage.
  • Attributions de rôles d’ID Microsoft Entra : attribuez des rôles à l’identité managée Azure Container Apps pour l’authentification sortante vers le compte de stockage que vous spécifiez avec l’ID de ressource de stockage :
    • Lecteur : accès en lecture seule aux propriétés du compte de stockage.
    • Lecteur de données de Blob de stockage : accès en lecture seule aux données blob.
  • Inscription de l’application Entra : fournit l’authentification OAuth 2.0 pour des clients tels que des agents ayant le rôle Mcp.Tools.ReadWrite.All. Le modèle attribue ce rôle à l’identité managée du projet Microsoft Foundry que vous spécifiez.
  • Application Insights : fournit des données de télémétrie et de surveillance.

Sortie du déploiement

  1. Une fois le déploiement terminé, récupérez les variables d’environnement du projet à l’aide de la commande azd env get-valuesazd.

    azd env get-values
    

    Exemple de sortie :

    CONTAINER_APP_URL="https://azure-mcp-storage-server.<your-container-app-name>.eastus2.azurecontainerapps.io"
    ENTRA_APP_CLIENT_ID="<your-app-client-id>"
    ENTRA_APP_IDENTIFIER_URI="api://<your-app-client-id>"
    ENTRA_APP_OBJECT_ID="<your-app-object-id>"
    ENTRA_APP_ROLE_ID="<your-app-role-id>"
    ENTRA_APP_SERVICE_PRINCIPAL_ID="<your-app-service-principal-id>"
    
  2. Copiez les valeurs CONTAINER_APP_URL et ENTRA_APP_CLIENT_ID pour les utiliser dans la section suivante, ou laissez le terminal ouvert pour consultation.

Utiliser le serveur Azure MCP à partir de l’agent AI Foundry

Après le déploiement, connectez votre agent AI Foundry au serveur Azure MCP s’exécutant sur Azure Container Apps. L’agent s’authentifie à l’aide de son identité managée pour accéder aux outils de stockage Azure configurés.

  1. Accédez à votre projet Foundry à l’adresse https://ai.azure.com/nextgen.

  2. Sélectionnez Générer → Créer un agent.

  3. Sélectionnez + Ajouter dans la section Outils.

  4. Cliquez sur l’onglet Personnalisée.

  5. Sélectionnez Protocole de contexte de modèle, puis sélectionnez Créer.

    Capture d’écran de la page Créer un agent avec le protocole de contexte de modèle sélectionné pour créer une connexion MCP.

    Capture d’écran du formulaire de connexion avec des champs pour le point de terminaison du serveur MCP distant, l’authentification, l’audience et le bouton Se connecter pour configurer une connexion MCP.

  6. Configurez les valeurs de connexion MCP :

    • Nom : indiquez un nom pour l’outil.
    • Serveur MCP distant : entrez la valeur issue de la sortie pour le point de terminaison de l’outil.
    • Authentification : sélectionnez Microsoft Entra → Project Managed Identity.
    • Type : sélectionnez Identité managée de projet.
    • Audience : entrez la ENTRA_APP_CLIENT_ID valeur de la azd sortie.

    Sélectionnez Se connecter pour associer la connexion à l’agent.

L’agent est prêt à vous aider. Il répond aux questions et utilise des outils du serveur Azure MCP pour effectuer des opérations Azure pour vous.

Nettoyer les ressources

Exécutez azd down pour supprimer des ressources Azure.

azd down

Explorer les modules Bicep

Le azd modèle inclut les modules Bicep suivants :

  • main.bicep orchestre le déploiement de toutes les ressources.
  • aca-infrastructure.bicep déploie l’application conteneur hébergeant le serveur MCP Azure.
  • aca-role-assignment-resource-storage.bicep attribue les rôles RBAC de stockage Azure à l’identité gérée de l'application conteneur sur le compte de stockage spécifié par l’ID de ressource du compte de stockage fourni.
  • entra-app.bicep crée une inscription d’application Entra et un rôle d’application personnalisé pour l’authentification OAuth 2.0.
  • aif-role-assignment-entraapp.bicep attribue le rôle d’application Entra à l’identité managée du projet AI Foundry (spécifiée par l’ID de ressource AI Foundry d’entrée) pour l’accès au serveur MCP Azure.
  • application-insights.bicep déploie Application Insights pour la télémétrie et la surveillance lorsqu’elle est activée.