Dela via


Ansluta GitHub Copilot-kodningsagenten till Azure MCP-servern

Den här artikeln visar hur du konfigurerar och ansluter GitHub Copilot-kodningsagenten till Azure MCP Server så att kodningsagenten kan förstå dina Azure-specifika filer och Azure-resurser för att göra ändringar i dina kodfiler.

När du tilldelar GitHub-problem till GitHub Copilot-kodningsagenten på din GitHub-lagringsplats skapas en pull-begäran med ändringarna i koden. Om de begärda ändringarna kräver åtkomst till dina Azure-resurser måste GitHub Copilot-kodningsagenten använda Azure MCP-servern. Innan GitHub Copilot-kodningsagenten kan använda Azure MCP-servern för att göra ändringar i ditt Azure-baserade projekt agentiskt måste du konfigurera GitHub Copilot-kodningsagenten och ge den rätt behörigheter i Azure. Du kan konfigurera allt manuellt, men många steg automatiseras med hjälp av azd, Azure Developer CLI och coding-agent tillägget.

Förutsättningar

  • Ett Azure-konto och åtkomst till en Azure-prenumeration. Mer information om hur du konfigurerar dem finns på prissidan för Azure-konton.

  • Ett GitHub-konto och en GitHub Copilot-prenumeration. Mer information om hur du konfigurerar dem finns i Skapa ett konto på GitHub respektive Snabbstart för GitHub Copilot.

  • En befintlig lokal klon av en GitHub-lagringsplats. Eftersom den här artikeln beskriver hur du konfigurerar anslutningen mellan GitHub Copilot-kodningsagenten till Azure MCP-servern bör GitHub-lagringsplatsen innehålla distributionsskript till Azure, till exempel Bicep- eller Terraform-mallar.

Konfigurera GitHub-lagringsplatsen så att den använder Azure MCP-servern

Tillägget azd coding-agent förenklar de steg som krävs för att konfigurera anslutningen mellan GitHub Copilot-kodningsagenten och Azure MCP Server för din Azure-prenumeration på ett säkert sätt. Först skapar det ett konto i din Azure-prenumeration och tilldelar det en roll med nödvändiga behörigheter. För det andra innehåller det ett JSON-kodfragment som krävs för att introducera Azure MCP-servern till GitHub Copilot-kodningsagenten.

  1. Om du inte redan har azd installerat följer du anvisningarna för att installera det.

  2. I terminalen navigerar du till den lokala klonen av den lagringsplats som du vill arbeta med.

  3. Anropa azd-kodningsagenttillägget med kommandot : azd coding-agent config.

  4. Under installationen uppmanas du att välja:

    • Azure-prenumeration
    • Vilken GitHub-lagringsplats använder Copilot-kodningsagenten
    • Om du vill skapa en ny eller befintlig användarhanterad identitet
    • En Azure-plats
    • En Azure-resursgrupp
    • GitHub-lagringsplatsen där en ny gren skapas som innehåller den genererade konfigurationsfilen för GitHub Actions-arbetsflödet

    När du väljer plats och resursgrupp kanske du vill använda samma målplats och resursgrupp som Azure-resurserna i programmet.

  5. Efter en liten stund azd skapar kodningsagenttillägget (eller använder den befintliga) användarhanterade identiteten och tilldelar den en roll, lagrar identitetsvärden i GitHub-lagringsplatsens miljö och skapar och push-överför en gren som innehåller den genererade konfigurationsfilen för GitHub Actions-arbetsflödet.

  6. Ett meddelande visas i konsolen:

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

    Vanligtvis finns det tre uppgifter:

    • Sammanfoga grenen som innehåller den genererade konfigurationsfilen för GitHub Actions-arbetsflödet.
    • Konfigurera Copilot-kodningsagentens hanterade identitetsroller i Azure-portalen. Rollen Läsare tilldelas som standard. Men du kanske vill ge den andra behörigheter baserat på vad du vill att kodningsagenten ska göra autonomt.
    • Gå till länken för att konfigurera MCP-konfigurationen. Om du vill navigera dit manuellt går du till Inställningar > Copilot > kodningsagent > MCP-konfiguration och klistrar in det tillhandahållna JSON-fragmentet. Här är ett exempel:
    {
        "mcpServers": {
            "Azure": {
                "type": "local",
                "command": "npx",
                "args": [
                    "-y",
                    "@azure/mcp@latest",
                    "server",
                    "start"
                ],
                "tools": [
                    "*"
                ]
            }
        }
    }
    
  7. Slutligen kan du tillåta azd att kodningsagenttillägget öppnar webbläsaren så att du kan skapa pull-begäran för att sammanfoga grenen som innehåller den genererade konfigurationsfilen för GitHub Actions-arbetsflödet.

Skapa ett problem i GitHub för att initiera GitHub Copilot-kodningsagenten

Nu har du konfigurerat GitHub Copilot-kodningsagenten för att använda Azure MCP-servern för alla GitHub-problem som du tilldelar till GitHub Copilot-kodningsagenten som kräver en förståelse för Azure-distributioner och resurser.

Anta till exempel att du vill öka mängden minne som tilldelas PostgreSQL när det distribueras i Azure Database for PostgreSQL. Du skulle skapa ett problem för att ändra din Bicep-mall för att använda nästa tillgängliga lagringsnivå och tilldela den till GitHub Copilot.

Anmärkning

Rollen Användarhanterad identitet är inställd på "Läsare" som standard, så de ändringar du begär bör vara att ändra distributionsskript som Bicep eller Terraform-mallar. Att be om att ändra befintliga resurser direkt i din Azure-prenumeration är inte auktoriserat på grund av behörigheterna för rollen Läsare.

  1. I GitHub går du till Problem på den lagringsplats som innehåller ditt Azure-baserade projekt där du har aktiverat Azure MCP-servern.

  2. Välj knappen "Nytt problem". Beskriv den ändring som du vill att Kodningsagenten för GitHub Copilot ska göra i rubrik- och beskrivningsfälten. Välj knappen "Skapa".

    När du lånar från exemplet tidigare kan du använda följande text för att beskriva problemet.

    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.
    

    Det här exempelproblemet gör en enkel, tydlig begäran även om användaren inte vet exakt vad de ber om. Det gör att Azure MCP Server kan undersöka tillgängliga lagringsnivåer för Azure Database fo PostgreSQL – flexibel server och inställningen i den Bicep-mall som krävs för att göra ändringen.

    Viktigt!

    Se till att använda ordet "Azure" i din uppmaning för att se till att GitHub Copilot begär verktyg från Azure MCP-servern.

  3. Välj knappen "Tilldela till Copilot" under Tilldelningar. Dialogrutan "Tilldela Copilot till ärende" visas så att du kan ändra måldepot, basgrenen och lägga till en valfri uppmaning. Välj knappen "Tilldela".

  4. När problemet har tilldelats till GitHub Copilot-kodningsagenten ser du en länk till pull-begäran prefixet med "[WIP]" så att du vet att arbetet startar.

  5. Välj länken "[WIP]" för att visa pull-begäran.

  6. I brödtexten i pull-begäran väljer du länken för att visa kodningssessionen. Detta visar förloppet som Copilot Coding-agenten gör på begäran, ungefär som i Visual Studio.

  7. När du är klar begär GitHub Copilot-kodagenten en kodgranskning. Använd ditt normala arbetsflöde för att iterera med GitHub och behandla GitHub Copilot-kodningsagenten som en medarbetare.

  8. När du godkänner ändringarna och sammanfogar pull-begäran löser GitHub Copilot det ursprungliga problemet som du skapade.