Connecter GitHub Copilot agent cloud avec Azure MCP Server à l’aide d’extensions azd

Utilisez l’extension AZURE Developer CLI (azd) (azure.coding-agent) pour donner à GitHub Copilot agent cloud un accès sécurisé et étendu Azure avec une identité managée. L’extension crée l’identité managée, configure les informations d’identification fédérées et configure le flux de travail GitHub Actions dans votre référentiel.

Consultez la vue d’ensemble des extensions pour découvrir comment les extensions ajoutent des fonctionnalités à azd.

Prerequisites

  • Installez Azure Developer CLI (azd). Consultez les instructions d’installation.
  • Abonnement Azure qui vous permet de créer des groupes de ressources et des identités managées.
  • Clone local du référentiel GitHub que vous activez pour Copilot agent cloud.
  • Autorisations de référentiel pour :
    • Mettez à jour l’environnement copilot GitHub.
    • Configurez les paramètres de l’agent Copilot dans le cloud.
    • Envoyer (push) les modifications au .github/workflows dossier.
  • Au moins un remote Git configuré pour le dépôt (requis pour les informations d’identification fédérées).

Installer ou mettre à niveau l’extension de l’agent cloud Copilot

  1. Installer pour la première fois

    azd extension install azure.coding-agent
    

    Mettre à niveau vers la dernière version

    azd extension upgrade azure.coding-agent
    
  2. Vérifiez qu’il est installé :

    azd extension list --installed
    

    Vous devriez voir azure.coding-agent dans la liste.

Utiliser l’extension de l’agent cloud Copilot

L’extension de l’agent cloud Copilot automatise la configuration de l’accès Azure via une identité managée pour l’agent cloud Copilot. Vous devez également effectuer quelques étapes manuelles pour effectuer l’installation.

Activer l’accès Azure

  1. À l’intérieur de la racine de votre répertoire de référentiel local, exécutez la commande suivante :

    azd coding-agent config
    
  2. Suivez les instructions à l’écran pour terminer le processus d’extension.

    Lors de la configuration, l’extension :

    • Crée (ou réutilise) un groupe de ressources.
    • Crée une identité managée Azure.
    • Attribue le rôle Lecteur à cette identité qui est limitée au groupe de ressources.
    • Établit des informations d’identification fédérées liant le référentiel GitHub à l’identité managée.
    • Ajoute (ou met à jour) un copilot-setup-steps.yml flux de travail et des ressources associées.
    • Vous guide pour finaliser les paramètres d’environnement GitHub pour l’environnement copilot .

Vérifier la configuration (facultatif)

  1. Répertoriez l’identité managée dans le groupe de ressources créé (ou mis à jour) :

    az identity list --resource-group <resource-group-name>
    
  2. Dans GitHub, ouvrez l’environnementcopilot>> et confirmez l’entrée d’informations d’identification fédérée référençant l’identité managée (l’émetteur de l’objet doit refléter GitHub).

Configurer Azure serveur MCP pour l’agent cloud Copilot

  1. L'extension azd coding-agent crée une pull request pour une branche avec le nouveau fichier de workflow GitHub dans le dépôt à origin/azd-enable-copilot-coding-agent-with-azure. Si vous souhaitez utiliser la connexion du serveur Azure MCP dans votre main branche, fusionnez ce pull request.

    La description de la pull request et les journaux de sortie de l’extension dans la console incluent tous deux un extrait de configuration JSON que vous pouvez utiliser pour configurer Azure MCP Server pour l’agent cloud Copilot :

    {
        "mcpServers": {
            "Azure": {
                "type": "local",
                "command": "npx",
                "args": [
                    "-y",
                    "@azure/mcp@latest",
                    "server",
                    "start"
                ],
                "tools": [
                    "*"
                ]
            }
        }
    }
    
  2. Pour configurer le serveur Azure MCP, accédez à la page Paramètres de votre référentiel.

  3. Sélectionnez Copilot>Cloud agent dans le volet de navigation gauche.

  4. Collez l’extrait de code JSON de la demande de tirage dans la zone de configuration MCP , puis sélectionnez Enregistrer la configuration MCP.

    Capture d’écran montrant comment configurer Azure serveur MCP pour l’agent cloud Copilot.

Tester l’extension de l’agent cloud Copilot

  1. Accédez à votre référentiel dans GitHub.

  2. Sélectionnez l’icône Ouvrir les panneaux agents dans la barre de navigation supérieure droite.

  3. Dans le volet, sélectionnez le référentiel et la branche que vous avez utilisés pour la commande azd. Si vous avez fusionné la pull request générée dans main, sélectionnez main.

  4. Entrez une invite qui indique spécifiquement à l’agent cloud Copilot d’utiliser le serveur MCP Azure que vous avez configuré, par exemple :

    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.
    

    Appuyez sur Entrée pour exécuter l’invite et demander à Copilot agent cloud de créer et d’exécuter une nouvelle tâche.

    Note

    Vous pouvez également exécuter les tâches de l’agent cloud Copilot sur une branche autre que main en sélectionnant cette branche dans le panneau volant.

  5. Sélectionnez la tâche qui s’affiche en bas du panneau pour accéder à la page des détails de la tâche.

    Capture d’écran montrant comment créer une tâche pour Copilot agent cloud.

  6. Parcourez la sortie pour voir l’agent cloud Copilot :

    • Démarrez le serveur Azure MCP :

      Capture d’écran montrant le démarrage du serveur Azure MCP.

    • Appelez différents outils pour collecter des informations sur vos ressources Azure :

      Capture d’écran montrant l’outil de groupe de ressources appelé.

    • Affichez le groupe de ressources dans la sortie finale :

      Capture d’écran montrant les groupes de ressources découverts.

Configurer des autorisations sur l’identité managée

L’extension azd coding-agent crée une identité managée Azure que le serveur Azure MCP utilise pour accéder à vos ressources. Cette configuration vous permet d’attribuer différents rôles à l’identité managée pour contrôler les fonctionnalités et les autorisations de Azure serveur MCP.

Par défaut, l’extension affecte uniquement le Reader rôle à l’étendue du groupe de ressources. Attribuez des rôles supplémentaires ou élargissez l’étendue si l’agent a besoin de plus de fonctionnalités. Consultez les rôles intégrés.

Par exemple, pour affecter le rôle Contributor à l’étendue du groupe de ressources :

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

Résolution des problèmes

Les sections suivantes mettent en évidence les problèmes courants que vous pouvez rencontrer.

Aucune connexion git distante configurée

Ajoutez une télécommande afin que des justificatifs fédérés puissent être générés :

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

Doit disposer de droits d’administrateur sur le référentiel

La configuration d’un référentiel GitHub pour Copilot agent cloud nécessite des droits d’administrateur. Sans ces droits, vous ne pouvez pas mettre à jour l'environnement Copilot pour utiliser les informations d'identification d'identité managée ou mettre à jour la configuration MCP pour le référentiel.

Si vous voyez cette erreur, vous devez augmenter vos droits.

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

Jeton d’actualisation expiré

Reconnectez-vous :

azd auth login

Ajoutez des indicateurs tels que --tenant-id <tenant-id> ou --use-device-code si nécessaire.

Améliorer la sortie de diagnostic

Utilisez le mode débogage :

azd coding-agent config --debug

Toutes les commandes internes et leur sortie s’affichent sur la console.

Étapes suivantes

Contribution

Pour contribuer aux ressources Azure Developer CLI, consultez le guide de contribution. Les requêtes de tirage peuvent nécessiter la signature d’un accord de licence du contributeur.

Code de conduite

Ce projet suit le code de conduite Microsoft Open Source.