Connecter GitHub Copilot agent cloud au serveur MCP Azure

Cet article explique comment configurer et connecter l’agent cloud GitHub Copilot au serveur MCP Azure. En connectant l’agent cloud au serveur, l’agent peut comprendre vos fichiers spécifiques Azure et Azure ressources pour apporter des modifications à vos fichiers de code.

Dans votre dépôt GitHub, attribuer des tickets GitHub à l’agent cloud GitHub Copilot crée une pull request contenant les modifications apportées à votre code. Si les modifications demandées nécessitent l’accès à vos ressources Azure, l’agent cloud GitHub Copilot doit utiliser le serveur MCP Azure. Avant que l’agent cloud GitHub Copilot puisse utiliser le serveur MCP Azure pour apporter des modifications à votre projet basé sur Azure, vous devez configurer l’agent cloud GitHub Copilot et lui donner les autorisations appropriées dans Azure. Vous pouvez configurer manuellement tout, mais de nombreuses étapes sont automatisées à l’aide azd et à l’extension coding-agent . GitHub utilise désormais le nom d’affichage « Copilot agent cloud » dans l’interface utilisateur, mais l’identificateur d’extension stable reste azure.coding-agent, et la commande CLI reste azd coding-agent ....

Prerequisites

  • Un compte Azure et un accès à un abonnement Azure. Pour plus d’informations sur la façon de les configurer, consultez la page de tarification des comptes Azure.

  • Un compte GitHub et un abonnement GitHub Copilot. Pour plus d’informations sur la façon de les configurer, consultez Création d’un compte sur GitHub et Démarrage rapide pour GitHub Copilot, respectivement.

  • Clone local existant d’un dépôt GitHub. Dans la mesure où cet article explique comment configurer la connexion entre GitHub Copilot agent cloud et le serveur MCP Azure, le référentiel GitHub doit inclure des scripts de déploiement pour Azure, comme Bicep ou les modèles Terraform.

Configurer le référentiel GitHub pour utiliser le serveur Azure MCP

L’extension azd de codage-agent simplifie les étapes requises pour configurer en toute sécurité la connexion entre l’agent cloud GitHub Copilot et le serveur MCP Azure pour votre abonnement Azure. Tout d’abord, il crée un compte dans votre abonnement Azure et lui attribue un rôle avec les autorisations nécessaires. Ensuite, il fournit un extrait de code JSON requis pour introduire le serveur MCP Azure à l’agent cloud GitHub Copilot.

  1. Si vous n’avez azd pas encore installé, suivez les instructions pour l’installer.

  2. Dans le terminal, accédez au clone local du référentiel avec lequel vous souhaitez travailler.

  3. Appelez l’extension coding-agent pour azd à l’aide de la commande azd coding-agent config.

  4. Pendant l’installation, vous êtes invité à sélectionner votre :

    • Abonnement Azure
    • référentiel GitHub qui utilise l’agent cloud Copilot
    • Que vous souhaitiez créer une identité managée utilisateur nouvelle ou existante
    • Un emplacement Azure
    • Un groupe de ressources Azure
    • Dépôt GitHub dans lequel une nouvelle branche sera créée contenant le fichier de configuration du flux de travail GitHub Actions généré

    Lorsque vous sélectionnez l’emplacement et le groupe de ressources, vous pouvez utiliser le même emplacement cible et le même groupe de ressources que les ressources Azure dans l’application.

  5. Après quelques instants, l’extension coding-agent pour azd crée (ou utilise, si elle existe déjà) l’identité managée affectée par l’utilisateur, lui attribue un rôle, stocke les valeurs d’identité dans l’environnement du dépôt GitHub, puis crée et pousse une branche contenant le fichier de configuration du workflow GitHub Actions généré.

  6. Un message s’affiche dans la console :

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

    En général, il existe trois tâches :

    • Fusionnez la branche contenant le fichier de configuration du flux de travail GitHub Actions généré.
    • Configurez les rôles de l’identité managée de l’agent cloud Copilot dans le portail Azure. Par défaut, le rôle « Lecteur » est attribué. Toutefois, vous souhaiterez peut-être lui accorder d’autres autorisations en fonction de ce que vous souhaitez que l’agent cloud fasse de manière autonome.
    • Visitez le lien pour configurer la configuration MCP. Pour y accéder manuellement, dans GitHub accédez à Paramètres>Copilot> ConfigurationMCP> et collez l’extrait de code JSON fourni. Prenons un exemple :
    {
        "mcpServers": {
            "Azure": {
                "type": "local",
                "command": "npx",
                "args": [
                    "-y",
                    "@azure/mcp@latest",
                    "server",
                    "start"
                ],
                "tools": [
                    "*"
                ]
            }
        }
    }
    
  7. Enfin, vous pouvez autoriser l’extension coding-agent pour azd à ouvrir le navigateur afin de créer la pull request pour fusionner la branche contenant le fichier de configuration du workflow GitHub Actions généré.

Créer un problème dans GitHub pour lancer GitHub Copilot agent cloud

À ce stade, vous configurez correctement GitHub Copilot agent cloud pour utiliser le serveur MCP Azure pour tout problème GitHub que vous affectez à GitHub Copilot agent cloud qui nécessite une compréhension des déploiements et des ressources Azure.

Par exemple, supposons que vous souhaitez augmenter la mémoire allouée à PostgreSQL lors du déploiement sur Azure Database pour PostgreSQL. Vous créez un problème pour modifier votre modèle Bicep pour utiliser le niveau de stockage suivant disponible et l’affecter à GitHub Copilot.

Note

Le rôle d'identité gérée utilisateur est par défaut défini sur « Lecteur », par conséquent, vous devez demander des modifications pour modifier les scripts de déploiement tels que les modèles Bicep ou Terraform. Le fait de demander directement de modifier les ressources existantes dans votre abonnement Azure n’est pas autorisé en raison des autorisations du rôle « Lecteur ».

  1. Dans GitHub, dans le référentiel contenant votre projet Azure où vous avez activé le serveur Azure MCP, accédez aux problèmes.

  2. Sélectionnez le bouton Nouveau problème . Décrivez la modification que vous souhaitez GitHub Copilot agent cloud à effectuer dans les champs de titre et de description. Cliquez sur le bouton Créer.

    L’emprunt de l’exemple précédent vous permet d’utiliser le texte suivant pour décrire votre problème.

    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.
    

    Cet exemple de problème rend une demande simple et claire, même si l’utilisateur ne sait pas exactement ce qu’il demande. Il permet au serveur MCP d’Azure de rechercher les niveaux de stockage disponibles pour Azure Database pour PostgreSQL - Serveur flexible ainsi que le paramètre requis dans le modèle Bicep pour apporter cette modification.

    Important

    Veillez à utiliser le mot « Azure » dans votre invite pour vous assurer que GitHub Copilot demande des outils à partir du serveur Azure MCP.

  3. Sélectionnez le bouton « Affecter à Copilot » sous Assignees. La boîte de dialogue « Affecter Copilot au problème » s’affiche, ce qui vous permet de modifier le référentiel cible, la branche de base et d’ajouter une invite facultative. Cliquez sur le bouton « Affecter ».

  4. Une fois que le ticket est attribué à l’agent cloud de GitHub Copilot, vous voyez un lien vers la pull request précédée de « [WIP] », indiquant que le travail a commencé.

  5. Sélectionnez le lien « [WIP] » pour afficher le pull request.

  6. Dans la description de la pull request, sélectionnez le lien pour afficher la session de codage. Cela montre la progression que l’agent cloud Copilot effectue sur la demande, similaire à l’expérience dans Visual Studio.

  7. Une fois terminé, GitHub Copilot agent cloud demande une révision de code. Utilisez votre flux de travail normal pour itérer avec GitHub, en traitant GitHub Copilot agent cloud en tant que collègue.

  8. Lorsque vous approuvez les modifications et fusionnez le pull request, GitHub Copilot traite le problème d’origine que vous avez créé.