Partilhar via


Conectar o agente de codificação do GitHub Copilot ao Servidor MCP do Azure

Este artigo mostra como configurar e conectar o agente de codificação do GitHub Copilot ao Servidor MCP do Azure para que o agente de codificação possa entender seus arquivos específicos do Azure e os recursos do Azure para fazer edições em seus arquivos de código.

No repositório do GitHub, atribuir problemas do GitHub ao agente de codificação do GitHub Copilot cria uma solicitação pull com as alterações no seu código. Se as alterações solicitadas exigirem acesso aos seus recursos do Azure, o agente de codificação do GitHub Copilot precisará usar o Servidor MCP do Azure. Antes que o agente de codificação do GitHub Copilot possa usar o Servidor MCP do Azure para fazer alterações em seu projeto baseado no Azure de forma agente, você precisa configurar o agente de codificação do GitHub Copilot e dar-lhe as permissões adequadas no Azure. Você pode configurar tudo manualmente, no entanto, muitas etapas são automatizadas usando azd, a CLI do Azure Developer e a coding-agent extensão.

Pré-requisitos

  • Uma conta do Azure e acesso a uma assinatura do Azure. Para obter detalhes sobre como configurá-los, consulte a página de preços para contas do Azure.

  • Uma conta do GitHub e uma assinatura do GitHub Copilot. Para obter detalhes sobre como configurá-los, consulte Criando uma conta no GitHub e Guia de início rápido para o GitHub Copilot, respectivamente.

  • Um clone local existente de um repositório GitHub. Como este artigo descreve como configurar a conexão entre o agente de codificação do GitHub Copilot para o Servidor MCP do Azure, o repositório do GitHub deve incluir scripts de implantação para o Azure, como modelos Bicep ou Terraform.

Configurar o repositório GitHub para usar o Servidor MCP do Azure

A azd extensão do agente de codificação simplifica as etapas necessárias para configurar com segurança a conexão entre o agente de codificação do GitHub Copilot e o Servidor MCP do Azure para sua assinatura do Azure. Primeiro, ele cria uma conta em sua assinatura do Azure e atribui a ela uma função com as permissões necessárias. Em segundo lugar, ele fornece um trecho JSON necessário para introduzir o Servidor MCP do Azure ao agente de codificação do GitHub Copilot.

  1. Se ainda não tiver azd instalado, siga as instruções para instalá-lo.

  2. No terminal, navegue até o clone local do repositório com o qual deseja trabalhar.

  3. Invoque a extensão do agente de codificação azd com o comando: azd coding-agent config.

  4. Durante a instalação, ser-lhe-á pedido que selecione:

    • Subscrição do Azure
    • Qual repositório do GitHub usará o agente Copilot Coding
    • Se você deseja criar uma identidade gerenciada pelo usuário nova ou existente
    • Uma localização do Azure
    • Um grupo de recursos do Azure
    • O repositório do GitHub onde uma nova ramificação será criada contendo o arquivo de configuração do fluxo de trabalho GitHub Actions gerado

    Ao selecionar o local e o grupo de recursos, convém usar o mesmo local de destino e o mesmo grupo de recursos que os recursos do Azure no aplicativo.

  5. Após alguns momentos, a extensão do azd agente de codificação cria (ou usa a identidade gerenciada pelo usuário existente) e atribui uma função, armazena valores de identidade no ambiente do repositório GitHub e cria e envia por push uma ramificação contendo o arquivo de configuração do fluxo de trabalho GitHub Actions gerado.

  6. Você verá uma mensagem no console:

    (!)
    (!) NOTE: Some tasks must still be completed, manually:
    (!)
    

    Normalmente, existem três tarefas:

    • Mescle a ramificação que contém o arquivo de configuração do fluxo de trabalho GitHub Actions gerado.
    • Configure as funções de identidade gerenciadas do agente de codificação Copilot no portal do Azure. Por padrão, a função "Leitor" é atribuída. No entanto, você pode querer dar-lhe outras permissões com base no que você deseja que o agente de codificação faça de forma autônoma.
    • Visite o link para configurar a Configuração do MCP. Para navegar lá manualmente, no GitHub, vá para Configurações > do Copilot > agente de codificação > MCP Configuration e cole o trecho JSON fornecido. Aqui está um exemplo:
    {
        "mcpServers": {
            "Azure": {
                "type": "local",
                "command": "npx",
                "args": [
                    "-y",
                    "@azure/mcp@latest",
                    "server",
                    "start"
                ],
                "tools": [
                    "*"
                ]
            }
        }
    }
    
  7. Finalmente, você pode permitir que a extensão do azd agente de codificação abra o navegador para que você possa criar a solicitação pull para mesclar a ramificação que contém o arquivo de configuração do fluxo de trabalho GitHub Actions gerado.

Criar um problema no GitHub para iniciar o agente de codificação do GitHub Copilot

Neste ponto, você configurou com êxito o agente de codificação do GitHub Copilot para usar o Servidor MCP do Azure para quaisquer problemas do GitHub atribuídos ao agente de codificação do GitHub Copilot que exijam um entendimento das implantações e recursos do Azure.

Por exemplo, suponha que pretenda aumentar a memória alocada para o PostgreSQL quando implementado no Banco de Dados do Azure para PostgreSQL. Você criaria um problema para modificar seu modelo Bicep para usar a próxima camada de armazenamento disponível e atribuí-lo ao GitHub Copilot.

Observação

A função Identidade Gerenciada pelo Usuário é definida como "Leitor" por padrão, portanto, as alterações solicitadas devem ser para modificar scripts de implantação, como modelos Bicep ou Terraform. Solicitar a modificação direta dos recursos existentes na sua subscrição do Azure não é autorizado devido às permissões do perfil "Leitor".

  1. No GitHub, no repositório que contém seu projeto baseado no Azure onde você habilitou o Servidor MCP do Azure, vá para Problemas.

  2. Selecione o botão "Novo problema". Descreva a alteração que você deseja que o agente de codificação do GitHub Copilot faça nos campos de título e descrição. Selecione o botão "Criar".

    Pegando emprestado do exemplo anterior, você pode usar o texto a seguir para descrever seu problema.

    Title: Increase database storage
    
    Currently, when deploying to Azure via Bicep, we're creating a PostgreSQL database with 32gb of storage. I need the next tier higher -- whatever that is.
    

    Este problema de exemplo faz uma solicitação simples e clara, mesmo que o usuário não saiba exatamente o que está pedindo. Ele permite que o Servidor MCP do Azure realize análises sobre os níveis de armazenamento disponíveis para o Azure Database for PostgreSQL - Servidor Flexível, e sobre a configuração necessária no modelo Bicep para efetuar essa alteração.

    Importante

    Certifique-se de usar a palavra "Azure" em seu prompt para garantir que o GitHub Copilot solicite ferramentas do Servidor MCP do Azure.

  3. Selecione o botão "Atribuir ao Copilot" em Cessionários. A caixa de diálogo "Atribuir Copilot ao problema" é exibida, permitindo que você modifique o repositório de destino, a ramificação base e adicione um prompt opcional. Selecione o botão "Atribuir".

  4. Depois que o problema for atribuído ao agente de codificação do GitHub Copilot, você verá um link para a solicitação pull prefixada com "[WIP]" informando que o trabalho está começando.

  5. Selecione o link "[WIP]" para visualizar a solicitação pull.

  6. No corpo da solicitação pull, selecione o link para exibir a sessão de codificação. Isso mostra o progresso que o agente de codificação Copilot está fazendo na solicitação, semelhante à experiência no Visual Studio.

  7. Quando terminar, o agente de codificação do GitHub Copilot solicita uma revisão de código. Use seu fluxo de trabalho normal para iterar com o GitHub, tratando o agente de codificação do GitHub Copilot como um colega de trabalho.

  8. Quando você aprova as alterações e mescla a solicitação pull, o GitHub Copilot resolve o problema original que você criou.