Implantar um servidor MCP Azure remoto auto-hospedado e conectar-se a ele usando o Microsoft Foundry

Implante o servidor MCP Azure como um servidor remoto auto-hospedado por HTTPS. Agentes no Microsoft Foundry e Microsoft Copilot Studio podem se conectar com segurança e chamar ferramentas MCP usando o servidor MCP Azure implantado para executar operações de Azure. Este artigo se concentra no cenário de conexão do Microsoft Foundry.

Pré-requisitos

Azure Modelo de Servidor MCP

Use o modelo Azure MCP Server – ACA com Identidade Gerenciadaazd para implantar Azure servidor MCP para Aplicativos de Contêiner do Azure com ferramentas de armazenamento e uma identidade gerenciada para acesso seguro ao Armazenamento do Azure. A CLI do Desenvolvedor do Azure (azd) é uma ferramenta código aberto que simplifica o provisionamento e a implantação de recursos Azure e oferece comandos concisos (azd deploy, azd provision) que são mapeados para estágios-chave no fluxo de trabalho de desenvolvimento.

Implantar o servidor MCP Azure

Implante o servidor MCP Azure para Aplicativos de Contêiner do Azure:

  1. Clone e inicialize o template azmcp-foundry-aca-mi com o comando azd init.

    azd init -t azmcp-foundry-aca-mi
    

    Quando solicitado, insira um nome de ambiente.

  2. Execute o modelo com o azd up comando.

    azd up
    

    azd solicita o seguinte:

    • Assinatura: selecione a assinatura para os recursos provisionados (listados abaixo).
    • Project resource ID: o ID do recurso do Azure do projeto Microsoft Foundry usado para a integração de agente.
    • Storage Account resource ID: a ID do recurso Azure da conta de armazenamento que o servidor MCP acessa.
    • Grupo de recursos: crie ou selecione um grupo de recursos para armazenar os recursos de provisionamento.

azd usa os arquivos de modelo para provisionar os seguintes recursos e configurações:

  • Azure Container App: executa o servidor Azure MCP e fornece o namespace de armazenamento.
  • Atribuições de funções do Microsoft Entra ID: atribua funções à identidade gerenciada do Aplicativos de Contêiner do Azure para autenticação de saída na conta de armazenamento especificada usando o ID do recurso de armazenamento:
    • Leitor: acesso somente leitura às propriedades da conta de armazenamento.
    • Leitor de Dados de Blob de Armazenamento: acesso somente leitura aos dados de blob.
  • Registro de aplicativo do Entra: fornece autenticação OAuth 2.0 para clientes, como agentes, que possuem a função Mcp.Tools.ReadWrite.All. O modelo atribui essa função à identidade gerenciada do projeto Microsoft Foundry que você especificar.
  • Application Insights: fornece telemetria e monitoramento.

Saída de implantação

  1. Após a conclusão da implantação, recupere as variáveis de ambiente do azd projeto usando o azd env get-values comando.

    azd env get-values
    

    Exemplo de saída:

    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. Copie os valores de CONTAINER_APP_URL e ENTRA_APP_CLIENT_ID para usar na próxima seção, ou deixe o terminal aberto para referência.

Usar o servidor MCP Azure do agente Foundry

Após a implantação, conecte o agente do Foundry ao servidor MCP Azure em execução no Aplicativos de Contêiner do Azure. O agente autentica-se usando sua identidade gerenciada para obter acesso às ferramentas de Armazenamento do Azure configuradas.

  1. Acesse seu projeto do Foundry em https://ai.azure.com/nextgen.

  2. Selecione Compilar → Criar agente.

  3. Selecione + Adicionar na seção ferramentas.

  4. Selecione a guia Personalizada.

  5. Selecione Protocolo de Contexto de Modelo e, em seguida, selecione Criar.

    Captura de tela da página Criar agente com o Protocolo de Contexto de Modelo selecionado para criar uma conexão MCP.

    Captura de tela do formulário de conexão com campos para ponto de extremidade do Servidor MCP Remoto, autenticação, destinatário e botão Conectar para configurar uma conexão MCP.

  6. Configure os valores de conexão do MCP:

    • Nome: forneça um nome para a ferramenta.
    • Servidor MCP Remoto: informe o valor CONTAINER_APP_URL obtido na saída de azd para o ponto de extremidade da ferramenta.
    • Authentication: selecione Microsoft Entra → Project Managed Identity.
    • Tipo: selecione Identidade Gerenciada do Projeto.
    • Público-alvo: informe o valor ENTRA_APP_IDENTIFIER_URI obtido na saída de azd.

    Selecione Conectar para associar a conexão ao agente.

O agente está pronto para ajudá-lo. Ele responde a perguntas e usa ferramentas do servidor MCP Azure para executar operações de Azure para você.

Limpar os recursos

Execute azd down para excluir recursos de Azure.

azd down

Explorar os módulos de Bicep

O modelo azd inclui os seguintes módulos Bicep:

  • main.bicep orquestra a implantação de todos os recursos.
  • aca-infrastructure.bicep implanta o aplicativo de contêiner que hospeda o Azure MCP Server.
  • aca-role-assignment-resource-storage.bicep atribui funções RBAC do Armazenamento do Azure à identidade gerenciada do aplicativo de contêiner na conta de armazenamento definida pelo ID do recurso da conta de armazenamento informado.
  • entra-app.bicep cria um registro de aplicativo Entra e uma função personalizada de aplicativo para autenticação OAuth 2.0.
  • aif-role-assignment-entraapp.bicep atribui a função de aplicativo do Entra à identidade gerenciada do projeto do Foundry (especificada pelo ID do recurso do Foundry informado) para permitir o acesso ao Servidor MCP do Azure.
  • application-insights.bicep implanta o Application Insights para telemetria e monitoramento quando habilitado.