Condividi tramite


Distribuire un server MCP di Azure ospitato autonomamente e remoto e connettersi a Microsoft Foundry

Distribuire Azure MCP Server come server remoto auto-ospitato tramite HTTPS. Gli agenti in Microsoft Foundry e Microsoft Copilot Studio possono connettersi e chiamare in modo sicuro gli strumenti MCP usando il server MCP Azure distribuito per eseguire operazioni Azure. Questo articolo è incentrato sullo scenario di connessione a Microsoft Foundry.

Prerequisiti

Azure modello server MCP

Usare il modello Azure SERVER MCP - ACA con identità gestitaazd per distribuire Azure server MCP in Azure Container Apps con strumenti di archiviazione e un'identità gestita per l'accesso sicuro a Azure Storage. L'interfaccia della riga di comando Azure Developer (azd) è uno strumento open source che semplifica il provisioning e la distribuzione di risorse Azure e offre comandi concisi (azd deploy, azd provision) che eseguono il mapping alle fasi principali del flusso di lavoro di sviluppo.

Distribuire il server MCP Azure

Distribuire il server MCP Azure su Azure Container Apps:

  1. Clonare e inizializzare il azmcp-foundry-aca-mi modello con il azd init comando .

    azd init -t azmcp-foundry-aca-mi
    

    Quando richiesto, immettere un nome di ambiente.

  2. Eseguire il modello con il azd up comando .

    azd up
    

    azd richiede quanto segue:

    • Sottoscrizione: selezionare la sottoscrizione per le risorse di cui è stato effettuato il provisioning (elencate di seguito).
    • ID risorsa del progetto: ID risorsa Azure del progetto Microsoft Foundry usato per l'integrazione dell'agente.
    • ID della risorsa dell'account di archiviazione: L'ID risorsa di Azure dell'account di archiviazione a cui accede il server MCP.
    • Gruppo di risorse: creare o selezionare un gruppo di risorse per archiviare le risorse di provisioning.

azd usa i file modello per effettuare il provisioning delle risorse e delle configurazioni seguenti:

  • Azure Container App: esegue il server MCP di Azure e fornisce il namespace di archiviazione.
  • Assegnazioni di ruolo di Microsoft Entra ID: Assegna ruoli all'identità gestita di Azure Container Apps per autenticarsi all'account di archiviazione specificato con l'ID risorsa di archiviazione:
    • Lettore: accesso in sola lettura alle proprietà dell'account di archiviazione.
    • Lettore di dati BLOB di archiviazione: accesso in sola lettura ai dati BLOB.
  • Registrazione dell'app Entra: fornisce l'autenticazione OAuth 2.0 a client come agenti che hanno un Mcp.Tools.ReadWrite.All ruolo specifico. Il modello assegna questo ruolo all'identità gestita del progetto Microsoft Foundry specificato.
  • Application Insights: fornisce dati di telemetria e monitoraggio.

Output della distribuzione

  1. Al termine della distribuzione, recuperare le variabili di ambiente per il azd progetto usando il azd env get-values comando .

    azd env get-values
    

    Output di esempio:

    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. Copiare i CONTAINER_APP_URL valori e ENTRA_APP_CLIENT_ID da usare nella sezione successiva oppure lasciare aperto il terminale per riferimento.

Usare il server MCP Azure dell'agente Foundry

Dopo la distribuzione, connettere l'agente Foundry al server MCP Azure in esecuzione in Azure Container Apps. L'agente esegue l'autenticazione usando l'identità gestita per ottenere l'accesso agli strumenti di Azure Storage configurati.

  1. Passare al progetto Foundry all'indirizzo https://ai.azure.com/nextgen.

  2. Selezionare Compila → Crea agente.

  3. Selezionare + Aggiungi nella sezione strumenti.

  4. Selezionare la scheda Personalizzato.

  5. Selezionare Model Context Protocol (Protocollo contesto modello), quindi selezionare Create (Crea).

    Screenshot della pagina Crea agente con Model Context Protocol selezionato per creare una connessione MCP.

    Screenshot del modulo di connessione con i campi per l'endpoint server MCP remoto, l'autenticazione, il gruppo di destinatari e il pulsante Connetti per configurare una connessione MCP.

  6. Configurare i valori di connessione MCP:

    • Nome: specificare un nome per lo strumento.
    • Server MCP remoto: immettere il CONTAINER_APP_URL valore dell'output per l'endpoint azd dello strumento.
    • Authentication: selezionare Microsoft Entra → Project Managed Identity.
    • Tipo: selezionare Identità gestita del progetto.
    • Destinatari: Inserisci il valore ENTRA_APP_IDENTIFIER_URI dall'output azd.

    Selezionare Connetti per associare la connessione all'agente.

L'agente è pronto per aiutarti. Risponde alle domande e usa strumenti del server MCP Azure per eseguire operazioni Azure.

Pulire le risorse

Eseguire azd down per eliminare le risorse di Azure.

azd down

Esplorare i moduli Bicep

Il modello azd include i seguenti moduli Bicep:

  • main.bicep orchestra la distribuzione di tutte le risorse.
  • aca-infrastructure.bicep distribuisce l'app contenitore che ospita Azure server MCP.
  • aca-role-assignment-resource-storage.bicep assegna i ruoli RBAC di Azure Storage all'identità gestita dell'applicazione container nell'account di archiviazione indicato dall'ID risorsa di input.
  • entra-app.bicep crea una registrazione dell'app Entra e un ruolo app personalizzato per l'autenticazione OAuth 2.0.
  • aif-role-assignment-entraapp.bicep assegna il ruolo dell'app Entra all'identità gestita del progetto Foundry (specificata dall'ID risorsa Foundry di input) per l'accesso al server MCP Azure.
  • application-insights.bicep distribuisce Application Insights per la telemetria e il monitoraggio quando abilitato.