Připojení agenta kódování GitHub Copilot s Azure MCP Serverem pomocí rozšíření azd

Pomocí rozšíření agenta kódování Azure Developer CLI (azd) (azure.coding-agent) udělte agentovi GitHub Copilotu zabezpečený a vymezený přístup k Azure pomocí spravované identity. Rozšíření vytvoří spravovanou identitu, nakonfiguruje federované přihlašovací údaje a nastaví pracovní postup GitHub Actions ve vašem úložišti.

V přehledu rozšíření se dozvíte, jak rozšíření přidávají možnosti azd.

Požadavky

  • Nainstalujte Azure Developer CLI (azd). Viz pokyny k instalaci.
  • Předplatné Azure, které umožňuje vytvářet skupiny prostředků a spravované identity.
  • Místní klon úložiště GitHub, které povolíte pro Copilot Coding Agent.
  • Oprávnění úložiště pro:
    • Aktualizujte copilot prostředí GitHubu.
    • Nakonfigurujte nastavení agenta Copilot Coding.
    • Změny odeslat do .github/workflows složky.
  • Alespoň jedno nakonfigurované vzdálené úložiště Git pro repozitář (vyžaduje se pro federovaná pověření).

Instalace nebo aktualizace rozšíření pro kódovacího agenta Copilot

  1. První instalace

    azd extension install azure.coding-agent
    

    Upgrade na nejnovější verzi

    azd extension upgrade azure.coding-agent
    
  2. Ověřte, že je nainstalovaná:

    azd extension list --installed
    

    Měl by se zobrazit azure.coding-agent v seznamu.

Použití rozšíření programátorského agenta Copilot

Rozšíření agenta kódování Copilot automatizuje konfiguraci přístupu k Azure prostřednictvím spravované identity pro agenta kódování Copilot. K dokončení instalace je také potřeba provést několik ručních kroků.

Povolení přístupu k Azure

  1. V kořenovém adresáři místního úložiště spusťte následující příkaz:

    azd coding-agent config
    
  2. Postupujte podle pokynů na obrazovce a dokončete pracovní postup rozšíření.

    Během konfigurace, rozšíření:

    • Vytvoří (nebo znovu použije) skupinu prostředků.
    • Vytvoří spravovanou identitu Azure.
    • Přiřadí roli Čtenář této identitě vymezené skupině prostředků.
    • Vytvoří federované přihlašovací údaje propojující úložiště GitHub se spravovanou identitou.
    • Přidá (nebo aktualizuje) copilot-setup-steps.yml pracovní postup a související prostředky.
    • Provede vás dokončením nastavení prostředí GitHubu copilot pro dané prostředí.

Ověření nastavení (volitelné)

  1. Uveďte spravovanou identitu ve vytvořené (nebo aktualizované) skupině prostředků:

    az identity list --resource-group <resource-group-name>
    
  2. Na GitHubu otevřete Nastavení>Prostředí>copilot a potvrďte federovanou položku přihlašovacích údajů odkazující na spravovanou identitu (vystavitel subjektu by měl odrážet GitHub).

Konfigurace Azure MCP Serveru pro agenta kódování Copilot

  1. Rozšíření azd coding agent vytvoří žádost o přijetí změn pro větev s novým souborem pracovního postupu GitHubu na adrese origin/azd-enable-copilot-coding-agent-with-azure. Pokud chcete ve své main větvi použít připojení Azure MCP Serveru, sloučte tento pull request.

    Popis žádosti o přijetí změn a výstupní protokoly rozšíření v konzole zahrnují fragment konfigurace JSON, který můžete použít ke konfiguraci Serveru Azure MCP pro agenta kódování Copilot:

    {
        "mcpServers": {
            "Azure": {
                "type": "local",
                "command": "npx",
                "args": [
                    "-y",
                    "@azure/mcp@latest",
                    "server",
                    "start"
                ],
                "tools": [
                    "*"
                ]
            }
        }
    }
    
  2. Pokud chcete nakonfigurovat Azure MCP Server, přejděte na stránku Nastavení úložiště.

  3. Vyberte Copilot –> kódovací agent v levém navigačním panelu.

  4. Vložte úryvek JSON z pull requestu do konfiguračního pole MCP a vyberte Uložit konfiguraci MCP.

    Snímek obrazovky znázorňující, jak nakonfigurovat Azure MCP Server pro agenta kódování Copilot

Otestování rozšíření kódovacího agenta Copilot

  1. Přejděte do úložiště na GitHubu.

  2. V pravém horním navigačním panelu vyberte ikonu Otevřít agenty .

  3. V rozbalovacím panelu vyberte úložiště a větev, které jste použili pro příkaz azd. Pokud jste sloučili vygenerovaný pull request, mainvyberte main.

  4. Zadejte výzvu, která konkrétně dává agentovi Copilotu pokyn, aby používal nakonfigurovaný Server Azure MCP, například:

    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.
    

    Stisknutím klávesy Enter spusťte výzvu a instruujte agenta kódování Copilot, aby vytvořil a spustil novou úlohu.

    Poznámka:

    Úlohy agenta kódování Copilot můžete spustit také na jiné větvi než main výběrem této větve na informačním panelu.

  5. Výběrem úkolu, který se zobrazí v dolní části panelu, přejděte na stránku podrobností úkolu.

    Snímek obrazovky znázorňující, jak vytvořit novou úlohu pro agenta kódování Copilot

  6. Projděte si výstup a prohlédněte si agenta kódování Copilot:

    • Spusťte Azure MCP Server:

      Snímek obrazovky znázorňující spuštění Serveru Azure MCP

    • Zavolejte různé nástroje ke shromažďování informací o prostředcích Azure:

      Snímek obrazovky znázorňující nástroj skupiny prostředků, který se volá

    • Zobrazte skupinu prostředků v konečném výstupu:

      Snímek obrazovky zobrazující zjištěné skupiny prostředků

Konfigurace oprávnění pro spravovanou identitu

Rozšíření azd coding agent vytvoří spravovanou identitu Azure, kterou Azure MCP Server používá pro přístup k vašim prostředkům. Toto nastavení umožňuje přiřadit spravované identitě různé role, abyste mohli řídit možnosti a oprávnění Azure MCP Serveru.

Ve výchozím nastavení rozšíření přiřadí k oboru skupiny prostředků pouze Reader roli. Pokud agent potřebuje více funkcí, přiřaďte další role nebo rozšiřte rozsah. Podívejte se na předdefinované role.

Pokud chcete například přiřadit Contributor roli v rámci skupiny prostředků:

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

Řešení problémů

V následujících částech jsou uvedeny běžné problémy, ke kterým můžete dojít.

Nejsou nakonfigurovaná žádná vzdálená úložiště Git.

Přidejte vzdálený přístup, aby bylo možné vygenerovat federované přihlašovací údaje:

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

Musí mít oprávnění správce k úložišti.

Konfigurace úložiště GitHub pro agenta kódování vyžaduje práva správce. Bez těchto práv nebudete moct aktualizovat prostředí Copilot tak, aby používalo přihlašovací údaje spravované identity, nebo aktualizovat konfiguraci MCP pro úložiště.

Pokud se zobrazí tato chyba, budete muset zvýšit svá oprávnění.

(!) 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)

Platnost obnovovacího tokenu vypršela.

Znovu se přihlaste:

azd auth login

Přidejte příznaky, jako --tenant-id <tenant-id> nebo --use-device-code podle potřeby.

Vylepšení výstupu diagnostiky

Použít režim ladění:

azd coding-agent config --debug

Všechny interní příkazy a jejich výstup se vytisknou do konzoly.

Další kroky

  • Rozšíření oprávnění identit (pouze podle potřeby) pomocí přiřazení rolí
  • Integrace další automatizace rozšířením pracovního postupu .github/workflows/
  • Prozkoumání dalších možností rozšíření: Přehled rozšíření
  • Přehled konceptů Azure RBAC

Contributing

Pokud chcete přispívat k prostředkům Azure Developer CLI, prohlédněte si průvodce přispíváním. Žádosti o přijetí změn mohou vyžadovat podepsání přispěvatelské licenční smlouvy.

Pravidla chování

Tento projekt se řídí kodexem chování Microsoft Open Source.