Configuration requise
Avant de configurer un serveur MCP pour Agent Copilot cloud, lisez Modèle Context Protocol (MCP) et agent cloud GitHub Copilot pour vous assurer que vous comprenez les concepts relatifs aux serveurs MCP et Agent Copilot cloud.
Présentation
En tant qu’administrateur de référentiel, vous pouvez configurer les serveurs MCP pour les utiliser dans votre référentiel. Pour ce faire, vous devez utiliser une configuration au format JSON qui spécifie les détails des serveurs MCP que vous souhaitez utiliser. Vous entrez la configuration JSON directement dans les paramètres du référentiel sur GitHub.com.
Les administrateurs des organisations et entreprises peuvent également configurer des serveurs MCP comme partie de agents personnalisés, en utilisant le frontmatter YAML. Pour plus d’informations, consultez « Configuration des agents personnalisés ».
Avertissement
Une fois que vous avez configuré un serveur MCP, Copilot vous pourrez utiliser les outils fournis par le serveur de manière autonome et ne demandera pas votre approbation avant de les utiliser.
Remarque
- Agent Copilot cloud prend uniquement en charge les outils fournis par les serveurs MCP. Il ne prend pas en charge les ressources ni les prompts.
- Agent Copilot cloud ne prend actuellement pas en charge les serveurs MCP distants qui tirent parti d’OAuth pour l’authentification et l’autorisation.
Ajout d’une configuration MCP à votre référentiel
Les administrateurs de référentiels peuvent configurer des serveurs MCP en procédant comme suit :
-
Sur GitHub, accédez à la page principale du référentiel.
-
Sous le nom de votre référentiel, cliquez sur Paramètres. Si vous ne voyez pas l’onglet « Paramètres », sélectionnez le menu déroulant , puis cliquez sur Paramètres.

-
Dans la section « Code &automation » de la barre latérale, cliquez sur Copilot****Agent de cloud.
-
Ajoutez votre configuration dans la section Configuration MCP.
Les sections suivantes de cet article expliquent comment écrire la configuration JSON que vous devez insérer ici.
-
Cliquez sur Enregistrer.
Votre configuration sera validée afin de garantir une syntaxe correcte.
-
Si votre serveur MCP nécessite une variable, une clé ou un secret, ajoutez une variable ou un secret à votre Copilot environnement. Seules les variables et les secrets dont les noms sont précédés
COPILOT_MCP_seront disponibles pour votre configuration MCP. Consultez Configuration d’un Copilot environnement pour Agent Copilot cloud.
Écriture d’une configuration JSON pour les serveurs MCP
Vous configurez les serveurs MCP à l’aide d’un format JSON spécial. Le fichier JSON doit contenir un objet mcpServers, où la clé correspond au nom du serveur MCP (par exemple, sentry) et la valeur est un objet contenant la configuration de ce serveur MCP.
{
"mcpServers": {
"MCP SERVER 1": {
"command": "VALUE",
"args": [ VALUES ],
...
},
"MCP SERVER 2": {
"command": "VALUE",
"args": [ VALUES ],
...
},
...
}
}
{
"mcpServers": {
"MCP SERVER 1": {
"command": "VALUE",
"args": [ VALUES ],
...
},
"MCP SERVER 2": {
"command": "VALUE",
"args": [ VALUES ],
...
},
...
}
}
L’objet de configuration peut contenir les clés suivantes :
**Clés requises pour les serveurs MCP locaux et distants**
*
tools (string[]) : les outils du serveur MCP à activer. Vous trouverez peut-être une liste d’outils dans la documentation du serveur ou dans son code. Nous vous recommandons vivement d’ajouter à la liste d’autorisation certains outils en lecture seule, car l’agent sera en mesure d’utiliser ces outils de manière autonome et ne vous demandera pas d’approbation préalable. Vous pouvez également activer tous les outils en incluant * dans le tableau.
*
type (string) : Agent Copilot cloud accepte "local", "stdio", "http"ou "sse".
**Clés locales spécifiques de MCP**
*
command (string) : requis. La commande à exécuter pour démarrer le serveur MCP.
*
args (string[]) : requis. Les arguments à transmettre à la command.
*
env (object) : facultatif. Les variables d’environnement à transmettre au serveur. Cet objet doit mapper le nom de la variable d’environnement qui doit être exposée à votre serveur MCP à l’un des éléments suivants :
-
Référence de substitution à un secret ou à une variable dans votre Copilot environnement, par exemple
$COPILOT_MCP_API_KEYou${COPILOT_MCP_API_KEY}. Les noms référencés doivent commencer parCOPILOT_MCP_. -
Une chaîne de caractères littérale.
**Clés distantes spécifiques de MCP** -
`url` (`string`) : requis. L’URL du serveur MCP. -
`headers` (`object`) : facultatif. Les en-têtes à joindre aux requêtes adressées au serveur. Cet objet doit mapper le nom des clés d’en-tête à l’un des éléments suivants :- Une référence de substitution à un secret ou une variable dans votre Copilot environnement, comme
$COPILOT_MCP_API_KEYou${COPILOT_MCP_API_KEY}. Les noms référencés doivent commencer parCOPILOT_MCP_. - Une chaîne de caractères littérale.
- Une référence de substitution à un secret ou une variable dans votre Copilot environnement, comme
Notez que tous les champs string et string[] en dehors de tools & type prennent en charge la substitution avec une variable ou un secret que vous avez configuré dans votre environnement Copilot.
Substitution de variable
Les modèles de syntaxe suivants sont pris en charge pour référencer les variables d’environnement configurées dans votre Copilot environnement :
| Syntaxe | Exemple |
|---|---|
$VAR | $COPILOT_MCP_API_KEY |
${VAR} | ${COPILOT_MCP_API_KEY} |
${VAR:-default} | ${COPILOT_MCP_API_KEY:-fallback_value} |
Exemples de configurations
Les exemples ci-dessous montrent les configurations de serveur MCP pour différents fournisseurs.
-
[Sentry](#example-sentry) -
[Notion](#example-notion) -
[Azure](#example-azure) -
[Cloudflare](#example-cloudflare) -
[Azure DevOps](#example-azure-devops) -
[Atlassian](#example-atlassian)
Exemple : Sentry
Le serveur MCP Sentry donne Copilot un accès authentifié aux exceptions enregistrées dans Sentry.
// If you copy and paste this example, you will need to remove the comments prefixed with `//`, which are not valid JSON.
{
"mcpServers": {
"sentry": {
"type": "local",
"command": "npx",
// We can use the $SENTRY_HOST environment variable which is passed to
// the server because of the `env` value below.
"args": ["@sentry/mcp-server@latest", "--host=$SENTRY_HOST"],
"tools": ["get_issue_details", "get_issue_summary"],
"env": {
// We can specify an environment variable value as a string...
"SENTRY_HOST": "https://contoso.sentry.io",
// or refer to a variable or secret in your Copilot environment
// with a name starting with `COPILOT_MCP_`
"SENTRY_ACCESS_TOKEN": "$COPILOT_MCP_SENTRY_ACCESS_TOKEN"
}
}
}
}
// If you copy and paste this example, you will need to remove the comments prefixed with `//`, which are not valid JSON.
{
"mcpServers": {
"sentry": {
"type": "local",
"command": "npx",
// We can use the $SENTRY_HOST environment variable which is passed to
// the server because of the `env` value below.
"args": ["@sentry/mcp-server@latest", "--host=$SENTRY_HOST"],
"tools": ["get_issue_details", "get_issue_summary"],
"env": {
// We can specify an environment variable value as a string...
"SENTRY_HOST": "https://contoso.sentry.io",
// or refer to a variable or secret in your Copilot environment
// with a name starting with `COPILOT_MCP_`
"SENTRY_ACCESS_TOKEN": "$COPILOT_MCP_SENTRY_ACCESS_TOKEN"
}
}
}
}
Exemple : Notion
Le serveur MCP Notion donne Copilot un accès authentifié aux notes et à d’autres contenus de Notion.
// If you copy and paste this example, you will need to remove the comments prefixed with `//`, which are not valid JSON.
{
"mcpServers": {
"notionApi": {
"type": "local",
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"-e",
// We can use the $NOTION_API_KEY environment variable which is passed to
// the server because of the `env` value below.
"OPENAPI_MCP_HEADERS={\"Authorization\": \"Bearer $NOTION_API_KEY\", \"Notion-Version\": \"2022-06-28\"}",
"mcp/notion"
],
"env": {
// The value of the `COPILOT_MCP_NOTION_API_KEY` secret will be passed to the
// server command as an environment variable called `NOTION_API_KEY`
"NOTION_API_KEY": "$COPILOT_MCP_NOTION_API_KEY"
},
"tools": ["*"]
}
}
}
// If you copy and paste this example, you will need to remove the comments prefixed with `//`, which are not valid JSON.
{
"mcpServers": {
"notionApi": {
"type": "local",
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"-e",
// We can use the $NOTION_API_KEY environment variable which is passed to
// the server because of the `env` value below.
"OPENAPI_MCP_HEADERS={\"Authorization\": \"Bearer $NOTION_API_KEY\", \"Notion-Version\": \"2022-06-28\"}",
"mcp/notion"
],
"env": {
// The value of the `COPILOT_MCP_NOTION_API_KEY` secret will be passed to the
// server command as an environment variable called `NOTION_API_KEY`
"NOTION_API_KEY": "$COPILOT_MCP_NOTION_API_KEY"
},
"tools": ["*"]
}
}
}
Exemple : Azure
Le référentiel Microsoft MCP inclut le serveur Azure MCP, qui permet Copilot de comprendre vos fichiers et ressources Azure spécifiques à Azure au sein de votre abonnement lors de modifications de code.
Pour configurer automatiquement votre référentiel avec un fichier copilot-setup-steps.yml pour s'authentifier auprès de Azure, ainsi que des secrets pour l'authentification, clonez le référentiel localement, puis exécutez la commande Azure Developer CLI de azd coding-agent config à la racine du référentiel.
Une fois que vous avez exécuté la commande et fusionné le pull request créé, vous pouvez ajouter la configuration MCP à votre dépôt.
{
"mcpServers": {
"Azure": {
"type": "local",
"command": "npx",
"args": [
"-y",
"@azure/mcp@latest",
"server",
"start"
],
"tools": ["*"]
}
}
}
{
"mcpServers": {
"Azure": {
"type": "local",
"command": "npx",
"args": [
"-y",
"@azure/mcp@latest",
"server",
"start"
],
"tools": ["*"]
}
}
}
Exemple : Cloudflare
Le serveur Cloudflare MCP crée des connexions entre vos services Cloudflare, y compris le traitement de la documentation et l’analyse des données.
{
"mcpServers": {
"cloudflare": {
"type": "sse",
"url": "https://docs.mcp.cloudflare.com/sse",
"tools": ["*"]
}
}
}
{
"mcpServers": {
"cloudflare": {
"type": "sse",
"url": "https://docs.mcp.cloudflare.com/sse",
"tools": ["*"]
}
}
}
Exemple : Azure DevOps
Le serveur MCP Azure DevOps crée une connexion transparente entre Copilot vos services Azure DevOps, y compris les éléments de travail, les pipelines ou la documentation.
Pour utiliser le serveur MCP Azure DevOps avec Agent Copilot cloud, vous devez mettre à jour le fichier copilot-setup-steps.yml du référentiel pour inclure une étape de connexion au flux de travail Azure.
-
Configurez OIDC dans une application Microsoft Entra, en accordant la confiance à GitHub. Consultez Utilisez l’action de connexion Azure avec OpenID Connect.
-
Configurez l'accès à l'organisation et aux projets Azure DevOps pour l'identité de l'application. Consultez Ajouter des utilisateurs de l’organisation et gérer l’accès.
-
Ajoutez un fichier de flux de travail Actions
.github/workflows/copilot-setup-steps.ymldans votre référentiel si vous n’en avez pas déjà un. -
Ajoutez une étape de connexion Azure au travail de workflow
copilot-setup-steps.YAML # Ce workflow utilise des actions qui ne sont pas certifiées par GitHub. # Elles sont fournies par un tiers et régies par # des conditions d’utilisation du service, une politique de confidentialité et un support distincts. # documentation en ligne. on: workflow_dispatch: permissions: id-token: write contents: read jobs: copilot-setup-steps: runs-on: ubuntu-latest permissions: id-token: write contents: read environment: copilot steps: - name: Azure login uses: azure/login@a457da9ea143d694b1b9c7c869ebb04ebe844ef5 with: client-id: ${{ secrets.AZURE_CLIENT_ID }} tenant-id: ${{ secrets.AZURE_TENANT_ID }} allow-no-subscriptions: true# Ce workflow utilise des actions qui ne sont pas certifiées par GitHub. # Elles sont fournies par un tiers et régies par # des conditions d’utilisation du service, une politique de confidentialité et un support distincts. # documentation en ligne. on: workflow_dispatch: permissions: id-token: write contents: read jobs: copilot-setup-steps: runs-on: ubuntu-latest permissions: id-token: write contents: read environment: copilot steps: - name: Azure login uses: azure/login@a457da9ea143d694b1b9c7c869ebb04ebe844ef5 with: client-id: ${{ secrets.AZURE_CLIENT_ID }} tenant-id: ${{ secrets.AZURE_TENANT_ID }} allow-no-subscriptions: trueCette configuration garantit que l’action
azure/loginest exécutée lorsque Agent Copilot cloud fonctionne. -
Dans l’environnement de votre référentiel Copilot, ajoutez des secrets pour votre
AZURE_CLIENT_IDetAZURE_TENANT_ID. -
Configurez le serveur MCP Azure DevOps en ajoutant un
adoobjet à votre configuration MCP avec des outils définis que vous souhaitez Agent Copilot cloud utiliser.
{
"mcpServers": {
"ado": {
"type": "local",
"command": "npx",
"args": ["-y", "@azure-devops/mcp", "<your-azure-devops-organization>", "-a", "azcli"],
"tools": ["wit_get_work_item", "wit_get_work_items_batch_by_ids", ...]
}
}
}
{
"mcpServers": {
"ado": {
"type": "local",
"command": "npx",
"args": ["-y", "@azure-devops/mcp", "<your-azure-devops-organization>", "-a", "azcli"],
"tools": ["wit_get_work_item", "wit_get_work_items_batch_by_ids", ...]
}
}
}
Exemple : Atlassian
Le serveur Atlassian MCP offre Copilot un accès authentifié à vos applications Atlassian, notamment Jira, Compass et Confluence.
Pour plus d’informations sur l’authentification auprès du serveur Atlassian MCP à l’aide d’une clé API, consultez Configuration de l’authentification via un jeton d’API dans la documentation Atlassian.
// If you copy and paste this example, you will need to remove the comments prefixed with `//`, which are not valid JSON.
{
"mcpServers": {
"atlassian-rovo-mcp": {
"command": "npx",
"type": "local",
"tools": ["*"],
"args": [
"mcp-remote@latest",
"https://mcp.atlassian.com/v1/mcp",
// We can use the $ATLASSIAN_API_KEY environment variable which is passed
// to the server because of the `env` value below.
"--header",
"Authorization: Basic $ATLASSIAN_API_KEY"
],
"env": {
// The value of the `COPILOT_MCP_ATLASSIAN_API_KEY` secret will be passed
// to the server command as an environment variable
// called `ATLASSIAN_API_KEY`.
"ATLASSIAN_API_KEY": "$COPILOT_MCP_ATLASSIAN_API_KEY"
}
}
}
}
// If you copy and paste this example, you will need to remove the comments prefixed with `//`, which are not valid JSON.
{
"mcpServers": {
"atlassian-rovo-mcp": {
"command": "npx",
"type": "local",
"tools": ["*"],
"args": [
"mcp-remote@latest",
"https://mcp.atlassian.com/v1/mcp",
// We can use the $ATLASSIAN_API_KEY environment variable which is passed
// to the server because of the `env` value below.
"--header",
"Authorization: Basic $ATLASSIAN_API_KEY"
],
"env": {
// The value of the `COPILOT_MCP_ATLASSIAN_API_KEY` secret will be passed
// to the server command as an environment variable
// called `ATLASSIAN_API_KEY`.
"ATLASSIAN_API_KEY": "$COPILOT_MCP_ATLASSIAN_API_KEY"
}
}
}
}
Réutilisation de votre configuration MCP à partir de Visual Studio Code
Si vous avez déjà configuré des serveurs MCP dans VS Code, vous pouvez tirer parti d’une configuration similaire pour Agent Copilot cloud.
Selon la configuration VS Code , vous pouvez trouver vos paramètres MCP dans le fichier de .vscode/mcp.json votre référentiel ou dans le fichier privé settings.json de votre ordinateur.
Pour adapter la configuration pour Agent Copilot cloud, vous devez :
- Ajoutez une
toolsclé pour chaque serveur MCP, en spécifiant les outils qui seront disponibles pour Copilot. - Si vous avez configuré
inputs, passez à l’utilisation directe deenv. - Si vous avez configuré un
envFile, passez à l’utilisation directe deenv. - Mettez à jour toutes les références à
inputsdans votre configurationargsafin qu’elles renvoient à la place aux variables d’environnement deenv.
Pour plus d’informations sur MCP, VS Codeconsultez la VS Code documentation.
Configuration d’un Copilot environnement pour Agent Copilot cloud
Certains serveurs MCP nécessitent des clés ou des secrets. Pour tirer parti de ces serveurs Agent Copilot cloud, vous pouvez ajouter des secrets à un environnement pour Copilot. Cela garantit que les secrets sont correctement reconnus et transmis au serveur MCP concerné que vous avez configuré.
Vous devez être administrateur de référentiel pour configurer un Copilot environnement pour votre référentiel.
-
Sur GitHub, accédez à la page principale du référentiel.
-
Sous le nom de votre référentiel, cliquez sur Paramètres. Si vous ne voyez pas l’onglet « Paramètres », sélectionnez le menu déroulant , puis cliquez sur Paramètres.

-
Dans la barre latérale gauche, cliquez sur Environnements.
-
Cliquez sur Nouvel environnement.
-
Appelez le nouvel environnement
copilotet cliquez sur Configurer l’environnement. -
Sous « Secrets d’environnement », cliquez sur Ajouter un secret d’environnement.
-
Attribuez au secret un nom commençant par
COPILOT_MCP_, ajoutez la valeur du secret, puis cliquez sur Ajouter un secret.
Validation de votre configuration MCP
Une fois que vous avez configuré votre MCP, vous devez le tester afin de vous assurer qu’il est correctement configuré.
- Créez un problème dans le référentiel, puis affectez-le à Copilot.
- Attendez quelques secondes, et Copilot laissera une 👀 réaction au problème.
- Attendez quelques secondes supplémentaires et Copilot créera une pull request, qui apparaîtra dans l'historique du ticket.
- Cliquez sur le pull request créé dans la chronologie et attendez qu’un événement de la chronologie « Copilot a commencé le travail » s’affiche.
- Cliquez sur Afficher la session pour ouvrir les Agent Copilot cloud journaux.
- Cliquez sur le bouton à points de suspension (...) en haut à droite de la visionneuse de journal de bord, puis cliquez Copilot dans la barre latérale.
- Cliquez sur l’étape Démarrer les serveurs MCP pour développer les journaux.
- Si vos serveurs MCP ont été démarrés avec succès, vous verrez leurs outils répertoriés au bas des journaux.
Si vos serveurs MCP nécessitent des dépendances qui ne sont pas installées sur l’exécuteur GitHub Actions par défaut, telles que uv et pipx, ou qui nécessitent des étapes d’installation spéciales, vous devrez peut-être créer un copilot-setup-steps.yml fichier de flux de travail Actions pour les installer. Pour plus d’informations, consultez « Personnalisation de l’environnement de développement pour l’agent cloud GitHub Copilot ».
Personnalisation du serveur MCP intégré GitHub
Le GitHub serveur MCP est activé par défaut et se connecte à GitHub avec un jeton ayant un périmètre spécifique qui dispose uniquement d’un accès en lecture seule au référentiel actuel.
Si vous souhaitez autoriser Copilot l’accès aux données en dehors du référentiel actuel, vous pouvez lui donner un personal access token accès plus large.
-
Créez un personal access token avec les autorisations appropriées. Nous vous recommandons d’utiliser un fine-grained personal access token, où vous pouvez limiter l’accès du jeton aux autorisations en lecture seule sur des référentiels spécifiques. Pour plus d’informations sur personal access tokens, consultez Gestion de vos jetons d’accès personnels.
-
Sur GitHub, accédez à la page principale du référentiel.
-
Sous le nom de votre référentiel, cliquez sur Paramètres. Si vous ne voyez pas l’onglet « Paramètres », sélectionnez le menu déroulant , puis cliquez sur Paramètres.

-
Dans la section « Code &automation » de la barre latérale, cliquez sur Copilot****Agent de cloud.
-
Ajoutez votre configuration dans la section Configuration MCP. Par exemple, vous pouvez ajouter les éléments suivants :
JavaScript // If you copy and paste this example, you will need to remove the comments prefixed with `//`, which are not valid JSON. { "mcpServers": { "github-mcp-server": { "type": "http", // Remove "/readonly" to enable wider access to all tools. // Then, use the "X-MCP-Toolsets" header to specify which toolsets you'd like to include. // Use the "tools" field to select individual tools from the toolsets. "url": "https://api.githubcopilot.com/mcp/readonly", "tools": ["*"], "headers": { "X-MCP-Toolsets": "repos,issues,users,pull_requests,code_security,secret_protection,actions,web_search" } } } }// If you copy and paste this example, you will need to remove the comments prefixed with `//`, which are not valid JSON. { "mcpServers": { "github-mcp-server": { "type": "http", // Remove "/readonly" to enable wider access to all tools. // Then, use the "X-MCP-Toolsets" header to specify which toolsets you'd like to include. // Use the "tools" field to select individual tools from the toolsets. "url": "https://api.githubcopilot.com/mcp/readonly", "tools": ["*"], "headers": { "X-MCP-Toolsets": "repos,issues,users,pull_requests,code_security,secret_protection,actions,web_search" } } } }Pour plus d’informations sur les ensembles d’outils, consultez le fichier README dans la GitHub documentation du serveur MCP distant.
-
Cliquez sur Enregistrer.
-
Dans la barre latérale gauche, cliquez sur Environnements.
-
Cliquez sur l’environnement
copilot. -
Sous « Secrets d’environnement », cliquez sur Ajouter un secret d’environnement.
-
Appelez le secret
COPILOT_MCP_GITHUB_PERSONAL_ACCESS_TOKEN, entrez votre personal access token champ « Valeur », puis cliquez sur Ajouter un secret.
Pour plus d’informations sur l’utilisation du GitHub serveur MCP dans d’autres environnements, consultez Utilisation du serveur MCP GitHub.
Étapes suivantes
-
[AUTOTITLE](/copilot/how-tos/copilot-cli/customize-copilot/add-mcp-servers) -
[AUTOTITLE](/copilot/how-tos/use-copilot-agents/coding-agent/create-custom-agents) -
[AUTOTITLE](/copilot/customizing-copilot/customizing-the-development-environment-for-copilot-coding-agent) -
[AUTOTITLE](/copilot/customizing-copilot/extending-copilot-chat-with-mcp)