Compartilhar 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 GitHub, atribuir problemas do GitHub ao agente de codificação do GitHub Copilot cria uma solicitação de pull com as alterações no código. Se as alterações solicitadas exigirem acesso aos 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 no seu projeto baseado no Azure agenticamente, você precisa configurar o agente de codificação do GitHub Copilot e conceder a ele as permissões adequadas no Azure. Você pode configurar manualmente tudo, no entanto, muitas etapas são automatizadas usando azda CLI do Desenvolvedor do Azure 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 das contas do Azure.

  • Uma conta do GitHub e uma assinatura do GitHub Copilot. Para obter detalhes sobre como configurá-los, consulte Criar uma conta no GitHub e 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 com o Servidor MCP do Azure, o repositório 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 snippet JSON necessário para introduzir o Servidor MCP do Azure ao agente de codificação do GitHub Copilot.

  1. Se você 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 você 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, você será solicitado a escolher seu:

    • Assinatura do Azure
    • Qual o repositório do GitHub usará o Agente de Codificação Copilot?
    • Se você deseja criar uma identidade gerenciada de usuário nova ou existente
    • Uma localização do Azure
    • Um grupo de recursos do Azure
    • O repositório GitHub em que um novo branch será criado contendo o arquivo de configuração de fluxo de trabalho do GitHub Actions gerado

    Ao selecionar o local e o grupo de recursos, talvez você queira usar o mesmo local de destino e grupo de recursos que os recursos do Azure no aplicativo.

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

  6. Você verá uma mensagem no console:

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

    Normalmente, há três tarefas:

    • Mesclar o branch que contém o arquivo de instalação do fluxo de trabalho do GitHub Actions gerado.
    • Configure as funções de identidade gerenciada do agente de codificação Copilot no portal do Azure. Por padrão, a função "Reader" é atribuída. No entanto, talvez você queira conceder a ele 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 manualmente até lá, no GitHub, vá para Configurações > Copilot > Coding Agent > MCP Configuration e cole o snippet JSON fornecido. Veja um exemplo:
    {
        "mcpServers": {
            "Azure": {
                "type": "local",
                "command": "npx",
                "args": [
                    "-y",
                    "@azure/mcp@latest",
                    "server",
                    "start"
                ],
                "tools": [
                    "*"
                ]
            }
        }
    }
    
  7. Por fim, você pode permitir que a extensão do azd agente de codificação abra o navegador para que você possa criar o pull request para integrar o branch que contém o arquivo de configuração do fluxo de trabalho do 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 que você atribuir ao agente de codificação do GitHub Copilot que exijam uma compreensão das implantações e recursos do Azure.

Por exemplo, suponha que você queira aumentar a memória alocada ao PostgreSQL quando implantado no Banco de Dados do Azure para PostgreSQL. Você criaria um problema para modificar o 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 do 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 em sua assinatura do Azure não está autorizado devido às permissões do papel "Leitor".

  1. No GitHub, no repositório que contém seu projeto baseado no Azure em que 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".

    Ao usar o exemplo anteriormente, você pode usar o texto a seguir para descrever o 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 torna uma solicitação simples e clara, mesmo que o usuário não saiba exatamente o que está solicitando. Ele permite que o Servidor MCP do Azure faça pesquisas sobre as camadas de armazenamento disponíveis para o Servidor Flexível do Banco de Dados do Azure para PostgreSQL e a configuração no modelo Bicep necessária para fazer essa alteração.

    Importante

    Use 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 Responsáveis. A caixa de diálogo "Atribuir Copilot ao problema" é exibida, permitindo que você modifique o repositório de destino, o branch 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 de pull prefixada com "[WIP]", informando que o trabalho está sendo iniciado.

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

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

  7. Quando concluído, 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 assistente de programação do GitHub Copilot como um colega de trabalho.

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