GitHub MCP

officiel

Serveur MCP officiel de GitHub pour la recherche de dépôts, les issues, les pull requests, le contexte de code et les workflows GitHub dans les clients IA compatibles MCP.

Que pouvez-vous faire avec GitHub MCP ?

  • Exploration du dépôt — Demandez à votre assistant de parcourir le code, de rechercher des fichiers et d’analyser les commits dans n’importe quel dépôt auquel vous avez accès.
  • Gestion des issues et des PR — Laissez l’IA créer, mettre à jour et trier les issues et les pull requests, y compris la révision des modifications de code.
  • Surveillance CI/CD — Obtenez des informations sur les exécutions de workflows GitHub Actions, analysez les échecs de build et gérez les versions.
  • Analyse de sécurité — Examinez les résultats de l’analyse de code et passez en revue les alertes Dependabot pour détecter les vulnérabilités.
  • Collaboration d’équipe — Accédez aux discussions, gérez les notifications et analysez l’activité de l’équipe sur vos projets.

Serveur MCP hébergé

npx add-mcp 'https://api.githubcopilot.com/mcp/'

S’installe dans Claude Code, Codex, Cursor et plus

Documentation

Go Report Card

Serveur GitHub MCP

Le serveur GitHub MCP connecte les outils d'IA directement à la plateforme GitHub. Cela donne aux agents IA, assistants et chatbots la capacité de lire des dépôts et des fichiers de code, de gérer les issues et les PR, d'analyser le code et d'automatiser les flux de travail. Le tout via des interactions en langage naturel.

Cas d'utilisation

  • Gestion de dépôts : Parcourir et interroger le code, rechercher des fichiers, analyser les commits et comprendre la structure du projet sur n'importe quel dépôt auquel vous avez accès.
  • Automatisation des issues et des PR : Créer, mettre à jour et gérer les issues et les pull requests. Laissez l'IA aider à trier les bogues, examiner les modifications de code et maintenir les tableaux de projet.
  • Intelligence CI/CD et flux de travail : Surveiller les exécutions de flux de travail GitHub Actions, analyser les échecs de build, gérer les versions et obtenir des informations sur votre pipeline de développement.
  • Analyse de code : Examiner les résultats de sécurité, consulter les alertes Dependabot, comprendre les modèles de code et obtenir des informations complètes sur votre base de code.
  • Collaboration d'équipe : Accéder aux discussions, gérer les notifications, analyser l'activité de l'équipe et rationaliser les processus pour votre équipe.

Conçu pour les développeurs qui souhaitent connecter leurs outils d'IA au contexte et aux capacités de GitHub, des requêtes simples en langage naturel aux flux de travail d'agents complexes en plusieurs étapes.

Utilisation du module Go

Le chemin du module Go est github.com/github/github-mcp-server/v2. Les consommateurs de la bibliothèque doivent utiliser ce préfixe dans les imports, par exemple github.com/github/github-mcp-server/v2/pkg/github, et dans les commandes go get. Aucun sous-répertoire /v2 n'est nécessaire lors de la construction à partir d'une copie du dépôt.

Le tag v2.0.0 existant précède cette correction du chemin de module et ne peut pas être utilisé comme module Go. Une fois cette modification fusionnée, une nouvelle version telle que v2.0.1 doit être taguée à partir d'un commit contenant le chemin de module corrigé. Jusqu'à ce moment-là, les consommateurs peuvent utiliser une pseudo-version issue d'un commit contenant cette modification.


Serveur GitHub MCP distant

Install in VS Code Install in VS Code Insiders Install in Visual Studio

Le serveur GitHub MCP distant est hébergé par GitHub et offre la méthode la plus simple pour démarrer. Si votre hôte MCP ne prend pas en charge les serveurs MCP distants, pas d'inquiétude ! Vous pouvez utiliser la version locale du serveur GitHub MCP à la place.

Prérequis

  1. Un hôte MCP compatible avec la prise en charge des serveurs distants (VS Code 1.101+, Claude Desktop, Cursor, Windsurf, etc.)
  2. Toute politique applicable activée

Installation dans VS Code

Pour une installation rapide, utilisez l'un des boutons d'installation en un clic ci-dessus. Une fois ce flux terminé, activez le mode Agent (situé à côté de la zone de saisie de texte Copilot Chat) et le serveur démarrera. Assurez-vous d'utiliser VS Code 1.101 ou une version ultérieure pour la prise en charge du MCP distant et d'OAuth.

Alternativement, pour configurer manuellement VS Code, choisissez le bloc JSON approprié parmi les exemples ci-dessous et ajoutez-le à votre configuration hôte :

Utilisation d'OAuthUtilisation d'un PAT GitHub
VS Code (version 1.101 ou supérieure)
{
  "servers": {
    "github": {
      "type": "http",
      "url": "https://api.githubcopilot.com/mcp/"
    }
  }
}
{
  "servers": {
    "github": {
      "type": "http",
      "url": "https://api.githubcopilot.com/mcp/",
      "headers": {
        "Authorization": "Bearer ${input:github_mcp_pat}"
      }
    }
  },
  "inputs": [
    {
      "type": "promptString",
      "id": "github_mcp_pat",
      "description": "GitHub Personal Access Token",
      "password": true
    }
  ]
}

Installation dans d'autres hôtes MCP

  • Copilot CLI - Guide d'installation pour GitHub Copilot CLI
  • GitHub Copilot dans d'autres IDE - Installation pour JetBrains, Visual Studio, Eclipse et Xcode avec GitHub Copilot
  • Applications Claude - Guide d'installation pour Claude Desktop et Claude Code CLI
  • Codex - Guide d'installation pour OpenAI Codex
  • Cursor - Guide d'installation pour l'IDE Cursor
  • OpenCode - Guide d'installation pour l'agent terminal OpenCode
  • Windsurf - Guide d'installation pour l'IDE Windsurf
  • Zed - Guide d'installation pour l'éditeur Zed
  • Rovo Dev CLI - Guide d'installation pour Rovo Dev CLI

Remarque : Chaque application hôte MCP doit configurer une application GitHub ou une application OAuth pour prendre en charge l'accès distant via OAuth. Toute application hôte prenant en charge les serveurs MCP distants devrait prendre en charge le serveur GitHub distant avec l'authentification PAT. Les détails de configuration et les niveaux de prise en charge varient selon l'hôte. Assurez-vous de consulter la documentation de l'application hôte pour plus d'informations.

Configuration

Configuration des ensembles d'outils

Consultez la Documentation du serveur distant pour tous les détails sur la configuration du serveur distant, les ensembles d'outils, les en-têtes et l'utilisation avancée. Ce fichier fournit des instructions complètes et des exemples pour connecter, personnaliser et installer le serveur GitHub MCP distant dans VS Code et d'autres hôtes MCP.

Lorsqu'aucun ensemble d'outils n'est spécifié, les ensembles d'outils par défaut sont utilisés.

Mode Insiders

Essayez les nouvelles fonctionnalités en avant-première ! Le serveur distant propose une version insiders avec un accès anticipé aux nouvelles fonctionnalités et aux outils expérimentaux.

Utilisation du chemin d'URLUtilisation de l'en-tête
{
  "servers": {
    "github": {
      "type": "http",
      "url": "https://api.githubcopilot.com/mcp/insiders"
    }
  }
}
{
  "servers": {
    "github": {
      "type": "http",
      "url": "https://api.githubcopilot.com/mcp/",
      "headers": {
        "X-MCP-Insiders": "true"
      }
    }
  }
}

Consultez la Documentation du serveur distant pour plus de détails et d'exemples, et les Fonctionnalités Insiders pour une liste complète de ce qui est disponible.

GitHub Enterprise

GitHub Enterprise Cloud avec résidence des données (ghe.com)

GitHub Enterprise Cloud peut également utiliser le serveur distant.

Exemple pour https://octocorp.ghe.com avec un jeton PAT GitHub :

{
    ...
    "github-octocorp": {
      "type": "http",
      "url": "https://copilot-api.octocorp.ghe.com/mcp",
      "headers": {
        "Authorization": "Bearer ${input:github_mcp_pat}"
      }
    },
    ...
}

Remarque : Lors de l'utilisation d'OAuth avec GitHub Enterprise dans VS Code et GitHub Copilot, vous devez également configurer vos paramètres VS Code pour pointer vers votre instance GitHub Enterprise - voir Authentification depuis VS Code

GitHub Enterprise Server

GitHub Enterprise Server ne prend pas en charge l'hébergement de serveur distant. Veuillez vous référer à GitHub Enterprise Server et Enterprise Cloud avec résidence des données (ghe.com) dans la configuration du serveur local.


Serveur GitHub MCP local

Install with Docker in VS Code Install with Docker in VS Code Insiders Install with Docker in Visual Studio

Prérequis

  1. Pour exécuter le serveur dans un conteneur, vous devrez avoir Docker installé.

  2. Une fois Docker installé, vous devrez également vous assurer que Docker est en cours d'exécution. L'image Docker est disponible à ghcr.io/github/github-mcp-server. L'image est publique ; si vous obtenez des erreurs lors du pull, vous avez peut-être un jeton expiré et devez docker logout ghcr.io.

  3. Authentification. Sur github.com, vous n'avez rien à créer au préalable — les boutons en un clic ci-dessus vous connectent avec OAuth lors de la première utilisation (un flux basé sur le navigateur ; le jeton est conservé uniquement en mémoire). Les boutons Docker publient un port de rappel fixe (127.0.0.1:8085) afin que le rappel de connexion du conteneur soit accessible. Consultez Connexion OAuth du serveur local pour comprendre son fonctionnement, le repli sans tête/code d'appareil, et l'apport de votre propre OAuth ou application GitHub (requis pour GitHub Enterprise Server et ghe.com).

    Vous préférez un jeton ? Vous pouvez toujours vous authentifier avec un jeton d'accès personnel GitHub en définissant GITHUB_PERSONAL_ACCESS_TOKEN à la place (il a priorité sur OAuth). Le serveur MCP peut utiliser de nombreuses API GitHub, alors activez les autorisations que vous êtes à l'aise d'accorder à vos outils d'IA (pour en savoir plus sur les jetons d'accès, consultez la documentation).

Gestion sécurisée des PAT

Variables d'environnement (recommandé)

Pour garder votre PAT GitHub sécurisé et réutilisable sur différents hôtes MCP :

  1. Stockez votre PAT dans des variables d'environnement

    export GITHUB_PAT=your_token_here
    

    Ou créez un fichier .env :

    GITHUB_PAT=your_token_here
    
  2. Protégez votre fichier .env

    # Add to .gitignore to prevent accidental commits
    echo ".env" >> .gitignore
    
  3. Référencez le jeton dans les configurations

    # CLI usage
    claude mcp add github -e GITHUB_PERSONAL_ACCESS_TOKEN=$GITHUB_PAT -- docker run -i --rm -e GITHUB_PERSONAL_ACCESS_TOKEN ghcr.io/github/github-mcp-server
    
    # In config files (where supported)
    "env": {
      "GITHUB_PERSONAL_ACCESS_TOKEN": "$GITHUB_PAT"
    }
    

Remarque : La prise en charge des variables d'environnement varie selon l'application hôte et l'IDE. Certaines applications (comme Windsurf) nécessitent des jetons codés en dur dans les fichiers de configuration.

Bonnes pratiques de sécurité des jetons

  • Portées minimales : N'accorder que les autorisations nécessaires

    • repo - Opérations sur les dépôts
    • read:packages - Accès aux images Docker
    • read:org - Accès aux équipes d'organisation
  • Jetons séparés : Utilisez différents PAT pour différents projets/environnements

  • Rotation régulière : Mettez à jour les jetons périodiquement

  • Ne jamais commiter : Gardez les jetons hors du contrôle de version

  • Autorisations de fichiers : Restreignez l'accès aux fichiers de configuration contenant des jetons

    chmod 600 ~/.your-app/config.json
    

GitHub Enterprise Server et Enterprise Cloud avec résidence des données (ghe.com)

Le drapeau --gh-host et la variable d'environnement GITHUB_HOST peuvent être utilisés pour définir le nom d'hôte pour GitHub Enterprise Server ou GitHub Enterprise Cloud avec résidence des données.

  • Pour GitHub Enterprise Server, préfixez le nom d'hôte avec le schéma URI https://. HTTPS est requis et appliqué : les hôtes non-HTTPS sont refusés afin que les identifiants ne soient jamais envoyés en texte clair (la seule exception est un hôte de bouclage tel que http://localhost pour le développement local).
  • Pour GitHub Enterprise Cloud avec résidence des données, utilisez https://YOURSUBDOMAIN.ghe.com comme nom d'hôte.
"github": {
    "command": "docker",
    "args": [
    "run",
    "-i",
    "--rm",
    "-e",
    "GITHUB_PERSONAL_ACCESS_TOKEN",
    "-e",
    "GITHUB_HOST",
    "ghcr.io/github/github-mcp-server"
    ],
    "env": {
        "GITHUB_PERSONAL_ACCESS_TOKEN": "${input:github_token}",
        "GITHUB_HOST": "https://<your GHES or ghe.com domain name>"
    }
}

Installation

Installation dans GitHub Copilot sur VS Code

Pour une installation rapide, utilisez l'un des boutons d'installation en un clic ci-dessus. Une fois ce flux terminé, activez le mode Agent (situé à côté de la zone de saisie de texte Copilot Chat) et le serveur démarrera.

En savoir plus sur l'utilisation des outils du serveur MCP dans la documentation du mode agent de VS Code.

Installation dans GitHub Copilot sur d'autres IDE (JetBrains, Visual Studio, Eclipse, etc.)

Ajoutez l'un des blocs JSON suivants aux paramètres MCP de votre IDE.

Connectez-vous avec OAuth (aucun jeton à créer ou à stocker). Sur github.com, l'image officielle inclut déjà les identifiants de l'application, vous n'en fournissez donc aucun : elle exécute une connexion basée sur le navigateur lors de la première utilisation et conserve le jeton résultant uniquement en mémoire. Dans Docker, cela nécessite qu'un port de rappel fixe soit publié sur la boucle locale afin que le rappel de connexion du conteneur soit accessible :

{
  "mcp": {
    "servers": {
      "github": {
        "command": "docker",
        "args": [
          "run",
          "-i",
          "--rm",
          "-p",
          "127.0.0.1:8085:8085",
          "-e",
          "GITHUB_OAUTH_CALLBACK_PORT",
          "ghcr.io/github/github-mcp-server"
        ],
        "env": {
          "GITHUB_OAUTH_CALLBACK_PORT": "8085"
        }
      }
    }
  }
}

Consultez Connexion OAuth du serveur local pour le flux binaire natif (aucun port fixe nécessaire), le repli sans tête/code d'appareil, GitHub Enterprise Server / ghe.com, et l'apport de votre propre OAuth ou application GitHub.

Pour les déploiements stdio non interactifs, consultez Authentification par application GitHub.

Ou authentifiez-vous avec un jeton d'accès personnel. Définissez GITHUB_PERSONAL_ACCESS_TOKEN à la place (il a priorité sur OAuth) :

{
  "mcp": {
    "inputs": [
      {
        "type": "promptString",
        "id": "github_token",
        "description": "GitHub Personal Access Token",
        "password": true
      }
    ],
    "servers": {
      "github": {
        "command": "docker",
        "args": [
          "run",
          "-i",
          "--rm",
          "-e",
          "GITHUB_PERSONAL_ACCESS_TOKEN",
          "ghcr.io/github/github-mcp-server"
        ],
        "env": {
          "GITHUB_PERSONAL_ACCESS_TOKEN": "${input:github_token}"
        }
      }
    }
  }
}

Optionnellement, vous pouvez ajouter un exemple similaire (c'est-à-dire sans la clé mcp) à un fichier appelé .vscode/mcp.json dans votre espace de travail. Cela vous permettra de partager la configuration avec d'autres applications hôtes qui acceptent le même format.

Exemple de bloc JSON sans la clé MCP incluse
{
  "inputs": [
    {
      "type": "promptString",
      "id": "github_token",
      "description": "GitHub Personal Access Token",
      "password": true
    }
  ],
  "servers": {
    "github": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "GITHUB_PERSONAL_ACCESS_TOKEN",
        "ghcr.io/github/github-mcp-server"
      ],
      "env": {
        "GITHUB_PERSONAL_ACCESS_TOKEN": "${input:github_token}"
      }
    }
  }
}

Installation dans d'autres hôtes MCP

Pour d'autres applications hôtes MCP, veuillez vous référer à nos guides d'installation :

Pour un aperçu complet de toutes les options d'installation, consultez notre Index des guides d'installation.

Remarque : Toute application hôte prenant en charge les serveurs MCP locaux devrait pouvoir accéder au serveur GitHub MCP local. Cependant, le processus de configuration spécifique, la syntaxe et la stabilité de l'intégration varient selon l'application hôte. Bien que beaucoup puissent suivre un format similaire aux exemples ci-dessus, cela n'est pas garanti. Veuillez vous référer à la documentation de votre application hôte pour la syntaxe de configuration MCP correcte et le processus de configuration.

Compiler à partir des sources

Si vous n'avez pas Docker, vous pouvez utiliser go build pour compiler le binaire dans le répertoire cmd/github-mcp-server, et utiliser la commande github-mcp-server stdio avec la variable d'environnement GITHUB_PERSONAL_ACCESS_TOKEN définie sur votre jeton. Pour spécifier l'emplacement de sortie de la compilation, utilisez l'indicateur -o. Vous devez configurer votre serveur pour utiliser l'exécutable compilé comme command.

Les requêtes API STDIO identifient le serveur comme github-mcp-server/<version> et conservent le nom/version du client MCP en amont entre parenthèses lorsque disponible. Les caractères de contrôle, les guillemets, les barres obliques inverses et les parenthèses dans les métadonnées du client sont échappés pour que l'en-tête HTTP reste valide ; les noms ordinaires, versions, espaces et Unicode imprimable sont préservés. Les versions de publication conservent leur version de publication. Les compilations source et Docker par défaut avec métadonnées de révision utilisent vcs-<full-commit-sha>. Le flux de publication Docker préserve les versions de balises, y compris les préversions, et permet aux compilations de branches, de demandes de tirage et nocturnes d'utiliser la révision source liée. Le marqueur -dirty s'applique uniquement lorsque la révision et l'état modifié proviennent de métadonnées VCS intégrées, jamais à un main.commit valide et explicitement fourni. Il s'agit d'un identifiant de compilation VCS, pas d'un numéro de version.

Compilez le package complet avec go build -o github-mcp-server ./cmd/github-mcp-server à partir d'un checkout Git pour intégrer sa révision VCS. Pour les compilations sans métadonnées VCS, fournissez la version réelle avec -ldflags '-X main.version=<release>' ou la révision source complète avec -ldflags '-X main.commit=<sha>'. Les métadonnées valides sont sélectionnées dans cet ordre : version explicite, révision source explicite, révision VCS intégrée, puis version du module principal installé. Les révisions explicites valides restent autoritatives même si le filtrage du contexte de compilation modifie les métadonnées VCS intégrées. Les candidats manquants ou malformés passent à la source utilisable suivante. Si aucune n'est disponible, STDIO démarre toujours avec le label de développement dev et émet un avertissement sur stderr, laissant stdout disponible pour le protocole MCP. Fournissez de vraies métadonnées de version ou de révision lorsque l'attribution spécifique à la version est nécessaire.

Par exemple :

{
  "mcp": {
    "servers": {
      "github": {
        "command": "/path/to/github-mcp-server",
        "args": ["stdio"],
        "env": {
          "GITHUB_PERSONAL_ACCESS_TOKEN": "<YOUR_TOKEN>"
        }
      }
    }
  }
}

Configuration des outils

Le serveur GitHub MCP prend en charge l'activation ou la désactivation de groupes spécifiques de fonctionnalités via l'indicateur --toolsets. Cela vous permet de contrôler quelles capacités de l'API GitHub sont disponibles pour vos outils IA. N'activer que les ensembles d'outils dont vous avez besoin peut aider le LLM dans le choix des outils et réduire la taille du contexte.

Les ensembles d'outils ne se limitent pas aux outils. Les ressources et invites MCP pertinentes sont également incluses lorsque applicable.

Lorsqu'aucun ensemble d'outils n'est spécifié, les ensembles d'outils par défaut sont utilisés.

Vous cherchez des exemples ? Consultez le Guide de configuration du serveur pour des recettes courantes comme les configurations minimales, le mode lecture seule et la combinaison d'outils avec des ensembles d'outils.

Spécification des ensembles d'outils

Pour spécifier les ensembles d'outils que vous souhaitez rendre disponibles au LLM, vous pouvez passer une liste d'autorisation de deux manières :

  1. Utilisation de l'argument de ligne de commande :

    github-mcp-server --toolsets repos,issues,pull_requests,actions,code_security
    
  2. Utilisation de la variable d'environnement :

    GITHUB_TOOLSETS="repos,issues,pull_requests,actions,code_security" ./github-mcp-server
    

La variable d'environnement GITHUB_TOOLSETS a priorité sur l'argument de ligne de commande si les deux sont fournis.

Spécification des outils individuels

Vous pouvez également configurer des outils spécifiques en utilisant l'indicateur --tools. Les outils peuvent être utilisés indépendamment ou combinés avec des ensembles d'outils pour un contrôle fin.

  1. Utilisation de l'argument de ligne de commande :

    github-mcp-server --tools get_file_contents,issue_read,create_pull_request
    
  2. Utilisation de la variable d'environnement :

    GITHUB_TOOLS="get_file_contents,issue_read,create_pull_request" ./github-mcp-server
    
  3. Combinaison avec des ensembles d'outils (additif) :

    github-mcp-server --toolsets repos,issues --tools get_gist
    

    Cela enregistre tous les outils des ensembles d'outils repos et issues, plus get_gist.

Remarques importantes :

  • Les outils et les ensembles d'outils peuvent être utilisés ensemble
  • Le mode lecture seule a priorité : les outils d'écriture sont ignorés si --read-only est défini, même s'ils sont explicitement demandés via --tools
  • Les noms d'outils doivent correspondre exactement (par exemple, get_file_contents, pas getFileContents). Des noms d'outils invalides entraîneront l'échec du serveur au démarrage avec un message d'erreur
  • Lorsque les outils sont renommés, les anciens noms sont conservés comme alias pour la compatibilité ascendante. Voir Renommage des outils pour plus de détails.

Utilisation des ensembles d'outils avec Docker

Lorsque vous utilisez Docker, vous pouvez passer les ensembles d'outils comme variables d'environnement :

docker run -i --rm \
  -e GITHUB_PERSONAL_ACCESS_TOKEN=<your-token> \
  -e GITHUB_TOOLSETS="repos,issues,pull_requests,actions,code_security" \
  ghcr.io/github/github-mcp-server

Utilisation des outils avec Docker

Lorsque vous utilisez Docker, vous pouvez passer des outils spécifiques comme variables d'environnement. Vous pouvez également combiner des outils avec des ensembles d'outils :

# Tools only
docker run -i --rm \
  -e GITHUB_PERSONAL_ACCESS_TOKEN=<your-token> \
  -e GITHUB_TOOLS="get_file_contents,issue_read,create_pull_request" \
  ghcr.io/github/github-mcp-server

# Tools combined with toolsets (additive)
docker run -i --rm \
  -e GITHUB_PERSONAL_ACCESS_TOKEN=<your-token> \
  -e GITHUB_TOOLSETS="repos,issues" \
  -e GITHUB_TOOLS="get_gist" \
  ghcr.io/github/github-mcp-server

Ensembles d'outils spéciaux

Ensemble d'outils "all"

L'ensemble d'outils spécial all peut être fourni pour activer tous les ensembles d'outils disponibles indépendamment de toute autre configuration :

./github-mcp-server --toolsets all

Ou en utilisant la variable d'environnement :

GITHUB_TOOLSETS="all" ./github-mcp-server

Ensemble d'outils "default"

L'ensemble d'outils par défaut default est la configuration qui est passée au serveur si aucun ensemble d'outils n'est spécifié.

La configuration par défaut est :

  • context
  • repos
  • issues
  • pull_requests
  • users

Pour conserver la configuration par défaut et ajouter des ensembles d'outils supplémentaires :

GITHUB_TOOLSETS="default,stargazers" ./github-mcp-server

Mode Insiders

Le serveur GitHub MCP local propose une version insiders avec un accès anticipé aux nouvelles fonctionnalités et aux outils expérimentaux.

  1. Utilisation de l'argument de ligne de commande :

    ./github-mcp-server --insiders
    
  2. Utilisation de la variable d'environnement :

    GITHUB_INSIDERS=true ./github-mcp-server
    

Lorsque vous utilisez Docker :

docker run -i --rm \
  -e GITHUB_PERSONAL_ACCESS_TOKEN=<your-token> \
  -e GITHUB_INSIDERS=true \
  ghcr.io/github/github-mcp-server

Ensembles d'outils disponibles

Les ensembles d'outils suivants sont disponibles :

Ensemble d'outilsDescription
personcontextFortement recommandé : Outils qui fournissent un contexte sur l'utilisateur actuel et le contexte GitHub dans lequel vous opérez
workflowactionsWorkflows GitHub Actions et opérations CI/CD
code-squarecode_qualityOutils liés à la qualité du code GitHub
codescancode_securityOutils liés à la sécurité du code, tels que GitHub Code Scanning
copilotcopilotOutils liés à Copilot
copilotcopilot_issue_intentsOutils d'attribution de problèmes Copilot opt-in qui portent des métadonnées d'intention (justification, confiance, suggestion)
dependabotdependabotOutils Dependabot
comment-discussiondiscussionsOutils liés aux discussions GitHub
logo-gistgistsOutils liés aux gists GitHub
git-branchgitOutils liés à l'API Git GitHub pour les opérations Git de bas niveau
lawgovernanceOutils de gouvernance de dépôt pour la gestion des règles et des propriétés personnalisées aux niveaux du dépôt, de l'organisation et de l'entreprise
issue-openedissuesOutils liés aux problèmes GitHub
taglabelsOutils liés aux étiquettes GitHub
bellnotificationsOutils liés aux notifications GitHub
organizationorgsOutils liés à l'organisation GitHub
projectprojectsOutils liés aux projets GitHub
git-pull-requestpull_requestsOutils liés aux demandes de tirage GitHub
reporeposOutils liés aux dépôts GitHub
shield-locksecret_protectionOutils liés à la protection des secrets, tels que GitHub Secret Scanning
shieldsecurity_advisoriesOutils liés aux avis de sécurité
starstargazersOutils liés aux stargazers GitHub
peopleusersOutils liés aux utilisateurs GitHub

Ensembles d'outils supplémentaires dans le serveur GitHub MCP distant

Ensemble d'outilsDescription
copilotOutils liés à Copilot (par exemple, Copilot Coding Agent)
copilot_spacesOutils liés aux espaces Copilot
github_support_docs_searchRechercher des documents pour répondre aux questions sur les produits et le support GitHub

Outils

Les outils de dépôt exposent des schémas de sortie et des structuredContent typés lorsque la version du protocole MCP négociée est une version prise en charge 2026-07-28 ou plus récente. Les clients plus anciens, les clients avec une version de protocole inconnue et les clients omettant la version reçoivent le contenu existant sans schéma de sortie ni sortie structurée. Les versions inconnues ne sont pas traitées comme prises en charge simplement parce qu'elles se trient après 2026-07-28.

Pour get_file_contents, les résultats de répertoire (y compris les projections de champs) sont des tableaux structurés. Les téléchargements de fichiers et les réponses de métadonnées uniquement utilisent un tableau content de blocs de texte typé, de ressources intégrées ou de liens de ressources, préservant les messages de statut, le texte, les blobs base64, les fichiers vides et les liens de téléchargement. Les mutations de dépôt en texte seul telles que la mise en vedette et la suppression renvoient également un message structuré ; les réponses de fork distinguent une référence de dépôt d'un message en cours. La suppression de dépôt nécessite toujours son flux de confirmation existant avant de renvoyer un résultat terminé. Les résultats structurés de dépôt utilisent des DTO compacts plutôt que des objets REST bruts. Les recherches de versions partagent la forme compacte des versions avec les listes de versions ; les références Git conservent la référence, le type d'objet et le SHA ; les tags annotés conservent les informations de tag/message/tagger/cible ; les commits de suppression conservent le SHA, le message, les auteurs, le SHA de l'arbre, les SHA parents et un html_url lisible par l'humain lorsqu'il est disponible. Les entrées de répertoire conservent les métadonnées de fichier et les liens HTML/téléchargement utiles, mais omettent les URL de routage API et hypermedia même lorsque ces champs ont été demandés dans une projection. Les versions de protocole héritées et inconnues conservent le texte original octet par octet ; les réponses JSON textuelles modernes sérialisent le même DTO compact que structuredContent. Les blocs de ressources non textuels et les erreurs d'outils conservent leur comportement de contenu existant. Les projections structurées utilisent la même source assainie et filtrée que le formateur hérité.

Pour get_repository_tree, list_gists, get_gist, create_gist et update_gist, les résultats de gist conservent les noms de fichiers, contenus, tailles, informations de langue/type, horodatages, visibilité et profils de propriétaires compacts, tout en omettant les URL API/node et de transport Git. Les entrées d'arbre omettent leurs URL API dérivables. Les résultats de création/mise à jour de gist contiennent l'ID du gist et l'URL HTML. Le texte JSON moderne et le contenu structuré sérialisent le même résultat compact. Les versions de protocole plus anciennes ou inconnues conservent le texte hérité octet par octet sans schéma de sortie ni contenu structuré.

Les métadonnées de problème (list_issue_types, list_issue_fields), les commentaires (add_issue_comment, update_issue_comment), les dépendances (issue_dependency_read, issue_dependency_write) et les outils de détection de doublons (find_duplicate) fournissent des outputSchema et structuredContent typés pour les versions de protocole prises en charge négociées 2026-07-28 ou plus récentes. Les versions de protocole plus anciennes ou inconnues conservent les mêmes réponses textuelles sans ces champs. Les erreurs d'outils ne renvoient pas de contenu structuré. Les outils de dépendance et de détection de doublons conservent leurs portes de fonctionnalités existantes.

Pour les versions de protocole prises en charge négociées 2026-07-28 ou plus récentes, les outils Actions consolidés (actions_list, actions_get, actions_run_trigger) renvoient des objets structurés avec un discriminant method et un champ typé spécifique à la méthode ; le texte JSON contient la même projection compacte. Les projections de workflows, travaux et artefacts omettent les URL API/hypermedia tout en conservant les liens navigateur et les identifiants utiles, états, horodatages et durées d'utilisation. Les listes d'utilisation d'exécutions facturent les environnements de runner dans un ordre de nom déterministe. Les réponses textuelles plus anciennes et à protocole inconnu restent inchangées ; get_job_logs conserve son contenu typé, son URL ou ses variantes de collection de travaux échoués.

workflow Actions
  • actions_get - Obtenir les détails des ressources GitHub Actions (workflows, exécutions de workflows, travaux et artefacts)

    • Portées du défi OAuth : repo
    • method : La méthode à exécuter (chaîne, obligatoire)
    • owner : Propriétaire du dépôt (chaîne, obligatoire)
    • repo : Nom du dépôt (chaîne, obligatoire)
    • resource_id : L'identifiant unique de la ressource. Cela variera selon la "méthode" fournie, alors assurez-vous de fournir le bon ID :
      • Fournissez un ID de workflow ou un nom de fichier de workflow (par exemple ci.yaml) pour la méthode 'get_workflow'.
      • Fournissez un ID d'exécution de workflow pour les méthodes 'get_workflow_run', 'get_workflow_run_usage' et 'get_workflow_run_logs_url'.
      • Fournissez un ID d'artefact pour la méthode 'download_workflow_run_artifact'.
      • Fournissez un ID de travail pour la méthode 'get_workflow_job'. (chaîne, obligatoire)
  • actions_list - Lister les workflows GitHub Actions dans un dépôt

    • Portées du défi OAuth : repo
    • method : L'action à effectuer (chaîne, obligatoire)
    • owner : Propriétaire du dépôt (chaîne, obligatoire)
    • page : Numéro de page pour la pagination (défaut : 1) (nombre, facultatif)
    • perPage : Résultats par page pour la pagination (défaut : 30, max : 100) (nombre, facultatif)
    • repo : Nom du dépôt (chaîne, obligatoire)
    • resource_id : L'identifiant unique de la ressource. Cela variera selon la "méthode" fournie, alors assurez-vous de fournir le bon ID :
      • Ne fournissez aucun ID de ressource pour la méthode 'list_workflows'.
      • Fournissez un ID de workflow ou un nom de fichier de workflow (par exemple ci.yaml) pour la méthode 'list_workflow_runs', ou omettez pour lister toutes les exécutions de workflows dans le dépôt.
      • Fournissez un ID d'exécution de workflow pour les méthodes 'list_workflow_jobs' et 'list_workflow_run_artifacts'. (chaîne, facultatif)
    • workflow_jobs_filter : Filtres pour les travaux de workflow. UNIQUEMENT utilisé lorsque la méthode est 'list_workflow_jobs' (objet, facultatif)
    • workflow_runs_filter : Filtres pour les exécutions de workflows. UNIQUEMENT utilisé lorsque la méthode est 'list_workflow_runs' (objet, facultatif)
  • actions_run_trigger - Déclencher des actions de workflow GitHub Actions

    • Portées du défi OAuth : repo
    • inputs : Entrées que le workflow accepte. Uniquement utilisé pour la méthode 'run_workflow'. (objet, facultatif)
    • method : La méthode à exécuter (chaîne, obligatoire)
    • owner : Propriétaire du dépôt (chaîne, obligatoire)
    • ref : La référence git pour le workflow. La référence peut être un nom de branche ou de tag. Requis pour la méthode 'run_workflow'. (chaîne, facultatif)
    • repo : Nom du dépôt (chaîne, obligatoire)
    • run_id : L'ID de l'exécution du workflow. Requis pour toutes les méthodes sauf 'run_workflow'. (nombre, facultatif)
    • workflow_id : L'ID du workflow (numérique) ou le nom du fichier de workflow (par exemple, main.yml, ci.yaml). Requis pour la méthode 'run_workflow'. (chaîne, facultatif)
  • get_job_logs - Obtenir les journaux de travaux de workflow GitHub Actions

    • Portées du défi OAuth : repo
    • failed_only : Lorsque vrai, obtient les journaux de tous les travaux échoués dans l'exécution de workflow spécifiée par run_id. Nécessite que run_id soit fourni. (booléen, facultatif)
    • job_id : L'identifiant unique du travail de workflow. Requis lors de l'obtention des journaux pour un seul travail. (nombre, facultatif)
    • owner : Propriétaire du dépôt (chaîne, obligatoire)
    • repo : Nom du dépôt (chaîne, obligatoire)
    • return_content : Renvoie le contenu réel du journal au lieu des URL (booléen, facultatif)
    • run_id : L'identifiant unique de l'exécution du workflow. Requis lorsque failed_only est vrai pour obtenir les journaux de tous les travaux échoués dans l'exécution. (nombre, facultatif)
    • tail_lines : Nombre de lignes à renvoyer depuis la fin du journal (nombre, facultatif)
code-square Qualité du code
  • get_code_quality_finding - Obtenir un constat de qualité du code
    • Portées du défi OAuth : repo
    • findingNumber : Le numéro du constat. (nombre, obligatoire)
    • owner : Le propriétaire du dépôt. (chaîne, obligatoire)
    • repo : Le nom du dépôt. (chaîne, obligatoire)
codescan Sécurité du code
  • get_code_scanning_alert - Obtenir une alerte d'analyse de code

    • Portées du défi OAuth : security_events
    • alertNumber : Le numéro de l'alerte. (nombre, obligatoire)
    • owner : Le propriétaire du dépôt. (chaîne, obligatoire)
    • repo : Le nom du dépôt. (chaîne, obligatoire)
  • list_code_scanning_alerts - Lister les alertes d'analyse de code

    • Portées du défi OAuth : security_events
    • owner : Le propriétaire du dépôt. (chaîne, obligatoire)
    • page : Numéro de page pour la pagination (min 1) (nombre, facultatif)
    • perPage : Résultats par page pour la pagination (min 1, max 100) (nombre, facultatif)
    • ref : La référence Git pour les résultats que vous souhaitez lister. (chaîne, facultatif)
    • repo : Le nom du dépôt. (chaîne, obligatoire)
    • severity : Filtrer les alertes d'analyse de code par gravité (chaîne, facultatif)
    • state : Filtrer les alertes d'analyse de code par état. Par défaut, ouvert (chaîne, facultatif)
    • tool_name : Le nom de l'outil utilisé pour l'analyse de code. (chaîne, facultatif)
person Contexte
  • get_me - Obtenir mon profil utilisateur

    • Interface utilisateur de l'application MCP : ui://github-mcp-server/get-me
    • Aucun paramètre requis
  • get_team_members - Obtenir les membres de l'équipe

    • Portées du défi OAuth : read:org
    • org : Identifiant de connexion de l'organisation (propriétaire) qui contient l'équipe. (chaîne, obligatoire)
    • team_slug : Slug de l'équipe (chaîne, obligatoire)
  • get_teams - Obtenir les équipes

    • Portées du défi OAuth : read:org
    • user : Nom d'utilisateur pour lequel obtenir les équipes. S'il n'est pas fourni, utilise l'utilisateur authentifié. (chaîne, facultatif)
  • ui_get - Obtenir les données de l'interface utilisateur

    • Portées du défi OAuth : repo, read:org
    • method : Le type de données à récupérer (chaîne, obligatoire)
    • owner : Propriétaire du dépôt (requis pour toutes les méthodes) (chaîne, obligatoire)
    • repo : Nom du dépôt (requis pour les étiquettes, assignés, jalons, branches, champs de problème, réviseurs) (chaîne, facultatif)
copilot Copilot
  • assign_copilot_to_issue - Assigner Copilot à un problème

    • Portées du défi OAuth : repo
    • base_ref : Référence Git (par exemple, branche) à partir de laquelle l'agent commencera son travail. Si non spécifié, utilise par défaut la branche par défaut du dépôt (chaîne, facultatif)
    • custom_instructions : Instructions personnalisées facultatives pour guider l'agent au-delà du corps du problème. Utilisez ceci pour fournir un contexte, des contraintes ou des conseils supplémentaires qui ne sont pas capturés dans la description du problème (chaîne, facultatif)
    • issue_number : Numéro du problème (nombre, obligatoire)
    • owner : Propriétaire du dépôt (chaîne, obligatoire)
    • repo : Nom du dépôt (chaîne, obligatoire)
  • request_copilot_review - Demander une revue Copilot

    • Portées du défi OAuth : repo
    • owner : Propriétaire du dépôt (chaîne, obligatoire)
    • pullNumber : Numéro de la demande de tirage (nombre, obligatoire)
    • repo : Nom du dépôt (chaîne, obligatoire)
copilot Intentions de problèmes Copilot - **assign_copilot_to_issue_with_intent** - Assigner Copilot à un problème avec intention - **Scopes de défi OAuth** : `repo` - `base_ref` : Référence Git (par exemple, branche) à partir de laquelle l'agent commencera son travail. Si non spécifiée, la branche par défaut du dépôt est utilisée. Ignorée lorsque is_suggestion est true (chaîne, facultatif) - `confidence` : Niveau de confiance dans ce choix. 'HIGH' pour un signal clair ou une demande explicite de l'utilisateur, 'MEDIUM' pour une inférence raisonnable avec une certaine ambiguïté, 'LOW' pour une estimation avec un signal limité. (chaîne, obligatoire) - `custom_instructions` : Instructions personnalisées facultatives pour guider l'agent au-delà du corps du problème. Ignorées lorsque is_suggestion est true (chaîne, facultatif) - `is_suggestion` : Si true, enregistre une intention d'assignation Copilot en attente plutôt que de lancer l'agent. L'approbation fournira ensuite le contexte de lancement ; base_ref et custom_instructions sont ignorés dans ce cas. (booléen, obligatoire) - `issue_number` : Numéro du problème (nombre, obligatoire) - `owner` : Propriétaire du dépôt (chaîne, obligatoire) - `rationale` : Une phrase concise expliquant ce qui, dans le problème, a conduit au choix de Copilot. Indiquez le signal concret (par exemple, « Tâche bien définie avec des critères d'acceptation clairs »). (chaîne, obligatoire) - `repo` : Nom du dépôt (chaîne, obligatoire)
dependabot Dependabot
  • get_dependabot_alert - Obtenir une alerte Dependabot

    • Scopes de défi OAuth : security_events
    • alertNumber : Le numéro de l'alerte. (nombre, obligatoire)
    • owner : Le propriétaire du dépôt. (chaîne, obligatoire)
    • repo : Le nom du dépôt. (chaîne, obligatoire)
  • list_dependabot_alerts - Lister les alertes Dependabot

    • Scopes de défi OAuth : security_events
    • after : Curseur pour la pagination. Utilisez le curseur de la réponse précédente. (chaîne, facultatif)
    • owner : Le propriétaire du dépôt. (chaîne, obligatoire)
    • perPage : Résultats par page pour la pagination (min 1, max 100) (nombre, facultatif)
    • repo : Le nom du dépôt. (chaîne, obligatoire)
    • severity : Filtrer les alertes Dependabot par gravité (chaîne, facultatif)
    • state : Filtrer les alertes Dependabot par état. Par défaut, ouvert (chaîne, facultatif)
comment-discussion Discussions
  • discussion_comment_write - Gérer les commentaires de discussion

    • Scopes de défi OAuth : repo
    • body : Contenu du commentaire (obligatoire pour les méthodes 'add', 'reply' et 'update') (chaîne, facultatif)
    • commentNodeID : L'ID de nœud du commentaire de discussion (obligatoire pour les méthodes 'reply', 'update', 'delete', 'mark_answer' et 'unmark_answer'). Pour 'reply', il s'agit du commentaire de premier niveau auquel répondre ; GitHub Discussions ne prend en charge qu'un seul niveau d'imbrication. (chaîne, facultatif)
    • discussionNumber : Numéro de discussion (obligatoire pour les méthodes 'add' et 'reply') (nombre, facultatif)
    • method : Opération d'écriture à effectuer sur un commentaire de discussion. Les options sont :
      • 'add' - ajoute un nouveau commentaire de premier niveau à une discussion.
      • 'reply' - répond à un commentaire de discussion de premier niveau (GitHub Discussions ne prend en charge qu'un seul niveau d'imbrication).
      • 'update' - met à jour un commentaire de discussion existant.
      • 'delete' - supprime un commentaire de discussion.
      • 'mark_answer' - marque un commentaire de discussion comme réponse (Q&R uniquement).
      • 'unmark_answer' - démarque un commentaire de discussion comme réponse (Q&R uniquement). (chaîne, obligatoire)
    • owner : Propriétaire du dépôt (obligatoire pour les méthodes 'add' et 'reply') (chaîne, facultatif)
    • repo : Nom du dépôt (obligatoire pour les méthodes 'add' et 'reply') (chaîne, facultatif)
  • get_discussion - Obtenir une discussion

    • Scopes de défi OAuth : repo
    • discussionNumber : Numéro de discussion (nombre, obligatoire)
    • owner : Propriétaire du dépôt (chaîne, obligatoire)
    • repo : Nom du dépôt (chaîne, obligatoire)
  • get_discussion_comments - Obtenir les commentaires de discussion

    • Scopes de défi OAuth : repo
    • after : Curseur pour la pagination. Utilisez le curseur de la réponse précédente. (chaîne, facultatif)
    • discussionNumber : Numéro de discussion (nombre, obligatoire)
    • includeReplies : Lorsque true, chaque commentaire de premier niveau inclura ses réponses imbriquées (jusqu'à 100 réponses par commentaire, ce qui est le maximum de l'API GitHub). Par défaut, false. (booléen, facultatif)
    • owner : Propriétaire du dépôt (chaîne, obligatoire)
    • perPage : Résultats par page pour la pagination (min 1, max 100) (nombre, facultatif)
    • repo : Nom du dépôt (chaîne, obligatoire)
  • list_discussion_categories - Lister les catégories de discussion

    • Scopes de défi OAuth : repo
    • owner : Propriétaire du dépôt (chaîne, obligatoire)
    • repo : Nom du dépôt. S'il n'est pas fourni, les catégories de discussion seront interrogées au niveau de l'organisation. (chaîne, facultatif)
  • list_discussions - Lister les discussions

    • Scopes de défi OAuth : repo
    • after : Curseur pour la pagination. Utilisez le curseur de la réponse précédente. (chaîne, facultatif)
    • category : Filtre facultatif par ID de catégorie de discussion. S'il est fourni, seules les discussions avec cette catégorie sont listées. (chaîne, facultatif)
    • direction : Sens de l'ordre. (chaîne, facultatif)
    • orderBy : Trier les discussions par champ. S'il est fourni, le « direction » doit également être fourni. (chaîne, facultatif)
    • owner : Propriétaire du dépôt (chaîne, obligatoire)
    • perPage : Résultats par page pour la pagination (min 1, max 100) (nombre, facultatif)
    • repo : Nom du dépôt. S'il n'est pas fourni, les discussions seront interrogées au niveau de l'organisation. (chaîne, facultatif)
logo-gist Gists
  • create_gist - Créer un Gist

    • Scopes de défi OAuth : gist
    • content : Contenu pour la création simple d'un gist à fichier unique (chaîne, obligatoire)
    • description : Description du gist (chaîne, facultatif)
    • filename : Nom de fichier pour la création simple d'un gist à fichier unique (chaîne, obligatoire)
    • public : Indique si le gist est public (booléen, facultatif)
  • get_gist - Obtenir le contenu d'un Gist

    • gist_id : L'ID du gist (chaîne, obligatoire)
  • list_gists - Lister les Gists

    • page : Numéro de page pour la pagination (min 1) (nombre, facultatif)
    • perPage : Résultats par page pour la pagination (min 1, max 100) (nombre, facultatif)
    • since : Uniquement les gists mis à jour après cette heure (horodatage ISO 8601) (chaîne, facultatif)
    • username : Nom d'utilisateur GitHub (omettre pour les gists de l'utilisateur authentifié) (chaîne, facultatif)
  • update_gist - Mettre à jour un Gist

    • Scopes de défi OAuth : gist
    • content : Contenu du fichier (chaîne, obligatoire)
    • description : Description mise à jour du gist (chaîne, facultatif)
    • filename : Nom de fichier à mettre à jour ou à créer (chaîne, obligatoire)
    • gist_id : ID du gist à mettre à jour (chaîne, obligatoire)
git-branch Git
  • get_repository_tree - Obtenir l'arborescence du dépôt
    • Scopes de défi OAuth : repo
    • owner : Propriétaire du dépôt (nom d'utilisateur ou organisation) (chaîne, obligatoire)
    • path_filter : Préfixe de chemin facultatif pour filtrer les résultats de l'arborescence (par exemple, 'src/' pour afficher uniquement les fichiers du répertoire src) (chaîne, facultatif)
    • recursive : Définir ce paramètre sur true renvoie les objets ou sous-arbres référencés par l'arborescence. La valeur par défaut est false (booléen, facultatif)
    • repo : Nom du dépôt (chaîne, obligatoire)
    • tree_sha : La valeur SHA1 ou le nom de la référence (branche ou tag) de l'arborescence. Par défaut, la branche par défaut du dépôt (chaîne, facultatif)
law Gouvernance
  • create_repository_ruleset - Créer un ensemble de règles de dépôt

    • Scopes de défi OAuth : repo, admin:org, admin:enterprise
    • bypass_actors : Les acteurs qui peuvent contourner les règles de cet ensemble de règles (object[], facultatif)
    • conditions : Conditions d'application de cet ensemble de règles, par exemple {"ref_name": {"include": ["refs/heads/main"], "exclude": []}} (objet, facultatif)
    • enforcement : Le niveau d'application de l'ensemble de règles. 'evaluate' permet aux administrateurs de tester les règles avant de les appliquer (chaîne, obligatoire)
    • enterprise : Identifiant de l'entreprise. Requis lorsque le niveau est 'enterprise'. (chaîne, facultatif)
    • level : Le niveau auquel l'ensemble de règles est configuré :
      • 'repository' : un ensemble de règles sur un seul dépôt (nécessite 'owner' et 'repo').
      • 'organization' : un ensemble de règles couvrant les dépôts d'une organisation (nécessite 'org').
      • 'enterprise' : un ensemble de règles couvrant les dépôts d'une entreprise (nécessite 'enterprise'). (chaîne, obligatoire)
    • name : Le nom de l'ensemble de règles (chaîne, obligatoire)
    • org : Nom de l'organisation. Requis lorsque le niveau est 'organization'. (chaîne, facultatif)
    • owner : Propriétaire du dépôt. Requis lorsque le niveau est 'repository'. (chaîne, facultatif)
    • repo : Nom du dépôt. Requis lorsque le niveau est 'repository'. (chaîne, facultatif)
    • rules : Un tableau de règles au sein de l'ensemble de règles. Chaque règle est un objet avec un 'type' (par exemple, 'creation', 'deletion', 'non_fast_forward', 'required_signatures', 'pull_request', 'required_status_checks') et, pour les règles nécessitant une configuration, un objet 'parameters' (object[], obligatoire)
    • target : La cible de l'ensemble de règles. Par défaut, 'branch'. 'repository' n'est valide que pour les ensembles de règles de niveau 'organization' et 'enterprise'. (chaîne, facultatif)
  • custom_properties_read - Lire les propriétés personnalisées

    • Scopes de défi OAuth : repo, read:org, read:enterprise
    • enterprise : Identifiant de l'entreprise. Requis lorsque le niveau est 'enterprise'. (chaîne, facultatif)
    • level : Le niveau auquel les propriétés personnalisées sont gérées :
      • 'repository' : les VALEURS des propriétés personnalisées assignées à un dépôt (nécessite 'owner' et 'repo').
      • 'organization' : les DÉFINITIONS (schéma) des propriétés personnalisées pour une organisation (nécessite 'org').
      • 'enterprise' : les DÉFINITIONS (schéma) des propriétés personnalisées pour une entreprise (nécessite 'enterprise'). (chaîne, obligatoire)
    • org : Nom de l'organisation. Requis lorsque le niveau est 'organization'. (chaîne, facultatif)
    • owner : Propriétaire du dépôt. Requis lorsque le niveau est 'repository'. (chaîne, facultatif)
    • repo : Nom du dépôt. Requis lorsque le niveau est 'repository'. (chaîne, facultatif)
  • custom_properties_write - Définir les propriétés personnalisées

    • Portées du défi OAuth : repo, admin:org, admin:enterprise
    • enterprise : Slug de l'entreprise. Requis lorsque le niveau est « enterprise ». (chaîne, facultatif)
    • level : Le niveau auquel les propriétés personnalisées sont gérées :
      • « repository » : Les VALEURS de propriété personnalisée assignées à un dépôt (nécessite « owner » et « repo »).
      • « organization » : Les DÉFINITIONS (schéma) de propriété personnalisée pour une organisation (nécessite « org »).
      • « enterprise » : Les DÉFINITIONS (schéma) de propriété personnalisée pour une entreprise (nécessite « enterprise »). (chaîne, requis)
    • org : Nom de l'organisation. Requis lorsque le niveau est « organization ». (chaîne, facultatif)
    • owner : Propriétaire du dépôt. Requis lorsque le niveau est « repository ». (chaîne, facultatif)
    • properties : Les propriétés personnalisées à créer ou mettre à jour. Au niveau du dépôt, chaque élément assigne une valeur (« property_name » et « value ») ; aux niveaux de l'organisation et de l'entreprise, chaque élément définit le schéma (« property_name » et « value_type », plus des champs de définition facultatifs). (objet[], requis)
    • repo : Nom du dépôt. Requis lorsque le niveau est « repository ». (chaîne, facultatif)
  • repository_ruleset_read - Lire les ensembles de règles du dépôt

    • Portées du défi OAuth : repo, read:org, read:enterprise
    • actor_name : L'identifiant du compte utilisateur GitHub pour filtrer les suites de règles. Utilisé par la méthode « list_rule_suites ». (chaîne, facultatif)
    • branch : Nom de la branche. Requis pour la méthode « get_rules_for_branch ». (chaîne, facultatif)
    • enterprise : Slug de l'entreprise. Requis lorsque le niveau est « enterprise ». (chaîne, facultatif)
    • evaluate_status : Filtrer les suites de règles par mode d'évaluation de l'ensemble de règles. Utilisé par la méthode « list_rule_suites ». (chaîne, facultatif)
    • includes_parents : Inclure les ensembles de règles configurés à des niveaux supérieurs qui s'appliquent également. Par défaut, true. Utilisé par les méthodes « get » et « list » au niveau du dépôt. (booléen, facultatif)
    • level : Le niveau auquel l'ensemble de règles est configuré :
      • « repository » : Un ensemble de règles sur un seul dépôt (nécessite « owner » et « repo »).
      • « organization » : Un ensemble de règles couvrant les dépôts d'une organisation (nécessite « org »).
      • « enterprise » : Un ensemble de règles couvrant les dépôts d'une entreprise (nécessite « enterprise »). (chaîne, requis)
    • method : Opération à effectuer :
      • « get » : Obtenir un ensemble de règles spécifique par ID (nécessite « ruleset_id »). Pris en charge à chaque niveau.
      • « list » : Lister tous les ensembles de règles. Pris en charge à chaque niveau.
      • « get_rules_for_branch » : Obtenir toutes les règles qui s'appliquent à une branche (nécessite « branch »). Niveau dépôt uniquement.
      • « list_rule_suites » : Lister les suites de règles, les évaluations des règles par rapport aux pushs. Niveaux dépôt et organisation uniquement.
      • « get_rule_suite » : Obtenir une suite de règles spécifique par ID (nécessite « rule_suite_id »). Niveaux dépôt et organisation uniquement. (chaîne, requis)
    • org : Nom de l'organisation. Requis lorsque le niveau est « organization ». (chaîne, facultatif)
    • owner : Propriétaire du dépôt. Requis lorsque le niveau est « repository ». (chaîne, facultatif)
    • page : Numéro de page pour la pagination (min 1) (nombre, facultatif)
    • perPage : Résultats par page pour la pagination (min 1, max 100) (nombre, facultatif)
    • ref : Le nom de la référence (branche, étiquette, etc.) pour filtrer les suites de règles. Utilisé par la méthode « list_rule_suites ». (chaîne, facultatif)
    • repo : Nom du dépôt. Requis lorsque le niveau est « repository ». (chaîne, facultatif)
    • repository_name : Nom du dépôt pour filtrer les suites de règles. Utilisé par la méthode « list_rule_suites » au niveau de l'organisation. (chaîne, facultatif)
    • rule_suite_id : ID de la suite de règles. Requis pour la méthode « get_rule_suite ». (nombre, facultatif)
    • rule_suite_result : Le résultat de la suite de règles pour filtrer. Utilisé par la méthode « list_rule_suites ». (chaîne, facultatif)
    • ruleset_id : ID de l'ensemble de règles. Requis pour la méthode « get ». (nombre, facultatif)
    • time_period : La période pour filtrer les suites de règles. Utilisé par la méthode « list_rule_suites ». (chaîne, facultatif)
issue-opened Problèmes
  • add_issue_comment - Ajouter un commentaire à un problème ou à une demande de tirage

    • Portées du défi OAuth : repo
    • body : Contenu du commentaire. Requis sauf si une réaction est fournie. (chaîne, facultatif)
    • comment_id : L'ID numérique du commentaire du problème ou de la demande de tirage auquel réagir. Utilisez ceci pour les réactions aux commentaires ; omettez-le pour réagir au problème ou à la demande de tirage elle-même. Ne peut pas être combiné avec body. (entier, facultatif)
    • issue_number : Numéro du problème ou de la demande de tirage à commenter ou auquel réagir. (nombre, requis)
    • owner : Propriétaire du dépôt (chaîne, requis)
    • reaction : Réaction emoji à ajouter. Requise sauf si body est fourni. (chaîne, facultatif)
    • repo : Nom du dépôt (chaîne, requis)
  • get_label - Obtenir une étiquette spécifique d'un dépôt

    • Portées du défi OAuth : repo
    • name : Nom de l'étiquette. (chaîne, requis)
    • owner : Propriétaire du dépôt (nom d'utilisateur ou nom d'organisation) (chaîne, requis)
    • repo : Nom du dépôt (chaîne, requis)
  • issue_read - Obtenir les détails d'un problème

    • Portées du défi OAuth : repo
    • issue_number : Le numéro du problème (nombre, requis)
    • method : L'opération de lecture à effectuer sur un seul problème. Les options sont :
      1. get - Obtenir les détails du problème. Renvoie également des indicateurs de hiérarchie au mieux (has_parent, has_children) ; parent et sub_issues_summary sont des résumés de relations facultatifs, et closed_by_pull_requests résume les demandes de tirage configurées pour fermer le problème comme total_count plus jusqu'à 5 references.
      2. get_comments - Obtenir les commentaires du problème.
      3. get_sub_issues - Obtenir les sous-problèmes (enfants) du problème.
      4. get_parent - Obtenir le problème parent, si ce problème est un sous-problème d'un autre.
      5. get_labels - Obtenir les étiquettes assignées au problème. (chaîne, requis)
    • owner : Le propriétaire du dépôt (chaîne, requis)
    • page : Numéro de page pour la pagination (min 1) (nombre, facultatif)
    • perPage : Résultats par page pour la pagination (min 1, max 100) (nombre, facultatif)
    • repo : Le nom du dépôt (chaîne, requis)
  • issue_write - Créer ou mettre à jour un problème/demande de tirage

    • Portées du défi OAuth : repo
    • Interface utilisateur de l'application MCP : ui://github-mcp-server/issue-write
    • assignees : Noms d'utilisateur à assigner à ce problème (chaîne[], facultatif)
    • body : Contenu du corps du problème (chaîne, facultatif)
    • duplicate_of : Numéro du problème dont ce problème est un doublon. Requis lorsque state_reason est « duplicate ». (nombre, facultatif)
    • issue_fields : Valeurs des champs du problème à définir ou effacer. Chaque élément nécessite « field_name » et exactement un de « value », « field_option_name » ou « delete: true ». (objet[], facultatif)
    • issue_number : Numéro du problème à mettre à jour (nombre, facultatif)
    • labels : Étiquettes à appliquer à ce problème (chaîne[], facultatif)
    • method : Opération d'écriture à effectuer sur un seul problème. Les options sont :
      • « create » - crée un nouveau problème.
      • « update » - met à jour un problème existant. (chaîne, requis)
    • milestone : Numéro de jalon (nombre, facultatif)
    • owner : Propriétaire du dépôt (chaîne, requis)
    • parent_issue_number : Numéro du problème parent. Utilisé uniquement lorsque la méthode est « create » et ne peut pas être combiné avec issue_fields. Le nouveau problème est créé et attaché à ce parent dans la même opération. (nombre, facultatif)
    • parent_owner : Propriétaire du dépôt du problème parent. Doit être fourni avec parent_repo. Omettez les deux pour utiliser owner et repo. Utilisé uniquement lorsque la méthode est « create » et que parent_issue_number est fourni. (chaîne, facultatif)
    • parent_repo : Nom du dépôt du problème parent. Doit être fourni avec parent_owner. Omettez les deux pour utiliser owner et repo. Utilisé uniquement lorsque la méthode est « create » et que parent_issue_number est fourni. (chaîne, facultatif)
    • repo : Nom du dépôt (chaîne, requis)
    • state : Nouvel état (chaîne, facultatif)
    • state_reason : Raison du changement d'état. Ignorée sauf si l'état est modifié. (chaîne, facultatif)
    • title : Titre du problème (chaîne, facultatif)
    • type : Type de ce problème. Pour les mises à jour, passez null pour supprimer le type actuel. Utilisez uniquement si les types de problèmes sont activés pour ce dépôt. Utilisez list_issue_types pour obtenir les valeurs de type valides pour ce dépôt ou son organisation propriétaire. Si le dépôt ne prend pas en charge les types de problèmes, omettez ce paramètre. (chaîne | null, facultatif)
  • list_issue_fields - Lister les champs de problème

    • Portées du défi OAuth : repo, read:org
    • owner : Le propriétaire du compte du dépôt ou de l'organisation. Le nom n'est pas sensible à la casse. (chaîne, requis)
    • repo : Le nom du dépôt. Lorsqu'il est fourni, renvoie les champs pour ce dépôt spécifique (hérités de son organisation). Lorsqu'il est omis, renvoie directement les champs au niveau de l'organisation. (chaîne, facultatif)
  • list_issue_types - Lister les types de problèmes disponibles

    • Portées du défi OAuth : repo, read:org
    • owner : Le propriétaire du compte du dépôt ou de l'organisation. (chaîne, requis)
    • repo : Le nom du dépôt. Lorsqu'il est fourni, renvoie les types de problèmes pour ce dépôt spécifique. Lorsqu'il est omis, renvoie directement les types de problèmes au niveau de l'organisation. (chaîne, facultatif)
  • list_issues - Lister les problèmes

    • Portées du défi OAuth : repo
    • after : Curseur pour la pagination. Utilisez le curseur de la réponse précédente. (chaîne, facultatif)
    • direction : Direction du tri. Si fournie, « orderBy » doit également être fourni. (chaîne, facultatif)
    • field_filters : Filtrer par valeurs de champs de problème personnalisés. Chaque entrée prend un field_name et une valeur ; le serveur recherche le champ et convertit la valeur en son type (nom d'option à sélection unique, texte, nombre ou date AAAA-MM-JJ). (objet[], facultatif)
    • fields : Sous-ensemble de champs à renvoyer pour chaque problème. S'il est omis, tous les champs sont renvoyés. Utilisez ceci pour réduire la taille de la réponse lorsque vous n'avez besoin que de champs spécifiques ; omettre « body » et « field_values » en particulier supprime les données les plus volumineuses par résultat. (chaîne[], facultatif)
    • labels : Filtrer par étiquettes (chaîne[], facultatif)
    • orderBy : Trier les problèmes par champ. Si fourni, « direction » doit également être fourni. (chaîne, facultatif)
    • owner : Propriétaire du dépôt (chaîne, requis)
    • perPage : Résultats par page pour la pagination (min 1, max 100) (nombre, facultatif)
    • repo : Nom du dépôt (chaîne, requis)
    • since : Filtrer par date (horodatage ISO 8601) (chaîne, facultatif)
    • state : Filtrer par état ; par défaut, les problèmes ouverts et fermés sont renvoyés lorsqu'il n'est pas fourni (chaîne, facultatif)
  • search_issues - Rechercher des issues

    • OAuth Challenge Scopes : repo
    • fields : Sous-ensemble de champs à retourner pour chaque résultat d'issue. Si omis, tous les champs sont retournés. Utilisez ceci pour réduire la taille de la réponse lorsque vous n'avez besoin que de champs spécifiques ; l'omission de 'body', 'reactions' et 'labels' en particulier supprime les données les plus volumineuses par résultat. (string[], optionnel)
    • order : Ordre de tri (string, optionnel)
    • owner : Propriétaire du dépôt optionnel. S'il est fourni avec repo, seules les issues de ce dépôt sont listées. (string, optionnel)
    • page : Numéro de page pour la pagination (min 1) (number, optionnel)
    • perPage : Résultats par page pour la pagination (min 1, max 100) (number, optionnel)
    • query : La requête de recherche, en langage naturel. Lorsque l'utilisateur donne des formulations alternatives, incluez-les comme mots simples plutôt que de les joindre avec OR. (string, requis)
    • repo : Nom du dépôt optionnel. S'il est fourni avec owner, seules les issues de ce dépôt sont listées. (string, optionnel)
    • sort : Champ de tri par nombre de correspondances de catégories, par défaut meilleure correspondance (string, optionnel)
  • sub_issue_write - Modifier une sous-issue

    • OAuth Challenge Scopes : repo
    • after_id : L'ID de la sous-issue à prioriser après (soit after_id OU before_id doit être spécifié) (number, optionnel)
    • before_id : L'ID de la sous-issue à prioriser avant (soit after_id OU before_id doit être spécifié) (number, optionnel)
    • issue_number : Le numéro de l'issue parente (number, requis)
    • method : L'action à effectuer sur une seule sous-issue Les options sont :
      • 'add' - ajouter une sous-issue à une issue parente dans un dépôt GitHub.
      • 'remove' - retirer une sous-issue d'une issue parente dans un dépôt GitHub.
      • 'reprioritize' - modifier l'ordre des sous-issues dans une issue parente dans un dépôt GitHub. Utilisez soit 'after_id' ou 'before_id' pour spécifier la nouvelle position. Écrit la hiérarchie des issues. Pour déplacer une sous-issue vers un nouveau parent, utilisez add avec replace_parent=true ; il n'y a pas de champ parent modifiable. (string, requis)
    • owner : Propriétaire du dépôt (string, requis)
    • replace_parent : Lorsque true, remplace l'issue parente actuelle de la sous-issue. À utiliser uniquement avec la méthode 'add'. (boolean, optionnel)
    • repo : Nom du dépôt (string, requis)
    • sub_issue_id : L'ID de la sous-issue à ajouter. L'ID n'est pas le même que le numéro d'issue (number, requis)
  • update_issue_comment - Mettre à jour un commentaire d'issue

    • OAuth Challenge Scopes : repo
    • body : Nouveau contenu du commentaire (string, requis)
    • comment_id : L'ID numérique du commentaire de conversation d'issue ou de pull request à mettre à jour. N'utilisez pas un ID de commentaire de revue de pull request. (integer, requis)
    • owner : Propriétaire du dépôt (string, requis)
    • repo : Nom du dépôt (string, requis)
tag Étiquettes
  • get_label - Obtenir une étiquette spécifique d'un dépôt

    • OAuth Challenge Scopes : repo
    • name : Nom de l'étiquette. (string, requis)
    • owner : Propriétaire du dépôt (nom d'utilisateur ou nom d'organisation) (string, requis)
    • repo : Nom du dépôt (string, requis)
  • label_write - Opérations d'écriture sur les étiquettes du dépôt

    • OAuth Challenge Scopes : repo
    • color : Couleur de l'étiquette sous forme de code hexadécimal à 6 caractères sans préfixe '#' (par exemple, 'f29513'). Requis pour 'create', optionnel pour 'update'. (string, optionnel)
    • description : Texte de description de l'étiquette. Optionnel pour 'create' et 'update'. (string, optionnel)
    • method : Opération à effectuer : 'create', 'update' ou 'delete' (string, requis)
    • name : Nom de l'étiquette - requis pour toutes les opérations (string, requis)
    • new_name : Nouveau nom pour l'étiquette (utilisé uniquement avec la méthode 'update' pour renommer) (string, optionnel)
    • owner : Propriétaire du dépôt (nom d'utilisateur ou nom d'organisation) (string, requis)
    • repo : Nom du dépôt (string, requis)
  • list_label - Lister les étiquettes d'un dépôt

    • OAuth Challenge Scopes : repo
    • after : Curseur pour la pagination. Utilisez le curseur de la réponse précédente. (string, optionnel)
    • owner : Propriétaire du dépôt (nom d'utilisateur ou nom d'organisation) - requis pour toutes les opérations (string, requis)
    • perPage : Résultats par page pour la pagination (min 1, max 100) (number, optionnel)
    • repo : Nom du dépôt - requis pour toutes les opérations (string, requis)
bell Notifications
  • dismiss_notification - Ignorer une notification

    • OAuth Challenge Scopes : notifications
    • state : Le nouvel état de la notification (read/done) (string, requis)
    • threadID : L'ID du fil de discussion de la notification (string, requis)
  • get_notification_details - Obtenir les détails d'une notification

    • OAuth Challenge Scopes : notifications
    • notificationID : L'ID de la notification (string, requis)
  • list_notifications - Lister les notifications

    • OAuth Challenge Scopes : notifications
    • before : Afficher uniquement les notifications mises à jour avant l'heure donnée (format ISO 8601) (string, optionnel)
    • filter : Filtrer les notifications, utiliser la valeur par défaut sauf indication contraire. Les notifications lues sont celles qui ont déjà été reconnues par l'utilisateur. Les notifications participantes sont celles auxquelles l'utilisateur est directement impliqué, comme les issues ou pull requests sur lesquelles il a commenté ou qu'il a créées. (string, optionnel)
    • owner : Propriétaire du dépôt optionnel. S'il est fourni avec repo, seules les notifications de ce dépôt sont listées. (string, optionnel)
    • page : Numéro de page pour la pagination (min 1) (number, optionnel)
    • perPage : Résultats par page pour la pagination (min 1, max 100) (number, optionnel)
    • repo : Nom du dépôt optionnel. S'il est fourni avec owner, seules les notifications de ce dépôt sont listées. (string, optionnel)
    • since : Afficher uniquement les notifications mises à jour après l'heure donnée (format ISO 8601) (string, optionnel)
  • manage_notification_subscription - Gérer l'abonnement aux notifications

    • OAuth Challenge Scopes : notifications
    • action : Action à effectuer : ignore, watch ou delete l'abonnement aux notifications. (string, requis)
    • notificationID : L'ID du fil de discussion de la notification. (string, requis)
  • manage_repository_notification_subscription - Gérer l'abonnement aux notifications du dépôt

    • OAuth Challenge Scopes : notifications
    • action : Action à effectuer : ignore, watch ou delete l'abonnement aux notifications du dépôt. (string, requis)
    • owner : Le propriétaire du compte du dépôt. (string, requis)
    • repo : Le nom du dépôt. (string, requis)
  • mark_all_notifications_read - Marquer toutes les notifications comme lues

    • OAuth Challenge Scopes : notifications
    • lastReadAt : Décrit le dernier point où les notifications ont été vérifiées (optionnel). Par défaut : Maintenant (string, optionnel)
    • owner : Propriétaire du dépôt optionnel. S'il est fourni avec repo, seules les notifications de ce dépôt sont marquées comme lues. (string, optionnel)
    • repo : Nom du dépôt optionnel. S'il est fourni avec owner, seules les notifications de ce dépôt sont marquées comme lues. (string, optionnel)
organization Organisations
  • search_orgs - Rechercher des organisations
    • OAuth Challenge Scopes : read:org
    • order : Ordre de tri (string, optionnel)
    • page : Numéro de page pour la pagination (min 1) (number, optionnel)
    • perPage : Résultats par page pour la pagination (min 1, max 100) (number, optionnel)
    • query : Requête de recherche d'organisation. Exemples : 'microsoft', 'location:california', 'created:>=2025-01-01'. La recherche est automatiquement limitée à type:org. (string, requis)
    • sort : Champ de tri par catégorie (string, optionnel)
project Projets
  • projects_get - Obtenir les détails des ressources GitHub Projects

    • OAuth Challenge Scopes : read:project
    • field_id : L'ID du champ. Requis pour la méthode 'get_project_field'. (number, optionnel)
    • field_names : Liste spécifique des noms de champs à inclure dans la réponse lors de l'obtention d'un élément de projet (par exemple ["Status", "Priority"]). Résolu côté serveur en ID de champs — passez ceci au lieu de 'fields' lorsque vous ne connaissez que les noms lisibles par l'humain. Mutuellement exclusif avec 'fields' — fournissez-en un, pas les deux. Utilisé uniquement pour la méthode 'get_project_item'. (string[], optionnel)
    • fields : Liste spécifique des ID de champs à inclure dans la réponse lors de l'obtention d'un élément de projet (par exemple ["102589", "985201", "169875"]). Si ni 'fields' ni 'field_names' n'est fourni, seul le champ titre est inclus. Mutuellement exclusif avec 'field_names' — fournissez-en un, pas les deux. Utilisé uniquement pour la méthode 'get_project_item'. (string[], optionnel)
    • item_id : L'ID de l'élément. Requis pour la méthode 'get_project_item'. (number, optionnel)
    • method : La méthode à exécuter (string, requis)
    • owner : Le propriétaire (identifiant d'utilisateur ou d'organisation). Le nom n'est pas sensible à la casse. (string, optionnel)
    • owner_type : Type de propriétaire (user ou org). S'il n'est pas fourni, il sera automatiquement détecté. (string, optionnel)
    • project_number : Le numéro du projet. (number, optionnel)
    • status_update_id : L'ID de nœud de la mise à jour de statut du projet. Requis pour la méthode 'get_project_status_update'. (string, optionnel)
    • view_id : L'ID de nœud de la vue du projet. Requis pour la méthode 'get_project_view'. (string, optionnel)
  • projects_list - Lister les ressources GitHub Projects

    • OAuth Challenge Scopes : read:project
    • after : Curseur de pagination avant depuis pageInfo.nextCursor de la page précédente. (chaîne, optionnel)
    • before : Curseur de pagination arrière depuis pageInfo.prevCursor de la page précédente (rare). (chaîne, optionnel)
    • field_names : Noms des champs à inclure lors de la liste des éléments du projet (par exemple ["Status", "Priority"]). Résolus côté serveur en identifiants de champs — passez ceci au lieu de 'fields' lorsque vous ne connaissez que les noms lisibles par un humain. Les noms qui ne peuvent pas être résolus renvoient une erreur structurée. Mutuellement exclusif avec 'fields' — fournissez-en un seul, pas les deux. Utilisé uniquement pour la méthode 'list_project_items'. (chaîne[], optionnel)
    • fields : Identifiants des champs à inclure lors de la liste des éléments du projet (par exemple ["102589", "985201"]). CRITIQUE : Toujours fournir pour obtenir les valeurs des champs. Sans cela (et sans 'field_names'), seuls les titres sont renvoyés. Mutuellement exclusif avec 'field_names' — fournissez-en un seul, pas les deux. Utilisé uniquement pour la méthode 'list_project_items'. (chaîne[], optionnel)
    • method : L'action à effectuer (chaîne, requis)
    • owner : Le propriétaire (identifiant de connexion de l'utilisateur ou de l'organisation). Le nom n'est pas sensible à la casse. (chaîne, requis)
    • owner_type : Type de propriétaire (utilisateur ou organisation). S'il n'est pas fourni, les deux seront automatiquement essayés. (chaîne, optionnel)
    • perPage : Résultats par page (max 50) (nombre, optionnel)
    • project_number : Le numéro du projet. Requis pour les méthodes 'list_project_fields', 'list_project_items', 'list_project_views' et 'list_project_status_updates'. (nombre, optionnel)
    • query : Chaîne de filtre/requête. Pour list_projects : filtrer par texte du titre et état (par exemple "roadmap is:open"). Pour list_project_items : filtrage avancé utilisant la syntaxe de filtrage des projets GitHub. (chaîne, optionnel)
  • projects_write - Gérer les GitHub Projects

    • OAuth Challenge Scopes : project
    • body : Le corps de la mise à jour de statut (markdown). Utilisé pour la méthode 'create_project_status_update'. (chaîne, optionnel)
    • field_name : Le nom du champ d'itération (par exemple 'Sprint'). Requis pour la méthode 'create_iteration_field'. (chaîne, optionnel)
    • filter : Filtre de vue enregistré ; omettre lors de la mise à jour pour le conserver, ou passer null pour l'effacer. (chaîne | null, optionnel)
    • issue_number : Le numéro du problème. Requis pour 'add_project_item' lorsque item_type est 'issue'. Également accepté par 'update_project_item' pour résoudre l'élément par numéro de problème (combiner avec item_owner et item_repo). (nombre, optionnel)
    • item_id : L'identifiant de l'élément du projet. Requis pour 'delete_project_item'. Pour 'update_project_item', fournissez soit item_id, soit (item_owner + item_repo + issue_number) pour résoudre l'élément par problème. (nombre, optionnel)
    • item_owner : Le propriétaire (utilisateur ou organisation) du dépôt contenant le problème ou la demande de tirage. Requis pour la méthode 'add_project_item'. Également accepté par 'update_project_item' lors de la résolution de l'élément par numéro de problème. (chaîne, optionnel)
    • item_repo : Le nom du dépôt contenant le problème ou la demande de tirage. Requis pour la méthode 'add_project_item'. Également accepté par 'update_project_item' lors de la résolution de l'élément par numéro de problème. (chaîne, optionnel)
    • item_type : Le type de l'élément, soit issue ou pull_request. Requis pour la méthode 'add_project_item'. (chaîne, optionnel)
    • items : Les éléments à mettre à jour avec le 'updated_field' de niveau supérieur. Requis pour 'update_project_items' ; préférez-le plutôt que d'appeler 'update_project_item' dans une boucle. Chaque entrée doit correspondre exactement à une variante de référence : 'node_id', 'item_id' numérique, ou 'item_owner' + 'item_repo' + 'issue_number'. Limite : 50 éléments par appel. (objet[], optionnel)
    • iteration_duration : Durée en jours pour les itérations du champ (par exemple 7 pour hebdomadaire, 14 pour bihebdomadaire). Requis pour la méthode 'create_iteration_field'. (nombre, optionnel)
    • iterations : Itérations personnalisées pour la méthode 'create_iteration_field'. Ne définissez ceci que lorsque vous avez besoin d'itérations avec des durées variables, des pauses entre elles, ou des titres spécifiques. Sinon, omettez-le : GitHub crée automatiquement trois itérations de 'iteration_duration' jours commençant à 'start_date', ce qui est le bon choix dans la plupart des cas. (objet[], optionnel)
    • layout : Disposition de la vue ; requise lors de la création d'une vue. (chaîne, optionnel)
    • method : La méthode à exécuter (chaîne, requis)
    • name : Nom de la vue ; requis lors de la création d'une vue. (chaîne, optionnel)
    • owner : Le propriétaire du projet (identifiant de connexion de l'utilisateur ou de l'organisation). Le nom n'est pas sensible à la casse. (chaîne, requis)
    • owner_type : Type de propriétaire (utilisateur ou organisation). Requis pour la méthode 'create_project'. S'il n'est pas fourni pour d'autres méthodes, il sera automatiquement détecté. (chaîne, optionnel)
    • project_number : Le numéro du projet. Requis pour toutes les méthodes sauf 'create_project'. (nombre, optionnel)
    • pull_request_number : Le numéro de la demande de tirage (utilisez lorsque item_type est 'pull_request' pour la méthode 'add_project_item'). Fournissez soit issue_number ou pull_request_number. (nombre, optionnel)
    • start_date : Date de début au format AAAA-MM-JJ. Utilisée pour les méthodes 'create_project_status_update' et 'create_iteration_field'. (chaîne, optionnel)
    • status : Le statut du projet. Utilisé pour la méthode 'create_project_status_update'. (chaîne, optionnel)
    • target_date : La date cible de la mise à jour de statut au format AAAA-MM-JJ. Utilisée pour la méthode 'create_project_status_update'. (chaîne, optionnel)
    • title : Le titre du projet. Requis pour la méthode 'create_project'. (chaîne, optionnel)
    • updated_field : Le champ/valeur à appliquer, en utilisant {"id": 123, "value": ...} ou {"name": "Status", "value": ...} ; null efface le champ. Requis pour 'update_project_item' et 'update_project_items', où un champ/valeur de niveau supérieur s'applique à chaque élément d'un lot. Pour les champs SINGLE_SELECT de 'update_project_item', la forme du nom accepte les noms d'options ; la forme de l'identifiant attend un identifiant d'option. (objet, optionnel)
    • view_id : Identifiant de nœud de la vue du projet pour la mise à jour ou la suppression ; doit appartenir à owner/project_number. (chaîne, optionnel)
    • visible_field_names : Noms ordonnés des champs du projet à afficher lors de la création ou à remplacer lors de la mise à jour ; omettre lors de la mise à jour pour conserver, ou passer [] pour réinitialiser. Mutuellement exclusif avec visible_fields. Roadmap n'accepte que []. (chaîne[], optionnel)
    • visible_fields : Identifiants de base de données ordonnés des champs du projet à afficher lors de la création ou à remplacer lors de la mise à jour ; omettre lors de la mise à jour pour conserver, ou passer [] pour réinitialiser. Mutuellement exclusif avec visible_field_names. Roadmap n'accepte que []. (chaîne[], optionnel)
git-pull-request Demandes de tirage
  • add_comment_to_pending_review - Ajouter un commentaire de révision à la dernière révision de demande de tirage en attente du demandeur

    • OAuth Challenge Scopes : repo
    • body : Le texte du commentaire de révision (chaîne, requis)
    • line : La ligne du blob dans le diff de la demande de tirage à laquelle le commentaire s'applique. Pour les commentaires multilignes, la dernière ligne de la plage (nombre, optionnel)
    • owner : Propriétaire du dépôt (chaîne, requis)
    • path : Le chemin relatif vers le fichier qui nécessite un commentaire (chaîne, requis)
    • pullNumber : Numéro de la demande de tirage (nombre, requis)
    • repo : Nom du dépôt (chaîne, requis)
    • side : Le côté du diff sur lequel commenter. LEFT indique l'état précédent, RIGHT indique le nouvel état (chaîne, optionnel)
    • startLine : Pour les commentaires multilignes, la première ligne de la plage à laquelle le commentaire s'applique (nombre, optionnel)
    • startSide : Pour les commentaires multilignes, le côté de départ du diff auquel le commentaire s'applique. LEFT indique l'état précédent, RIGHT indique le nouvel état (chaîne, optionnel)
    • subjectType : Le niveau auquel le commentaire est ciblé (chaîne, requis)
  • add_reply_to_pull_request_comment - Ajouter une réponse à un commentaire de demande de tirage

    • OAuth Challenge Scopes : repo
    • body : Le texte de la réponse. Requis sauf si une réaction est fournie. (chaîne, optionnel)
    • commentId : L'identifiant numérique du commentaire de révision de demande de tirage auquel répondre ou réagir. Utilisez le numéro d'une ancre #discussion_r..., pas l'identifiant de nœud de thread GraphQL (PRRT_...). (nombre, requis)
    • owner : Propriétaire du dépôt (chaîne, requis)
    • pullNumber : Numéro de la demande de tirage. Requis lorsque le corps est fourni. (nombre, optionnel)
    • reaction : Réaction emoji à ajouter. Requise sauf si le corps est fourni. (chaîne, optionnel)
    • repo : Nom du dépôt (chaîne, requis)
  • create_pull_request - Ouvrir une nouvelle demande de tirage

    • OAuth Challenge Scopes : repo
    • MCP App UI : ui://github-mcp-server/pr-write
    • base : Branche dans laquelle fusionner (chaîne, requis)
    • body : Description de la demande de tirage (chaîne, optionnel)
    • draft : Créer en tant que demande de tirage brouillon (booléen, optionnel)
    • head : Branche contenant les modifications (chaîne, requis)
    • maintainer_can_modify : Autoriser les modifications du mainteneur (booléen, optionnel)
    • owner : Propriétaire du dépôt (chaîne, requis)
    • repo : Nom du dépôt (chaîne, requis)
    • reviewers : Noms d'utilisateur GitHub ou réviseurs d'équipe ORG/team-slug pour demander des révisions (chaîne[], optionnel)
    • title : Titre de la demande de tirage (chaîne, requis)
  • list_pull_requests - Lister les demandes de tirage

    • OAuth Challenge Scopes : repo
    • base : Filtrer par branche de base (chaîne, optionnel)
    • direction : Direction du tri (chaîne, optionnel)
    • fields : Sous-ensemble de champs à renvoyer pour chaque demande de tirage. S'il est omis, tous les champs sont renvoyés. Utilisez ceci pour réduire la taille de la réponse lorsque vous n'avez besoin que de champs spécifiques ; omettre 'body' en particulier supprime les données les plus volumineuses par résultat. (chaîne[], optionnel)
    • head : Filtrer par utilisateur/organisation de tête et branche (chaîne, optionnel)
    • owner : Propriétaire du dépôt (chaîne, requis)
    • page : Numéro de page pour la pagination (min 1) (nombre, optionnel)
    • perPage : Résultats par page pour la pagination (min 1, max 100) (nombre, optionnel)
    • repo : Nom du dépôt (chaîne, requis)
    • sort : Trier par (chaîne, optionnel)
    • state : Filtrer par état (chaîne, optionnel)
  • merge_pull_request - Fusionner une demande de tirage

    • OAuth Challenge Scopes : repo
    • commit_message : Détail supplémentaire pour le commit de fusion (chaîne, optionnel)
    • commit_title : Titre pour le commit de fusion (chaîne, optionnel)
    • expectedHeadSha : Le SHA attendu de la référence HEAD de la demande de tirage (chaîne, optionnel)
    • merge_method : Méthode de fusion (chaîne, optionnel)
    • owner : Propriétaire du dépôt (chaîne, requis)
    • pullNumber : Numéro de la demande de tirage (nombre, requis)
    • repo : Nom du dépôt (chaîne, requis)
  • pull_request_read - Obtenir les détails d'une demande de tirage (pull request)

    • Portées du défi OAuth : repo
    • after : Curseur pour la pagination, utilisé uniquement par la méthode get_review_comments. Transmettez le endCursor de la PageInfo de la page précédente pour récupérer la page suivante. (chaîne, facultatif)
    • method : Action pour spécifier quelles données de demande de tirage doivent être récupérées depuis GitHub. Options possibles :
      1. get - Obtenir les détails d'une demande de tirage spécifique.
      2. get_diff - Obtenir le diff d'une demande de tirage.
      3. get_status - Obtenir le statut combiné des commits d'un commit de tête dans une demande de tirage.
      4. get_files - Obtenir la liste des fichiers modifiés dans une demande de tirage. Utilisez avec les paramètres de pagination pour contrôler le nombre de résultats retournés.
      5. get_commits - Obtenir la liste des commits sur une demande de tirage. Utilisez avec les paramètres de pagination pour contrôler le nombre de résultats retournés.
      6. get_review_comments - Obtenir les fils de discussion de révision sur une demande de tirage. Chaque fil contient des commentaires de révision logiquement groupés faits sur le même emplacement de code lors des révisions de la demande de tirage. Retourne les métadonnées du fil et les commentaires avec des coordonnées de plage de lignes actuelles et originales nullables (line, start_line, original_line, original_start_line). Les coordonnées actuelles sont omises lorsqu'elles ne sont pas disponibles, comme pour les commentaires obsolètes. Utilisez la pagination basée sur le curseur (perPage, after) pour contrôler les résultats.
      7. get_reviews - Obtenir les révisions sur une demande de tirage. Lorsqu'on demande des commentaires de révision, utilisez la méthode get_review_comments. Utilisez avec les paramètres de pagination pour contrôler le nombre de résultats retournés.
      8. get_comments - Obtenir les commentaires sur une demande de tirage. Utilisez ceci si l'utilisateur ne veut pas spécifiquement de commentaires de révision. Utilisez avec les paramètres de pagination pour contrôler le nombre de résultats retournés.
      9. get_check_runs - Obtenir les exécutions de vérification pour le commit de tête d'une demande de tirage. Les exécutions de vérification sont les travaux et vérifications CI/CD individuels qui s'exécutent sur la PR. (chaîne, obligatoire)
    • owner : Propriétaire du dépôt (chaîne, obligatoire)
    • page : Numéro de page pour la pagination (min 1) (nombre, facultatif)
    • perPage : Résultats par page pour la pagination (min 1, max 100) (nombre, facultatif)
    • pullNumber : Numéro de la demande de tirage (nombre, obligatoire)
    • repo : Nom du dépôt (chaîne, obligatoire)
  • pull_request_review_write - Opérations d'écriture (créer, soumettre, supprimer) sur les révisions de demandes de tirage

    • Portées du défi OAuth : repo
    • body : Texte du commentaire de révision (chaîne, facultatif)
    • commitID : SHA du commit à réviser (chaîne, facultatif)
    • event : Action de révision à effectuer. (chaîne, facultatif)
    • method : L'opération d'écriture à effectuer sur la révision de la demande de tirage. (chaîne, obligatoire)
    • owner : Propriétaire du dépôt (chaîne, obligatoire)
    • pullNumber : Numéro de la demande de tirage (nombre, obligatoire)
    • repo : Nom du dépôt (chaîne, obligatoire)
    • threadId : L'ID de nœud du fil de discussion de révision (par exemple, PRRT_kwDOxxx). Requis pour les méthodes resolve_thread et unresolve_thread. Obtenez les ID de fil depuis pull_request_read avec la méthode get_review_comments. (chaîne, facultatif)
  • search_pull_requests - Rechercher des demandes de tirage

    • Portées du défi OAuth : repo
    • fields : Sous-ensemble de champs à retourner pour chaque résultat de demande de tirage. Si omis, tous les champs sont retournés. Utilisez ceci pour réduire la taille de la réponse lorsque vous n'avez besoin que de champs spécifiques ; omettre 'body', 'reactions' et 'labels' en particulier supprime les plus grandes données par résultat. (chaîne[], facultatif)
    • order : Ordre de tri (chaîne, facultatif)
    • owner : Propriétaire du dépôt facultatif. S'il est fourni avec repo, seules les demandes de tirage pour ce dépôt sont listées. (chaîne, facultatif)
    • page : Numéro de page pour la pagination (min 1) (nombre, facultatif)
    • perPage : Résultats par page pour la pagination (min 1, max 100) (nombre, facultatif)
    • query : Requête de recherche utilisant la syntaxe de recherche de demandes de tirage GitHub (chaîne, obligatoire)
    • repo : Nom du dépôt facultatif. S'il est fourni avec owner, seules les demandes de tirage pour ce dépôt sont listées. (chaîne, facultatif)
    • sort : Champ de tri par nombre de correspondances de catégories, par défaut meilleure correspondance (chaîne, facultatif)
  • update_pull_request - Modifier une demande de tirage

    • Portées du défi OAuth : repo
    • Interface utilisateur de l'application MCP : ui://github-mcp-server/pr-edit
    • base : Nouveau nom de branche de base (chaîne, facultatif)
    • body : Nouvelle description (chaîne, facultatif)
    • draft : Marquer la demande de tirage comme brouillon (true) ou prête pour révision (false) (booléen, facultatif)
    • maintainer_can_modify : Autoriser les modifications du mainteneur (booléen, facultatif)
    • owner : Propriétaire du dépôt (chaîne, obligatoire)
    • pullNumber : Numéro de la demande de tirage à mettre à jour (nombre, obligatoire)
    • repo : Nom du dépôt (chaîne, obligatoire)
    • reviewers : Noms d'utilisateur GitHub ou réviseurs d'équipe ORG/team-slug pour demander des révisions (chaîne[], facultatif)
    • state : Nouvel état (chaîne, facultatif)
    • title : Nouveau titre (chaîne, facultatif)
  • update_pull_request_branch - Mettre à jour la branche d'une demande de tirage

    • Portées du défi OAuth : repo
    • expectedHeadSha : Le SHA attendu de la référence HEAD de la demande de tirage (chaîne, facultatif)
    • owner : Propriétaire du dépôt (chaîne, obligatoire)
    • pullNumber : Numéro de la demande de tirage (nombre, obligatoire)
    • repo : Nom du dépôt (chaîne, obligatoire)
repo Dépôts
  • create_branch - Créer une branche

    • Portées du défi OAuth : repo
    • branch : Nom de la nouvelle branche (chaîne, obligatoire)
    • from_branch : Branche source (par défaut, la branche par défaut du dépôt) (chaîne, facultatif)
    • owner : Propriétaire du dépôt (chaîne, obligatoire)
    • repo : Nom du dépôt (chaîne, obligatoire)
  • create_or_update_file - Créer ou mettre à jour un fichier

    • Portées du défi OAuth : repo, workflow
    • allow_symlink_write : Définir sur true pour mettre à jour un lien symbolique lui-même ; le contenu doit être son nouveau chemin cible. (booléen, facultatif)
    • branch : Branche dans laquelle créer/mettre à jour le fichier (chaîne, obligatoire)
    • content : Contenu du fichier, exactement tel qu'il doit apparaître une fois écrit. Ne l'encodez pas en base64 ; ce serveur le fait avant d'appeler l'API REST. (chaîne, obligatoire)
    • message : Message de commit (chaîne, obligatoire)
    • owner : Propriétaire du dépôt (nom d'utilisateur ou organisation) (chaîne, obligatoire)
    • path : Chemin où créer/mettre à jour le fichier (chaîne, obligatoire)
    • repo : Nom du dépôt (chaîne, obligatoire)
    • sha : Le SHA du blob du fichier remplacé. Requis si le fichier existe déjà. Récupérez-le avec get_file_contents en utilisant le même owner, repo et path, avec ref défini sur la valeur de branche de cet outil. (chaîne, facultatif)
  • create_repository - Créer un dépôt

    • Portées du défi OAuth : repo
    • autoInit : Initialiser avec un README (booléen, facultatif)
    • description : Description du dépôt (chaîne, facultatif)
    • name : Nom du dépôt (chaîne, obligatoire)
    • organization : Organisation dans laquelle créer le dépôt (omettre pour créer dans votre compte personnel) (chaîne, facultatif)
    • private : Si le dépôt doit être privé. Par défaut à true (privé) lorsqu'il est omis. (booléen, facultatif)
  • delete_file - Supprimer un fichier

    • Portées du défi OAuth : repo, workflow
    • branch : Branche depuis laquelle supprimer le fichier (chaîne, obligatoire)
    • message : Message de commit (chaîne, obligatoire)
    • owner : Propriétaire du dépôt (nom d'utilisateur ou organisation) (chaîne, obligatoire)
    • path : Chemin du fichier à supprimer (chaîne, obligatoire)
    • repo : Nom du dépôt (chaîne, obligatoire)
  • delete_repository - Supprimer un dépôt

    • Portées du défi OAuth : delete_repo, repo
    • owner : Propriétaire du dépôt (nom d'utilisateur ou organisation) (chaîne, obligatoire)
    • repo : Nom du dépôt (chaîne, obligatoire)
  • fork_repository - Forker un dépôt

    • Portées du défi OAuth : repo
    • organization : Organisation vers laquelle forker (chaîne, facultatif)
    • owner : Propriétaire du dépôt (chaîne, obligatoire)
    • repo : Nom du dépôt (chaîne, obligatoire)
  • get_commit - Obtenir les détails d'un commit

    • Portées du défi OAuth : repo
    • detail : Niveau de détail à inclure pour les fichiers modifiés. "none" omet les statistiques et les fichiers entièrement. "stats" (par défaut) inclut les métadonnées par fichier : nom de fichier, statut et compteurs de lignes de code (ajouts, suppressions, modifications), sans contenu de patch. "full_patch" inclut en plus le contenu du diff unifié pour chaque fichier et peut être très volumineux. (chaîne, facultatif)
    • owner : Propriétaire du dépôt (chaîne, obligatoire)
    • page : Numéro de page pour la pagination (min 1) (nombre, facultatif)
    • perPage : Résultats par page pour la pagination (min 1, max 100) (nombre, facultatif)
    • repo : Nom du dépôt (chaîne, obligatoire)
    • sha : SHA du commit, nom de branche ou nom de tag (chaîne, obligatoire)
  • get_file_contents - Obtenir le contenu d'un fichier ou d'un répertoire

    • Portées du défi OAuth : repo
    • fields : Sous-ensemble de champs à retourner pour chaque entrée lorsque le chemin est un répertoire. Si omis, tous les champs sont retournés. Ignoré lorsque le chemin est un fichier unique. Utilisez ceci pour réduire la taille de la réponse lors du listage de répertoires et que vous n'avez besoin que de champs spécifiques, par exemple juste 'name' et 'type'. (chaîne[], facultatif)
    • owner : Propriétaire du dépôt (nom d'utilisateur ou organisation) (chaîne, obligatoire)
    • path : Chemin vers le fichier/répertoire (chaîne, facultatif)
    • ref : Accepte les références git facultatives telles que refs/tags/{tag}, refs/heads/{branch} ou refs/pull/{pr_number}/head (chaîne, facultatif)
    • repo : Nom du dépôt (chaîne, obligatoire)
    • sha : Accepte un SHA de commit facultatif. S'il est spécifié, il sera utilisé à la place de ref (chaîne, facultatif)
  • get_latest_release - Obtenir la dernière version

    • Portées du défi OAuth : repo
    • owner : Propriétaire du dépôt (chaîne, obligatoire)
    • repo : Nom du dépôt (chaîne, obligatoire)
  • get_release_by_tag - Obtenir une version par nom de tag

    • Portées du défi OAuth : repo
    • owner : Propriétaire du dépôt (chaîne, obligatoire)
    • repo : Nom du dépôt (chaîne, obligatoire)
    • tag : Nom du tag (par exemple, 'v1.0.0') (chaîne, obligatoire)
  • get_tag - Obtenir les détails d'un tag

    • Portées du défi OAuth : repo
    • owner : Propriétaire du dépôt (chaîne, obligatoire)
    • repo : Nom du dépôt (chaîne, obligatoire)
    • tag : Nom du tag (chaîne, obligatoire)
  • list_branches - Lister les branches

    • Portées du défi OAuth : repo
    • owner : Propriétaire du dépôt (chaîne, obligatoire)
    • page : Numéro de page pour la pagination (min 1) (nombre, facultatif)
    • perPage : Résultats par page pour la pagination (min 1, max 100) (nombre, facultatif)
    • repo : Nom du dépôt (chaîne, obligatoire)
  • list_commits - Lister les commits

    • OAuth Challenge Scopes : repo
    • author : Nom d'utilisateur ou adresse e-mail de l'auteur pour filtrer les commits (chaîne, optionnel)
    • fields : Sous-ensemble de champs à retourner pour chaque commit. Si omis, tous les champs sont retournés. Utilisez ceci pour réduire la taille de la réponse lorsque vous n'avez besoin que de champs spécifiques, par exemple uniquement 'sha' et 'html_url'. (tableau de chaînes, optionnel)
    • owner : Propriétaire du dépôt (chaîne, requis)
    • page : Numéro de page pour la pagination (min 1) (nombre, optionnel)
    • path : Seuls les commits contenant ce chemin de fichier seront retournés (chaîne, optionnel)
    • perPage : Résultats par page pour la pagination (min 1, max 100) (nombre, optionnel)
    • repo : Nom du dépôt (chaîne, requis)
    • sha : SHA de commit, branche ou nom de tag pour lister les commits. Si non fourni, utilise la branche par défaut du dépôt. Si un SHA de commit est fourni, liste les commits jusqu'à ce SHA. (chaîne, optionnel)
    • since : Seuls les commits après cette date seront retournés (format ISO 8601 : AAAA-MM-JJTHH:MM:SSZ ou AAAA-MM-JJ) (chaîne, optionnel)
    • until : Seuls les commits avant cette date seront retournés (format ISO 8601 : AAAA-MM-JJTHH:MM:SSZ ou AAAA-MM-JJ) (chaîne, optionnel)
  • list_releases - Lister les versions

    • OAuth Challenge Scopes : repo
    • fields : Sous-ensemble de champs à retourner pour chaque version. Si omis, tous les champs sont retournés. Utilisez ceci pour réduire la taille de la réponse lorsque vous n'avez besoin que de champs spécifiques ; omettre 'body' en particulier supprime les données les plus volumineuses par version. (tableau de chaînes, optionnel)
    • owner : Propriétaire du dépôt (chaîne, requis)
    • page : Numéro de page pour la pagination (min 1) (nombre, optionnel)
    • perPage : Résultats par page pour la pagination (min 1, max 100) (nombre, optionnel)
    • repo : Nom du dépôt (chaîne, requis)
  • list_repository_collaborators - Lister les collaborateurs du dépôt

    • OAuth Challenge Scopes : repo
    • affiliation : Filtrer par affiliation. Peut être l'un des suivants : 'outside' (collaborateurs externes), 'direct' (tous avec permissions indépendamment de l'appartenance à l'organisation), 'all' (tous les collaborateurs). Défaut : 'all' (chaîne, optionnel)
    • owner : Propriétaire du dépôt (chaîne, requis)
    • page : Numéro de page pour la pagination (défaut 1, min 1) (nombre, optionnel)
    • perPage : Résultats par page pour la pagination (défaut 30, min 1, max 100) (nombre, optionnel)
    • repo : Nom du dépôt (chaîne, requis)
  • list_tags - Lister les tags

    • OAuth Challenge Scopes : repo
    • owner : Propriétaire du dépôt (chaîne, requis)
    • page : Numéro de page pour la pagination (min 1) (nombre, optionnel)
    • perPage : Résultats par page pour la pagination (min 1, max 100) (nombre, optionnel)
    • repo : Nom du dépôt (chaîne, requis)
  • push_files - Pousser des fichiers vers le dépôt

    • OAuth Challenge Scopes : repo, workflow
    • branch : Branche vers laquelle pousser (chaîne, requis)
    • files : Tableau d'objets fichier à pousser, chaque objet avec path (chemin) (chaîne) et content (contenu) (chaîne) (tableau d'objets, requis)
    • message : Message de commit (chaîne, requis)
    • owner : Propriétaire du dépôt (chaîne, requis)
    • repo : Nom du dépôt (chaîne, requis)
  • search_code - Rechercher du code

    • OAuth Challenge Scopes : repo
    • fields : Sous-ensemble de champs à retourner pour chaque résultat de recherche de code. Si omis, tous les champs sont retournés. Utilisez ceci pour réduire la taille de la réponse lorsque vous n'avez besoin que de champs spécifiques ; omettre 'repository' et 'text_matches' en particulier supprime les données les plus volumineuses par résultat. (tableau de chaînes, optionnel)
    • order : Ordre de tri des résultats (chaîne, optionnel)
    • page : Numéro de page pour la pagination (min 1) (nombre, optionnel)
    • perPage : Résultats par page pour la pagination (min 1, max 100) (nombre, optionnel)
    • query : Requête de recherche (API REST de recherche de code GitHub). ET implicite entre les termes ; prend en charge OR, NOT et "quoted phrase" pour la correspondance exacte. Qualificatifs : repo:owner/repo, org:, user:, language:, path:dir (correspondance de préfixe), filename:exact.ext, extension:, in:file, in:path, size:, is:archived, is:fork. Max 256 caractères. Exemples : WithContext language:go org:github ; "package main" repo:o/r ; func extension:go path:cmd repo:o/r ; NOT TODO language:go repo:o/r. (chaîne, requis)
    • sort : Champ de tri ('indexed' uniquement) (chaîne, optionnel)
  • search_commits - Rechercher des commits

    • OAuth Challenge Scopes : repo
    • order : Ordre de tri (chaîne, optionnel)
    • page : Numéro de page pour la pagination (min 1) (nombre, optionnel)
    • perPage : Résultats par page pour la pagination (min 1, max 100) (nombre, optionnel)
    • query : Requête de recherche de commits (API REST de recherche de commits GitHub). Recherche les messages de commit sur la branche par défaut uniquement. Limitez la recherche avec repo:owner/repo, org: ou user: (les requêtes sans qualificatif de portée correspondent à tout GitHub et ne sont généralement pas ce que vous voulez). Autres qualificatifs : author:, committer:, author-name:, committer-name:, author-email:, committer-email:, author-date:, committer-date: (prend en charge les plages >, <, >=, <= et YYYY-MM-DD..YYYY-MM-DD), merge:true|false, hash:, tree:, parent:, is:public. Exemples : repo:owner/repo fix panic ; org:github author:defunkt committer-date:>=2024-01-01 ; "refactor cache" repo:o/r ; hash:abc1234 repo:o/r. (chaîne, requis)
    • sort : Trier par date d'auteur ou de commiteur (défaut : meilleure correspondance) (chaîne, optionnel)
  • search_repositories - Rechercher des dépôts

    • OAuth Challenge Scopes : repo
    • minimal_output : Retourner des informations minimales sur le dépôt (défaut : true). Lorsque false, les clients modernes reçoivent des détails supplémentaires organisés sur le dépôt, et non l'objet complet de l'API GitHub. Les clients hérités conservent les objets complets de l'API GitHub. (booléen, optionnel)
    • order : Ordre de tri (chaîne, optionnel)
    • page : Numéro de page pour la pagination (min 1) (nombre, optionnel)
    • perPage : Résultats par page pour la pagination (min 1, max 100) (nombre, optionnel)
    • query : Requête de recherche de dépôts. Exemples : 'machine learning in:name stars:>1000 language:python', 'topic:react', 'user:facebook'. Prend en charge la syntaxe de recherche avancée pour un filtrage précis. (chaîne, requis)
    • sort : Trier les dépôts par champ, défaut : meilleure correspondance (chaîne, optionnel)
shield-lock Protection des secrets
  • get_secret_scanning_alert - Obtenir une alerte de détection de secrets

    • OAuth Challenge Scopes : security_events
    • alertNumber : Le numéro de l'alerte. (nombre, requis)
    • owner : Le propriétaire du dépôt. (chaîne, requis)
    • repo : Le nom du dépôt. (chaîne, requis)
  • list_secret_scanning_alerts - Lister les alertes de détection de secrets

    • OAuth Challenge Scopes : security_events
    • owner : Le propriétaire du dépôt. (chaîne, requis)
    • page : Numéro de page pour la pagination (min 1) (nombre, optionnel)
    • perPage : Résultats par page pour la pagination (min 1, max 100) (nombre, optionnel)
    • repo : Le nom du dépôt. (chaîne, requis)
    • resolution : Filtrer par résolution (chaîne, optionnel)
    • secret_type : Une liste séparée par des virgules de types de secrets à retourner. Tous les modèles de secrets par défaut sont retournés. Pour retourner les modèles génériques, passez le(s) nom(s) de jeton(s) dans le paramètre. (chaîne, optionnel)
    • state : Filtrer par état (chaîne, optionnel)
shield Avis de sécurité
  • get_global_security_advisory - Obtenir un avis de sécurité mondial

    • OAuth Challenge Scopes : security_events
    • ghsaId : ID d'avis de sécurité GitHub (format : GHSA-xxxx-xxxx-xxxx). (chaîne, requis)
  • list_global_security_advisories - Lister les avis de sécurité mondiaux

    • OAuth Challenge Scopes : security_events
    • affects : Filtrer les avis par package ou version affecté(e) (par ex. "package1,package2@1.0.0"). (chaîne, optionnel)
    • cveId : Filtrer par ID CVE. (chaîne, optionnel)
    • cwes : Filtrer par IDs d'énumération des faiblesses courantes (par ex. ["79", "284", "22"]). (tableau de chaînes, optionnel)
    • ecosystem : Filtrer par écosystème de package. (chaîne, optionnel)
    • ghsaId : Filtrer par ID d'avis de sécurité GitHub (format : GHSA-xxxx-xxxx-xxxx). (chaîne, optionnel)
    • isWithdrawn : Indique si seuls les avis retirés doivent être retournés. (booléen, optionnel)
    • modified : Filtrer par date de publication ou de mise à jour ou plage de dates (date ISO 8601 ou plage). (chaîne, optionnel)
    • published : Filtrer par date de publication ou plage de dates (date ISO 8601 ou plage). (chaîne, optionnel)
    • severity : Filtrer par gravité. (chaîne, optionnel)
    • type : Type d'avis. (chaîne, optionnel)
    • updated : Filtrer par date de mise à jour ou plage de dates (date ISO 8601 ou plage). (chaîne, optionnel)
  • list_org_repository_security_advisories - Lister les avis de sécurité des dépôts d'une organisation

    • OAuth Challenge Scopes : security_events
    • direction : Sens de tri. (chaîne, optionnel)
    • org : Le login de l'organisation. (chaîne, requis)
    • sort : Champ de tri. (chaîne, optionnel)
    • state : Filtrer par état de l'avis. (chaîne, optionnel)
  • list_repository_security_advisories - Lister les avis de sécurité des dépôts

    • OAuth Challenge Scopes : security_events
    • direction : Sens de tri. (chaîne, optionnel)
    • owner : Le propriétaire du dépôt. (chaîne, requis)
    • repo : Le nom du dépôt. (chaîne, requis)
    • sort : Champ de tri. (chaîne, optionnel)
    • state : Filtrer par état de l'avis. (chaîne, optionnel)
star Stargazers
  • list_starred_repositories - Lister les dépôts étoilés

    • OAuth Challenge Scopes : repo
    • direction : La direction de tri des résultats. (chaîne, optionnel)
    • page : Numéro de page pour la pagination (min 1) (nombre, optionnel)
    • perPage : Résultats par page pour la pagination (min 1, max 100) (nombre, optionnel)
    • sort : Comment trier les résultats. Peut être soit 'created' (quand le dépôt a été étoilé) ou 'updated' (quand le dépôt a été poussé pour la dernière fois). (chaîne, optionnel)
    • username : Nom d'utilisateur pour lequel lister les dépôts étoilés. Par défaut, l'utilisateur authentifié. (chaîne, optionnel)
  • star_repository - Étoiler un dépôt

    • OAuth Challenge Scopes : repo
    • owner : Propriétaire du dépôt (chaîne, requis)
    • repo : Nom du dépôt (chaîne, requis)
  • unstar_repository - Retirer l'étoile d'un dépôt

    • OAuth Challenge Scopes : repo
    • owner : Propriétaire du dépôt (chaîne, requis)
    • repo : Nom du dépôt (chaîne, requis)
people Utilisateurs - **search_users** - Rechercher des utilisateurs - **Portées de défi OAuth** : `repo` - `order` : Ordre de tri (chaîne, facultatif) - `page` : Numéro de page pour la pagination (min 1) (nombre, facultatif) - `perPage` : Résultats par page pour la pagination (min 1, max 100) (nombre, facultatif) - `query` : Requête de recherche d'utilisateurs. Exemples : « john smith », « location:seattle », « followers:>100 ». La recherche est automatiquement limitée à type:user. (chaîne, obligatoire) - `sort` : Trier les utilisateurs par nombre d'abonnés ou de dépôts, ou par date d'arrivée sur GitHub. (chaîne, facultatif)

Outils supplémentaires dans le serveur GitHub MCP distant

Copilot
  • create_pull_request_with_copilot - Effectuer une tâche avec l'agent de codage GitHub Copilot
    • owner : Propriétaire du dépôt. Vous pouvez deviner le propriétaire, mais confirmez-le avec l'utilisateur avant de continuer. (chaîne, obligatoire)
    • repo : Nom du dépôt. Vous pouvez deviner le nom du dépôt, mais confirmez-le avec l'utilisateur avant de continuer. (chaîne, obligatoire)
    • problem_statement : Description détaillée de la tâche à effectuer (par exemple, « Implémenter une fonctionnalité qui fait X », « Corriger le bug Y », etc.) (chaîne, obligatoire)
    • title : Titre de la demande de tirage qui sera créée (chaîne, obligatoire)
    • base_ref : Référence Git (par exemple, branche) à partir de laquelle l'agent commencera son travail. Si non spécifiée, la branche par défaut du dépôt est utilisée (chaîne, facultatif)
Copilot Spaces
  • Remarque sur l'authentification

    • Les PAT à granularité fine ne sont pas masqués par le filtrage de portée des PAT classiques, ces outils peuvent donc toujours apparaître même lorsque le jeton ne peut pas les utiliser.
    • Pour les espaces appartenant à une organisation, les PAT à granularité fine doivent être installés sur l'organisation propriétaire et inclure organization_copilot_spaces: read.
    • Si un espace appartenant à une organisation contient des ressources adossées à des dépôts, le jeton doit également avoir accès à chaque dépôt référencé, sinon l'espace peut être traité comme introuvable.
  • get_copilot_space - Obtenir un espace Copilot

    • owner : Le propriétaire de l'espace. (chaîne, obligatoire)
    • name : Le nom de l'espace. (chaîne, obligatoire)
  • list_copilot_spaces - Lister les espaces Copilot

Recherche dans la documentation du support GitHub
  • github_support_docs_search - Récupérer la documentation pertinente pour répondre aux questions sur les produits et le support GitHub. Les sujets de support incluent : GitHub Actions Workflows, Authentification, Demandes de support GitHub, Pratiques de demande de tirage, Maintenance de dépôt, GitHub Pages, GitHub Packages, GitHub Discussions, Copilot Spaces
    • query : Saisie de l'utilisateur concernant la question à laquelle il faut répondre. Il s'agit du dernier message brut non modifié de l'utilisateur. Vous devez TOUJOURS laisser le message de l'utilisateur tel quel, ne le modifiez jamais. (chaîne, obligatoire)

Mode lecture seule

Pour exécuter le serveur en mode lecture seule, vous pouvez utiliser l'indicateur --read-only. Cela n'offrira que des outils en lecture seule, empêchant toute modification des dépôts, des problèmes, des demandes de tirage, etc.

./github-mcp-server --read-only

Lorsque vous utilisez Docker, vous pouvez passer le mode lecture seule comme variable d'environnement :

docker run -i --rm \
  -e GITHUB_PERSONAL_ACCESS_TOKEN=<your-token> \
  -e GITHUB_READ_ONLY=1 \
  ghcr.io/github/github-mcp-server

Mode verrouillage

Le mode verrouillage limite le contenu que le serveur affichera à partir des dépôts publics. Lorsqu'il est activé, le serveur vérifie si l'auteur de chaque élément a un accès en poussée au dépôt. Les dépôts privés ne sont pas affectés et les collaborateurs conservent un accès complet à leur propre contenu.

Le mode verrouillage est un filtre de contenu au mieux destiné à réduire le risque d'injection d'invites à partir de contenu de dépôt non fiable (problèmes, demandes de tirage, commentaires, commits, etc.). Il ne constitue pas une frontière d'autorisation : il ne modifie pas ce que les informations d'identification GitHub sous-jacentes peuvent lire ou écrire, et le contenu retenu d'une réponse d'outil filtrée peut toujours être accessible via d'autres outils ou un accès direct à l'API GitHub avec les mêmes informations d'identification.

Comme exception intentionnelle, le contenu créé par un petit ensemble de comptes de robots de confiance (actuellement github-actions[bot] et copilot) est toujours considéré comme sûr, quel que soit l'accès en poussée. Cela évite de filtrer la sortie d'automatisation de routine (par exemple, les commits ou commentaires générés par CI) qui serait autrement retenue en mode verrouillage.

./github-mcp-server --lockdown-mode

Lors de l'exécution avec Docker, définissez la variable d'environnement correspondante :

docker run -i --rm \
  -e GITHUB_PERSONAL_ACCESS_TOKEN=<your-token> \
  -e GITHUB_LOCKDOWN_MODE=1 \
  ghcr.io/github/github-mcp-server

En mode HTTP, cet indicateur (ou GITHUB_LOCKDOWN_MODE) est une limite supérieure : l'en-tête de requête X-MCP-Lockdown peut activer le mode verrouillage lorsque l'opérateur ne l'a pas fait, mais il ne peut pas désactiver le mode verrouillage que l'opérateur a déjà activé. Voir le Guide de configuration du serveur pour plus de détails.

Le comportement du mode verrouillage dépend de l'outil invoqué.

Les outils suivants renverront une erreur lorsque l'auteur n'a pas l'accès en poussée :

  • issue_read:get
  • pull_request_read:get
  • pull_request_read:get_diff
  • pull_request_read:get_files
  • pull_request_read:get_commits

Les outils suivants filtreront le contenu des utilisateurs n'ayant pas l'accès en poussée :

  • issue_read:get_comments
  • issue_read:get_sub_issues
  • pull_request_read:get_comments
  • pull_request_read:get_review_comments
  • pull_request_read:get_reviews

i18n / Remplacement des descriptions

Les descriptions des outils peuvent être remplacées en créant un fichier github-mcp-server-config.json dans le même répertoire que le binaire.

Le fichier doit contenir un objet JSON avec les noms des outils comme clés et les nouvelles descriptions comme valeurs. Par exemple :

{
  "TOOL_ADD_ISSUE_COMMENT_DESCRIPTION": "an alternative description",
  "TOOL_CREATE_BRANCH_DESCRIPTION": "Create a new branch in a GitHub repository"
}

Vous pouvez créer une exportation des traductions actuelles en exécutant le binaire avec l'indicateur --export-translations.

Cet indicateur préservera toutes les traductions/remplacements que vous avez effectués, tout en ajoutant toutes les nouvelles traductions qui ont été ajoutées au binaire depuis la dernière exportation.

./github-mcp-server --export-translations
cat github-mcp-server-config.json

Vous pouvez également utiliser des variables d'environnement pour remplacer les descriptions. Les noms des variables d'environnement sont les mêmes que les clés du fichier JSON, préfixés par GITHUB_MCP_ et en majuscules.

Par exemple, pour remplacer l'outil TOOL_ADD_ISSUE_COMMENT_DESCRIPTION, vous pouvez définir la variable d'environnement suivante :

export GITHUB_MCP_TOOL_ADD_ISSUE_COMMENT_DESCRIPTION="an alternative description"

Remplacement du nom et du titre du serveur

Le même mécanisme de remplacement peut être utilisé pour personnaliser les champs name et title du serveur MCP dans la réponse d'initialisation. Cela est utile lors de l'exécution de plusieurs instances du serveur GitHub MCP (par exemple, une pour github.com et une pour GitHub Enterprise Server) afin que les agents puissent les distinguer.

CléVariable d'environnementDéfaut
SERVER_NAMEGITHUB_MCP_SERVER_NAMEgithub-mcp-server
SERVER_TITLEGITHUB_MCP_SERVER_TITLEGitHub MCP Server

Par exemple, pour configurer une instance de serveur pour GitHub Enterprise Server :

{
  "SERVER_NAME": "ghes-mcp-server",
  "SERVER_TITLE": "GHES MCP Server"
}

Ou en utilisant des variables d'environnement :

export GITHUB_MCP_SERVER_NAME="ghes-mcp-server"
export GITHUB_MCP_SERVER_TITLE="GHES MCP Server"

Utilisation de la bibliothèque

L'API Go exportée de ce module doit actuellement être considérée comme instable et sujette à des changements cassants. À l'avenir, nous pourrions offrir une stabilité ; veuillez signaler un problème s'il existe un cas d'utilisation où cela serait précieux.

Contribution

Les contributions sont les bienvenues. Avant d'ouvrir une demande de tirage, veuillez lire le guide de contribution pour les instructions de configuration, de test, de linting et de génération de documentation.

Support

Pour obtenir de l'aide sur l'utilisation du serveur GitHub MCP, consultez le guide de support. Si vous avez trouvé un bug ou souhaitez demander une fonctionnalité, veuillez rechercher les problèmes existants avant d'en ouvrir un nouveau.

Sécurité

Veuillez ne pas signaler les vulnérabilités de sécurité via des problèmes publics. Suivez les instructions de la politique de sécurité pour signaler les vulnérabilités de manière responsable.

Licence

Ce projet est sous licence MIT open source. Veuillez vous référer à MIT pour les conditions complètes.