Připojení GitHub Copilot cloudového agenta pomocí Azure MCP Serveru pomocí rozšíření azd

Pomocí rozšíření Azure Developer CLI () (azd) (azure.coding-agent) můžete GitHub Copilot cloudovému agentovi poskytnout zabezpečený a vymezený přístup 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 cloudového agenta Copilot.
  • Oprávnění úložiště pro:
    • Aktualizujte copilot prostředí GitHubu.
    • Nakonfigurujte nastavení cloudového agenta Copilot.
    • 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 upgrade rozšíření Copilot cloudového agenta

  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žijte rozšíření cloudového agenta Copilot

Rozšíření Copilot cloudového agenta automatizuje konfiguraci Azure přístupu prostřednictvím spravované identity pro Copilot cloudového agenta. 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 serveru MCP pro cloudového agenta 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 pull requestu a protokoly výstupu rozšíření v konzoli obsahují fragment konfigurace JSON, který můžete použít ke konfiguraci serveru Azure MCP pro cloudového agenta 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. V levém navigačním panelu vyberte agenta Copilot>Cloud.

  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 Copilot cloudového agenta

Otestování rozšíření cloudové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á výslovně dává Copilot cloudovému agentovi pokyn, aby používal Azure MCP Server, který jste nakonfigurovali, 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 Copilot cloudového agenta, aby vytvořil a spustil novou úlohu.

    Poznámka:

    Úlohy cloudového agenta Copilot můžete také spouštět ve větvi jiné než main, když tuto větev vyberete ve výsuvné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 Copilot cloudového agenta

  6. Projděte si výstup a podívejte se na cloudového agenta 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, které řídí možnosti a oprávnění serveru Azure MCP.

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 Copilot cloudového agenta vyžaduje práva správce. Bez těchto práv nemůžete aktualizovat Copilot prostředí tak, aby používalo přihlašovací údaje spravované identity, ani 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.