GitHub Copilot cloudagent verbinden met de Azure MCP-server

In dit artikel leest u hoe u de GitHub Copilot cloudagent instelt en verbindt met de Azure MCP-server. Door de cloudagent te verbinden met de server, kan de agent inzicht krijgen in uw Azure specifieke bestanden en Azure resources om wijzigingen aan te brengen in uw codebestanden.

Door in uw GitHub-repository GitHub-issues toe te wijzen aan de GitHub Copilot-cloudagent, wordt een pull request gemaakt met de wijzigingen in uw code. Als de aangevraagde wijzigingen toegang nodig hebben tot uw Azure resources, moet de GitHub Copilot cloudagent de Azure MCP-server gebruiken. Voordat de GitHub Copilot cloudagent de Azure MCP-server kan gebruiken om wijzigingen aan te brengen in uw Azure-project, moet u de GitHub Copilot cloudagent configureren en deze de juiste machtigingen geven in Azure. U kunt alles handmatig configureren, maar veel stappen worden geautomatiseerd met behulp van azd en de coding-agent extensie. GitHub gebruikt nu de weergavenaam 'Copilot cloudagent' in de gebruikersinterface, maar de stabiele extensie-id blijft azure.coding-agentbehouden en de CLI-opdracht blijft behoudenazd coding-agent ....

Prerequisites

  • Een Azure-account en toegang tot een Azure-abonnement. Zie de pagina met prijzen voor Azure-accounts voor meer informatie over het instellen ervan.

  • Een GitHub-account en een GitHub Copilot-abonnement. Zie Een account maken op GitHub en quickstart voor GitHub Copilot voor respectievelijk meer informatie over het instellen ervan.

  • Een bestaande lokale kloon van een GitHub-opslagplaats. Aangezien in dit artikel wordt beschreven hoe u de verbinding tussen GitHub Copilot cloudagent en de Azure MCP-server instelt, moet de GitHub opslagplaats implementatiescripts bevatten voor Azure, zoals Bicep- of Terraform-sjablonen.

De GitHub-opslagplaats configureren voor het gebruik van de Azure MCP-server

De azd extensie voor coderingsagent vereenvoudigt de stappen die nodig zijn om de verbinding tussen de GitHub Copilot cloudagent en de Azure MCP-server voor uw Azure-abonnement veilig in te stellen. Eerst maakt het een account in uw Azure-abonnement en wijst het een rol toe met de benodigde machtigingen. Ten tweede biedt het een JSON-fragment dat is vereist om de Azure MCP-server te introduceren bij de GitHub Copilot cloudagent.

  1. Als u deze nog niet hebt azd geïnstalleerd, volgt u de instructies om deze te installeren.

  2. Navigeer in de terminal naar de lokale kloon van de opslagplaats waarmee u wilt werken.

  3. Roep de coding-agent extensie aan voor azd met behulp van de opdracht azd coding-agent config.

  4. Tijdens de installatie wordt u gevraagd het volgende te selecteren:

    • Azure-abonnement
    • GitHub opslagplaats die gebruikmaakt van de Copilot cloudagent
    • Of u nu een nieuwe of bestaande door de gebruiker beheerde identiteit wilt maken
    • Een Azure-locatie
    • Een Azure-resourcegroep
    • De GitHub-opslagplaats waar een nieuwe branch wordt gemaakt die het gegenereerde GitHub Actions-werkstroominstallatiebestand bevat.

    Wanneer u de locatie en resourcegroep selecteert, wilt u mogelijk dezelfde doellocatie en resourcegroep gebruiken als de Azure-resources in de toepassing.

  5. Na enkele ogenblikken maakt de extensie voor coding-agent in azd een door de gebruiker toegewezen beheerde identiteit aan (of gebruikt een bestaande), wijst deze een rol toe, slaat identiteitswaarden op in de repositoryomgeving in GitHub en maakt en pusht een vertakking die het gegenereerde installatiebestand voor de GitHub Actions-workflow bevat.

  6. U ziet een bericht in de console:

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

    Meestal zijn er drie taken:

    • Voeg de branch samen die het gegenereerde configuratiebestand voor de GitHub Actions-werkstroom bevat.
    • Configureer de rollen van de beheerde identiteit van de Copilot-cloudagent in de Azure-portal. Standaard wordt de rol "Reader" toegewezen. Het is echter mogelijk dat u het andere machtigingen wilt geven op basis van wat u wilt dat de cloudagent autonoom doet.
    • Ga naar de koppeling om de MCP-configuratie in te stellen. Als u daar handmatig wilt gaan, gaat u in GitHub naar Instellingen>Copilot Cloud-agent>>MCP-configuratie en plakt u het opgegeven JSON-fragment. Hier is een voorbeeld:
    {
        "mcpServers": {
            "Azure": {
                "type": "local",
                "command": "npx",
                "args": [
                    "-y",
                    "@azure/mcp@latest",
                    "server",
                    "start"
                ],
                "tools": [
                    "*"
                ]
            }
        }
    }
    
  7. Ten slotte kunt u de extensie coding-agent toestaan om azd te openen, zodat u de pull request kunt maken om de branch samen te voegen die het gegenereerde installatiebestand voor de GitHub Actions-workflow bevat.

Een probleem maken in GitHub om GitHub Copilot cloudagent te starten

Op dit moment hebt u GitHub Copilot cloudagent ingesteld voor het gebruik van de Azure MCP-server voor eventuele GitHub problemen die u toewijst aan GitHub Copilot cloudagent die inzicht nodig heeft in Azure implementaties en resources.

Stel dat u het geheugen wilt verhogen dat is toegewezen aan PostgreSQL wanneer dit wordt geïmplementeerd in Azure Database for PostgreSQL. U zou een issue aanmaken om uw Bicep-sjabloon te wijzigen zodat de volgende beschikbare opslaglaag wordt gebruikt en het toe te wijzen aan GitHub Copilot.

Note

De rol Door gebruiker beheerde identiteit is standaard ingesteld op Lezer, dus de wijzigingen die u aanvraagt, moeten zijn om implementatiescripts, zoals Bicep- of Terraform-sjablonen, te wijzigen. Het vragen om bestaande resources in uw Azure-abonnement rechtstreeks te wijzigen, is niet geautoriseerd vanwege de machtigingen van de rol Lezer.

  1. Ga in GitHub in de opslagplaats met uw Azure-project waarin u de Azure MCP-server hebt ingeschakeld, naar Problemen.

  2. Selecteer de knop Nieuw probleem . Beschrijf de wijziging die u door de GitHub Copilot-cloudagent wilt laten aanbrengen in de titel- en beschrijvingsvelden. Selecteer de knop Create.

    U kunt, afgeleid van het eerdere voorbeeld, de volgende tekst gebruiken om uw probleem te beschrijven.

    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.
    

    Dit voorbeeldprobleem maakt een eenvoudige, duidelijke aanvraag, zelfs als de gebruiker niet precies weet wat ze vragen. Hiermee kan de Azure MCP-server onderzoek doen naar beschikbare opslaglagen voor Azure Database for PostgreSQL Flexibele server en de instelling in de Bicep-sjabloon die nodig is om deze wijziging aan te brengen.

    Important

    Zorg ervoor dat u het woord 'Azure' in uw prompt gebruikt om ervoor te zorgen dat GitHub Copilot hulpprogramma's aanvraagt van de Azure MCP-server.

  3. Selecteer de knop Toewijzen aan Copilot onder Toegewezen personen. Het dialoogvenster "Copilot toewijzen aan issue" wordt weergegeven, zodat u de doelopslagplaats en de basisbranch kunt wijzigen, en een optionele prompt kunt toevoegen. Selecteer de knop Toewijzen.

  4. Zodra het probleem is toegewezen aan GitHub Copilot cloudagent, ziet u een koppeling naar de pull-aanvraag met het voorvoegsel [WIP], zodat u weet dat het werk wordt gestart.

  5. Selecteer de koppeling [WIP] om de pull-aanvraag weer te geven.

  6. Selecteer in de hoofdtekst van de pull-aanvraag de koppeling om de coderingssessie weer te geven. Hier ziet u de voortgang die de Copilot cloudagent doet op de aanvraag, vergelijkbaar met de ervaring in Visual Studio.

  7. Wanneer u klaar bent, vraagt GitHub Copilot cloudagent een codebeoordeling aan. Gebruik je normale werkstroom om met GitHub te itereren en de GitHub Copilot-cloudagent als collega te beschouwen.

  8. Wanneer u de wijzigingen goedkeurt en de pull-aanvraag samenvoegt, lost GitHub Copilot het oorspronkelijke probleem op dat u hebt gemaakt.