Ansluta GitHub Copilot molnagent med Azure MCP Server med azd-tillägg

Använd Azure Developer CLI-tillägget (azd) (azure.coding-agent) för att ge GitHub Copilot cloud-agenten säker och begränsad Azure-åtkomst med en hanterad identitet. Tillägget skapar den hanterade identiteten, konfigurerar federerade autentiseringsuppgifter och konfigurerar GitHub Actions-arbetsflödet på lagringsplatsen.

Se Översikt över tillägg för att lära dig hur tillägg lägger till funktioner i azd.

Förutsättningar

  • Installera Azure Developer CLI (azd). Se installationsinstruktioner.
  • Azure-prenumeration som gör att du kan skapa resursgrupper och hanterade identiteter.
  • Lokal klon av den GitHub lagringsplats som du aktiverar för Copilot molnagent.
  • Lagringsplatsbehörigheter till:
    • Uppdatera GitHub-miljön copilot .
    • Konfigurera Copilot molnagentinställningar.
    • Skicka ändringar till .github/workflows mappen.
  • Minst en konfigurerad Git-fjärranslutning för lagringsplatsen (krävs för federerade autentiseringsuppgifter).

Installera eller uppgradera Copilot molnagenttillägget

  1. Installera för första gången

    azd extension install azure.coding-agent
    

    Uppgradera till den senaste versionen

    azd extension upgrade azure.coding-agent
    
  2. Kontrollera att den är installerad:

    azd extension list --installed
    

    Du bör se azure.coding-agent i listan.

Använda Copilot molnagenttillägget

Tillägget Copilot molnagent automatiserar konfigurationen av Azure åtkomst via en hanterad identitet för Copilot molnagent. Du måste också utföra några manuella steg för att slutföra installationen.

Aktivera Azure-åtkomst

  1. Kör följande kommando i roten i den lokala lagringsplatsens katalog:

    azd coding-agent config
    
  2. Följ anvisningarna på skärmen för att slutföra arbetsflödet för tillägget.

    Under konfigurationen av tillägget:

    • Skapar (eller återanvänder) en resursgrupp.
    • Skapar en hanterad Azure-identitet.
    • Tilldelar rollen Läsare till identiteten som är kopplad till resursgruppen.
    • Upprättar federerade autentiseringsuppgifter som länkar GitHub-lagringsplatsen till den hanterade identiteten.
    • Lägger till (eller uppdaterar) ett copilot-setup-steps.yml arbetsflöde och relaterade tillgångar.
    • Hjälper dig att slutföra GitHub-miljöinställningarna för copilot miljön.

Verifiera konfigurationen (valfritt)

  1. Visa en lista över den hanterade identiteten i den skapade (eller uppdaterade) resursgruppen:

    az identity list --resource-group <resource-group-name>
    
  2. I GitHub öppnar du Inställningar>Miljöer>copilot-miljön, och bekräftar den federerade autentiseringsuppgiftsposten som hänvisar till den hanterade identiteten (utfärdaren bör återspegla GitHub).

Konfigurera Azure MCP-server för Copilot-molnagenten

  1. Tillägget azd coding-agent skapar en pull-begäran för en gren med den nya GitHub-arbetsflödesfilen på origin/azd-enable-copilot-coding-agent-with-azure. Om du vill använda Azure MCP Server-anslutningen i din main gren sammanfogar du den här PR:en.

    Beskrivningen av pull-begäran och utdataloggarna för tillägget i konsolen innehåller båda ett JSON-konfigurationsfragment som du kan använda för att konfigurera Azure MCP Server för Copilot molnagenten:

    {
        "mcpServers": {
            "Azure": {
                "type": "local",
                "command": "npx",
                "args": [
                    "-y",
                    "@azure/mcp@latest",
                    "server",
                    "start"
                ],
                "tools": [
                    "*"
                ]
            }
        }
    }
    
  2. Om du vill konfigurera Azure MCP Server går du till sidan Inställningar på lagringsplatsen.

  3. Välj Copilot>Molnagent i den vänstra navigeringen.

  4. Klistra in JSON-kodfragmentet från PR i MCP-konfigurationsrutan och välj Spara MCP-konfiguration.

    En skärmbild som visar hur du konfigurerar Azure MCP Server för Copilot molnagent.

Testa tillägget för Copilot-molnagenten

  1. Gå till din lagringsplats i GitHub.

  2. Välj ikonen Öppna agentpaneler i det övre högra navigeringsfältet.

  3. I den utfällbara panelen väljer du den lagringsplats och gren som du använde för azd kommandot. Om du sammanfogade den genererade pull-begäran i mainväljer du main.

  4. Ange en uppmaning som specifikt instruerar Copilot molnagent att använda den Azure MCP-server som du har konfigurerat, till exempel:

    Use the Azure MCP Server to list the resource groups in my subscription.
    Do not traverse or analyze the repository at all. Use only the Azure MCP Server.
    

    Tryck på Retur för att köra prompten och instruera Copilot-molnagenten att skapa och köra en ny uppgift.

    Anmärkning

    Du kan också köra uppgifter för Copilot Cloud Agent i en annan gren än main genom att välja den grenen i utfällningspanelen.

  5. Välj den uppgift som visas längst ned i panelen för att gå till sidan med uppgiftsinformation.

    En skärmbild som visar hur du skapar en ny uppgift för Copilot molnagent.

  6. Sök igenom utdata för att se Copilot molnagent:

    • Starta Azure MCP-servern:

      En skärmbild som visar hur Azure MCP Server startar.

    • Anropa olika verktyg för att samla in information om dina Azure-resurser:

      En skärmbild som visar resursgruppsverktyget som anropas.

    • Visa resursgruppen i de slutliga utdata:

      En skärmbild som visar de identifierade resursgrupperna.

Konfigurera behörigheter för den hanterade identiteten

Tillägget azd coding-agent skapar en Hanterad Azure-identitet som Azure MCP-servern använder för att komma åt dina resurser. Med den här konfigurationen kan du tilldela olika roller till den hanterade identiteten för att styra funktionerna och behörigheterna för Azure MCP Server.

Som standard tilldelar tillägget endast Reader rollen till resursgruppens omfång. Tilldela ytterligare roller eller utöka omfånget om agenten behöver fler funktioner. Se de fördefinierade rollerna.

Om du till exempel vill tilldela Contributor rollen i resursgruppens omfång:

az role assignment create --assignee <principal-id-or-client-id> --role Contributor --scope /subscriptions/<subscription-id>/resourceGroups/<resource-group-name>

Felsökning

I följande avsnitt beskrivs vanliga problem som du kan uppleva.

Inga git-fjärranslutningar har konfigurerats

Lägg till en fjärranslutning så att federerade autentiseringsuppgifter kan genereras:

git remote add origin <https://github.com/<your-org>/<your-repo>.git>
git fetch origin

Måste ha administratörsbehörighet till lagringsplatsen

Att konfigurera en GitHub lagringsplats för Copilot molnagent kräver administratörsbehörighet. Utan dessa rättigheter kan du inte uppdatera den Copilot miljön för att använda autentiseringsuppgifter för hanterad identitet eller uppdatera MCP-konfigurationen för lagringsplatsen.

Om du ser det här felet måste du höja dina rättigheter.

(!) An error occurred, see the readme for troubleshooting and prerequisites:
    https://github.com/Azure/azure-dev/blob/main/cli/azd/extensions/azure.coding-agent/README.md
Error: failed to create GitHub environment copilot in repository owner/repository: exit code: 1, stdout: {"message":"Must have admin rights to Repository.","documentation_url":"https://docs.github.com/rest/deployments/environments#create-or-update-an-environment","status":"403"}, stderr: gh: Must have admin rights to Repository. (HTTP 403)

Uppdateringstoken har upphört att gälla

Logga in igen:

azd auth login

Lägg till flaggor som --tenant-id <tenant-id> eller --use-device-code efter behov.

Förbättra diagnostikutdata

Använd felsökningsläge:

azd coding-agent config --debug

Alla interna kommandon och deras utdata skrivs ut till konsolen.

Nästa steg

  • Expandera identitetsbehörigheter (endast efter behov) med hjälp av rolltilldelningar
  • Integrera ytterligare automatisering genom att utöka arbetsflödet i .github/workflows/
  • Utforska andra tilläggsfunktioner: Översikt över tillägg
  • Granska Azure RBAC-begrepp

Contributing

Information om hur du bidrar till AZURE Developer CLI-resurser finns i bidragsguiden. Pull-begäranden kan kräva signering av ett deltagarlicensavtal.

Uppförandekod

Det här projektet följer Microsofts uppförandekod för öppen källkod.