---
title: "Brancher le GitHub MCP distant dans Cursor"
subtitle: "Configurer api.githubcopilot.com/mcp/, garder ses autres serveurs MCP, fumer avec une liste de PR — sans jamais committer le PAT"
date: 2026-10-02
time: "08:59"
author: Cursor + VFG
publishedBy: code
status: pub
tags: ["cursor", "mcp", "github", "tutoriel", "agents-tools", "windows", "base-de-connaissances"]
---

## Le point essentiel en une phrase

Pour que Cursor parle à GitHub via MCP, pointe l’entrée `github` de `~/.cursor/mcp.json` vers **`https://api.githubcopilot.com/mcp/`** avec un PAT dans l’en-tête `Authorization` — et **laisse les autres serveurs MCP intacts**.

Le dépôt open source `github/github-mcp-server` sert de **référence** (clone local optionnel). Le chemin opérationnel dans Cursor aujourd’hui, c’est le **endpoint distant Copilot MCP**, pas un binaire lancé à la main.

```text
Cursor
  └─ ~/.cursor/mcp.json
       ├─ github  →  https://api.githubcopilot.com/mcp/  (+ Authorization)
       ├─ vfg-docs / vfg-feed / vfg-gate  →  (inchangés)
       └─ …
```

## Pourquoi ce guide

Le 2 octobre 2026, sur le chantier Jah Messenger, on a branché GitHub MCP dans Cursor pour que les agents puissent lister des PR, lire des checks et fumer l’auth **sans** coller le PAT dans le dépôt.

Résultat mesuré la même matinée :

| Contrôle | Résultat |
|---|---|
| Clone local `github-mcp-server` | présent sous `D:\GitRepos\github-mcp-server` |
| URL MCP `github` | `https://api.githubcopilot.com/mcp/` |
| Serveurs VFG | toujours listés à côté de `github` |
| Smoke `get_me` | compte GitHub authentifié |
| Smoke `list_pull_requests` | PR ouvertes JahMessenger visibles, dont **#199** et **#198** |

Aucun merge n’a été fait. C’est volontaire : brancher l’outil ≠ avancer le train produit.

## Prérequis

- Cursor récent sur Windows ;
- un **Personal Access Token** GitHub avec les scopes nécessaires aux outils que tu veux appeler ;
- le fichier `%USERPROFILE%\.cursor\mcp.json` déjà utilisé (ou à créer) ;
- éventuellement un clone de [github/github-mcp-server](https://github.com/github/github-mcp-server) pour lire le README — **pas obligatoire** pour le chemin remote.

## Étape 1 — (optionnel) Cloner le serveur pour référence

```powershell
cd D:\GitRepos
git clone https://github.com/github/github-mcp-server.git
```

Tu peux y lire l’architecture et les outils exposés. Pour Cursor en remote Copilot MCP, tu n’as **pas** besoin de démarrer ce serveur toi-même.

## Étape 2 — Éditer `mcp.json` sans écraser le reste

Ouvre :

```text
%USERPROFILE%\.cursor\mcp.json
```

Ajoute ou mets à jour **uniquement** l’entrée `github`. Exemple de forme (le secret n’est **pas** recopié ici) :

```json
{
  "mcpServers": {
    "github": {
      "url": "https://api.githubcopilot.com/mcp/",
      "headers": {
        "Authorization": "Bearer <TON_PAT>"
      }
    }
  }
}
```

Si tu as déjà `vfg-docs`, `vfg-feed`, `vfg-gate` (ou d’autres), **ne les efface pas**. Fusionne : une clé de plus, pas un fichier entier remplacé.

## Étape 3 — Redémarrer les MCP dans Cursor

Après sauvegarde : recharger la fenêtre Cursor, ou désactiver/réactiver le serveur `github` dans les réglages MCP, jusqu’à voir le namespace `user-github` (ou équivalent) côté outils.

## Étape 4 — Smoke minimal (preuve, pas confiance)

Deux gestes suffisent :

1. **Identité** — outil du type `get_me` : tu dois voir ton login GitHub.
2. **Liste** — `list_pull_requests` sur un dépôt que tu connais (ex. propriétaire + `JahMessenger`, état `open`) : tu dois reconnaître des numéros réels (#199, #198, …).

Si la liste est vide alors que tu sais qu’il y a des PR ouvertes : ce n’est **pas** « pas de PR » — rejoue, vérifie le PAT, l’URL, et le redémarrage MCP (leçon VFG : un « 0 » silencieux n’est pas une mesure).

## Garde-fous non négociables

1. **Jamais committer le PAT** — ni dans le dépôt produit, ni dans un handoff, ni dans un article.
2. **`mcp.json` reste hors git** (profil utilisateur) — ne le copie pas dans le repo « pour faciliter ».
3. **Brancher ≠ merger** — un smoke qui liste #199 et #198 ne donne pas le droit de fusionner sans go humain.
4. **Préserve les autres MCP** — un replace aveugle de `mcp.json` casse le reste du workspace (docs, gate, feed).

## Ce que ça débloque pour un agent

Une fois fumé, l’agent peut :

- lire l’état des PR et des checks ;
- commenter / ouvrir une PR **si** le mandat de session le demande ;
- croiser GitHub avec le reste du stack MCP VFG **dans la même session Cursor**.

Ce qu’il ne doit pas faire « parce que l’outil marche » : pousser un secret, merger le train en pause, ou inventer un lot produit là où il n’y en a pas.

## Relais

Si tu reprends après cette config : fume `get_me` + une liste de PR connues, puis enchaîne le chantier produit (mesure live, handoff, etc.) **sans** re-planifier le branchement MCP.