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 Git Hub MCP ?

  • Parcourir et rechercher des dépôts — Demandez à votre assistant de trouver des fichiers, lire du code ou analyser l'historique des commits à l'aide des outils de l'ensemble repos.
  • Gérer les issues et les pull requests — Créez, mettez à jour et triez les issues ou les PR à l'aide des outils des ensembles issues et pull_requests.
  • Surveiller les workflows CI/CD — Vérifiez l'état des exécutions GitHub Actions, enquêtez sur les échecs de build et gérez les versions via l'ensemble d'outils actions.
  • Examiner les alertes de sécurité du code — Examinez les résultats du code scanning, les alertes Dependabot et les résultats du secret scanning à l'aide des ensembles d'outils code_security, dependabot et secret_protection.
  • Collaborer sur les discussions et les projets — Accédez aux discussions d'équipe, gérez les tableaux de projet et traitez les notifications via les ensembles d'outils discussions, projects et notifications.

Documentation

Go Report Card

Serveur MCP GitHub

Le serveur MCP GitHub 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 tickets 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 d'un projet sur n'importe quel dépôt auquel vous avez accès.
  • Automatisation des tickets et PR : Créer, mettre à jour et gérer les tickets et les pull requests. Laissez l'IA vous aider à trier les bugs, à réviser 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 simples requêtes en langage naturel aux flux de travail complexes d'agents en plusieurs étapes.


Serveur MCP GitHub distant

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

Le serveur MCP GitHub distant est hébergé par GitHub et constitue la méthode la plus simple pour démarrer rapidement. Si votre hôte MCP ne prend pas en charge les serveurs MCP distants, ne vous inquiétez pas ! Vous pouvez utiliser la version locale du serveur MCP GitHub à 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. Toutes les politiques applicables activées

Installer dans VS Code

Pour une installation rapide, utilisez l'un des boutons d'installation en un clic ci-dessus. Une fois ce processus terminé, activez le mode Agent (situé à côté de la zone de saisie de texte de 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.

Sinon, pour configurer manuellement VS Code, choisissez le bloc JSON approprié dans les exemples ci-dessous et ajoutez-le à la configuration de votre 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
    }
  ]
}

Installer 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 Cursor IDE
  • OpenCode - Guide d'installation pour l'agent terminal OpenCode
  • Windsurf - Guide d'installation pour Windsurf IDE
  • 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 plus de 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 la connexion, la personnalisation et l'installation du serveur MCP GitHub 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 avec VS Code et GitHub Copilot, vous devez également configurer vos paramètres VS Code pour pointer vers votre instance GitHub Enterprise - voir S'authentifier 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) de la configuration du serveur local.


Serveur MCP GitHub 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 devez avoir Docker installé.

  2. Une fois Docker installé, vous devez également vous assurer que Docker est en cours d'exécution. L'image Docker est disponible à l'adresse ghcr.io/github/github-mcp-server. L'image est publique ; si vous obtenez des erreurs lors du pull, il se peut que votre jeton ait expiré et que vous deviez 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. Voir Connexion OAuth du serveur local pour savoir comment cela fonctionne, le repli sans tête/code de périphérique, 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, veuillez consulter 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 les 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.

Meilleures pratiques de sécurité des jetons

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

    • repo - Opérations sur le dépôt
    • read:packages - Accès à l'image Docker
    • read:org - Accès à l'équipe de l'organisation
  • Jetons séparés : Utilisez des PAT différents 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

  • Permissions 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 d'URI https://, car il utilise par défaut http://, ce que GitHub Enterprise Server ne prend pas en charge.
  • 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

Installer 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 processus terminé, activez le mode Agent (situé à côté de la zone de saisie de texte de 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.

Installer 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 informations d'identification de l'application, vous n'en fournissez donc aucune vous-même : 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 un port de rappel fixe publié sur la boucle locale pour 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"
        }
      }
    }
  }
}

Voir Connexion OAuth du serveur local pour le flux binaire natif (aucun port fixe nécessaire), le repli sans tête/code de périphérique, GitHub Enterprise Server / ghe.com, et l'apport de votre propre OAuth ou 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}"
      }
    }
  }
}

Installer dans d'autres hôtes MCP

Pour d'autres applications hôtes MCP, veuillez consulter 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 MCP GitHub local. Cependant, le processus de configuration spécifique, la syntaxe et la stabilité de l'intégration varieront selon l'application hôte. Bien que beaucoup puissent suivre un format similaire aux exemples ci-dessus, cela n'est pas garanti. Veuillez consulter la documentation de votre application hôte pour la syntaxe de configuration MCP correcte et le processus de configuration.

Construire à 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 le drapeau -o. Vous devez configurer votre serveur pour utiliser l'exécutable compilé comme son command. Par exemple :

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

Utilitaires CLI

Le binaire github-mcp-server inclut quelques sous-commandes CLI utiles pour le débogage et l'exploration du serveur.

  • github-mcp-server tool-search "<query>" recherche des outils par nom, description et noms des paramètres d'entrée. Utilisez --max-results pour retourner plus de correspondances. Exemple (la sortie en couleur nécessite un TTY ; utilisez docker run -t (ou -it) lors de l'exécution dans Docker) :
docker run -it --rm ghcr.io/github/github-mcp-server tool-search "issue" --max-results 5
github-mcp-server tool-search "issue" --max-results 5

Configuration des outils

Le serveur GitHub MCP prend en charge l'activation ou la désactivation de groupes spécifiques de fonctionnalités via le drapeau --toolsets. Cela vous permet de contrôler quelles capacités de l'API GitHub sont disponibles pour vos outils d'IA. Activer uniquement 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 le cas échéant.

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. En utilisant un argument de ligne de commande :

    github-mcp-server --toolsets repos,issues,pull_requests,actions,code_security
    
  2. En utilisant une 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 d'outils individuels

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

  1. En utilisant un argument de ligne de commande :

    github-mcp-server --tools get_file_contents,issue_read,create_pull_request
    
  2. En utilisant une 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
    

    Ceci enregistre tous les outils des ensembles repos et issues, plus get_gist.

Notes importantes :

  • Les outils et les ensembles d'outils peuvent être utilisés ensemble
  • Le mode lecture seule est prioritaire : 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). Les 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 rétrocompatibilité. Voir Renommage d'outils pour plus de détails.

Utilisation des ensembles d'outils avec Docker

Lors de l'utilisation de 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

Lors de l'utilisation de 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 offre une version insiders avec un accès anticipé aux nouvelles fonctionnalités et outils expérimentaux.

  1. En utilisant un argument de ligne de commande :

    ./github-mcp-server --insiders
    
  2. En utilisant une variable d'environnement :

    GITHUB_INSIDERS=true ./github-mcp-server
    

Lors de l'utilisation de 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 l'analyse de code GitHub
copilotcopilotOutils liés à Copilot
dependabotdependabotOutils Dependabot
comment-discussiondiscussionsOutils liés aux discussions GitHub
logo-gistgistsOutils liés aux Gist GitHub
git-branchgitOutils liés à l'API Git de GitHub pour les opérations Git de bas niveau
issue-openedissuesOutils liés aux issues GitHub
taglabelsOutils liés aux étiquettes GitHub
bellnotificationsOutils liés aux notifications GitHub
organizationorgsOutils liés aux organisations GitHub
projectprojectsOutils liés aux projets GitHub
git-pull-requestpull_requestsOutils liés aux pull requests GitHub
reporeposOutils liés aux dépôts GitHub
shield-locksecret_protectionOutils liés à la protection des secrets, tels que l'analyse des secrets GitHub
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 dans la documentation pour répondre aux questions sur les produits et le support GitHub

Outils

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

    • Portées OAuth requises : repo
    • method : La méthode à exécuter (chaîne, requis)
    • owner : Propriétaire du dépôt (chaîne, requis)
    • repo : Nom du dépôt (chaîne, requis)
    • resource_id : L'identifiant unique de la ressource. Cela variera en fonction de la "méthode" fournie, assurez-vous donc de fournir l'ID correct :
      • 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 job pour la méthode 'get_workflow_job'. (chaîne, requis)
  • actions_list - Lister les workflows GitHub Actions dans un dépôt

    • Portées OAuth requises : repo
    • method : L'action à effectuer (chaîne, requis)
    • owner : Propriétaire du dépôt (chaîne, requis)
    • page : Numéro de page pour la pagination (par défaut : 1) (nombre, optionnel)
    • per_page : Résultats par page pour la pagination (par défaut : 30, max : 100) (nombre, optionnel)
    • repo : Nom du dépôt (chaîne, requis)
    • resource_id : L'identifiant unique de la ressource. Cela variera en fonction de la "méthode" fournie, assurez-vous donc de fournir l'ID correct :
      • 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 workflow 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, optionnel)
    • workflow_jobs_filter : Filtres pour les jobs de workflow. UNIQUEMENT utilisé lorsque la méthode est 'list_workflow_jobs' (objet, optionnel)
    • workflow_runs_filter : Filtres pour les exécutions de workflow. UNIQUEMENT utilisé lorsque la méthode est 'list_workflow_runs' (objet, optionnel)
  • actions_run_trigger - Déclencher des actions de workflow GitHub Actions

    • Portées OAuth requises : repo
    • inputs : Entrées que le workflow accepte. Utilisé uniquement pour la méthode 'run_workflow'. (objet, optionnel)
    • method : La méthode à exécuter (chaîne, requis)
    • owner : Propriétaire du dépôt (chaîne, requis)
    • 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, optionnel)
    • repo : Nom du dépôt (chaîne, requis)
    • run_id : L'ID de l'exécution du workflow. Requis pour toutes les méthodes sauf 'run_workflow'. (nombre, optionnel)
    • 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, optionnel)
  • get_job_logs - Obtenir les journaux des jobs de workflow GitHub Actions

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

    • Portées OAuth requises : security_events
    • Portées OAuth acceptées : repo, 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_code_scanning_alerts - Lister les alertes d'analyse de code

    • Portées OAuth requises : security_events
    • Portées OAuth acceptées : repo, 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)
    • ref : La référence Git pour les résultats que vous souhaitez lister. (chaîne, optionnel)
    • repo : Le nom du dépôt. (chaîne, requis)
    • severity : Filtrer les alertes d'analyse de code par gravité (chaîne, optionnel)
    • state : Filtrer les alertes d'analyse de code par état. Par défaut, ouvert (chaîne, optionnel)
    • tool_name : Le nom de l'outil utilisé pour l'analyse de code. (chaîne, optionnel)
person Contexte
  • get_me - Obtenir mon profil utilisateur

    • Aucun paramètre requis
  • get_team_members - Obtenir les membres de l'équipe

    • Portées OAuth requises : read:org
    • Portées OAuth acceptées : admin:org, read:org, write:org
    • org : Identifiant de l'organisation (propriétaire) qui contient l'équipe. (chaîne, requis)
    • team_slug : Identifiant de l'équipe (chaîne, requis)
  • get_teams - Obtenir les équipes

    • Portées OAuth requises : read:org
    • Portées OAuth acceptées : admin:org, read:org, write:org
    • user : Nom d'utilisateur pour lequel obtenir les équipes. Si non fourni, utilise l'utilisateur authentifié. (chaîne, optionnel)
copilot Copilot
  • assign_copilot_to_issue - Assigner Copilot à un ticket

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

    • Portées OAuth requises : repo
    • owner : Propriétaire du dépôt (chaîne, requis)
    • pullNumber : Numéro de la pull request (nombre, requis)
    • repo : Nom du dépôt (chaîne, requis)
dependabot Dependabot
  • get_dependabot_alert - Obtenir une alerte Dependabot

    • Portées OAuth requises : security_events
    • Portées OAuth acceptées : repo, 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_dependabot_alerts - Lister les alertes Dependabot

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

    • Portées OAuth requises : repo
    • body : Contenu du commentaire (requis pour les méthodes 'add', 'reply' et 'update') (chaîne, optionnel)
    • commentNodeID : L'ID de nœud du commentaire de discussion (requis 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 ; les discussions GitHub ne prennent en charge qu'un seul niveau d'imbrication. (chaîne, optionnel)
    • discussionNumber : Numéro de la discussion (requis pour les méthodes 'add' et 'reply') (nombre, optionnel)
    • 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 (les discussions GitHub ne prennent 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' - annule le marquage d'un commentaire de discussion comme réponse (Q&R uniquement). (chaîne, requis)
    • owner : Propriétaire du dépôt (requis pour les méthodes 'add' et 'reply') (chaîne, optionnel)
    • repo : Nom du dépôt (requis pour les méthodes 'add' et 'reply') (chaîne, optionnel)
  • get_discussion - Obtenir une discussion

    • Portées OAuth requises : repo
    • discussionNumber : Numéro de la discussion (nombre, requis)
    • owner : Propriétaire du dépôt (chaîne, requis)
    • repo : Nom du dépôt (chaîne, requis)
  • get_discussion_comments - Obtenir les commentaires d'une discussion

    • Portées OAuth requises : repo
    • after : Curseur pour la pagination. Utilisez le curseur de la réponse précédente. (chaîne, optionnel)
    • discussionNumber : Numéro de la discussion (nombre, requis)
    • includeReplies : Lorsque vrai, 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, faux. (booléen, optionnel)
    • owner : Propriétaire du dépôt (chaîne, requis)
    • perPage : Résultats par page pour la pagination (min 1, max 100) (nombre, optionnel)
    • repo : Nom du dépôt (chaîne, requis)
  • list_discussion_categories - Lister les catégories de discussion

    • Portées OAuth requises : repo
    • owner : Propriétaire du dépôt (chaîne, requis)
    • repo : Nom du dépôt. Si non fourni, les catégories de discussion seront interrogées au niveau de l'organisation. (chaîne, optionnel)
  • list_discussions - Lister les discussions

    • Portées OAuth requises : repo
    • after : Curseur pour la pagination. Utilisez le curseur de la réponse précédente. (chaîne, optionnel)
    • category : Filtre optionnel par ID de catégorie de discussion. Si fourni, seules les discussions avec cette catégorie sont listées. (chaîne, optionnel)
    • direction : Sens de l'ordre. (chaîne, optionnel)
    • orderBy : Champ de tri des discussions. Si fourni, le 'sens' doit également être fourni. (chaîne, optionnel)
    • owner : Propriétaire du dépôt (chaîne, requis)
    • perPage : Résultats par page pour la pagination (min 1, max 100) (nombre, optionnel)
    • repo : Nom du dépôt. Si non fourni, les discussions seront interrogées au niveau de l'organisation. (chaîne, optionnel)
logo-gist Gists
  • create_gist - Créer un Gist

    • Portées OAuth requises : gist
    • content : Contenu pour la création simple d'un gist à fichier unique (chaîne, requis)
    • description : Description du gist (chaîne, optionnel)
    • filename : Nom de fichier pour la création simple d'un gist à fichier unique (chaîne, requis)
    • public : Si le gist est public (booléen, optionnel)
  • get_gist - Obtenir le contenu d'un Gist

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

    • 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)
    • since : Uniquement les gists mis à jour après cette heure (horodatage ISO 8601) (chaîne, optionnel)
    • username : Nom d'utilisateur GitHub (omettre pour les gists de l'utilisateur authentifié) (chaîne, optionnel)
  • update_gist - Mettre à jour un Gist

    • Portées OAuth requises : gist
    • content : Contenu du fichier (chaîne, requis)
    • description : Description mise à jour du gist (chaîne, optionnel)
    • filename : Nom de fichier à mettre à jour ou créer (chaîne, requis)
    • gist_id : ID du gist à mettre à jour (chaîne, requis)
git-branch Git
  • get_repository_tree - Obtenir l'arborescence du dépôt
    • Portées OAuth requises : repo
    • owner : Propriétaire du dépôt (nom d'utilisateur ou organisation) (chaîne, requis)
    • path_filter : Préfixe de chemin optionnel pour filtrer les résultats de l'arborescence (par exemple, 'src/' pour afficher uniquement les fichiers du répertoire src) (chaîne, optionnel)
    • recursive : Définir ce paramètre sur true renvoie les objets ou sous-arbres référencés par l'arbre. Par défaut, false (booléen, optionnel)
    • repo : Nom du dépôt (chaîne, requis)
    • tree_sha : La valeur SHA1 ou le nom de la référence (branche ou tag) de l'arbre. Par défaut, la branche par défaut du dépôt (chaîne, optionnel)
issue-opened Tickets
  • add_issue_comment - Ajouter un commentaire à un ticket ou une pull request

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

    • Portées OAuth requises : repo
    • name : Nom du label. (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’une issue

    • Portées OAuth requises : repo
    • issue_number : Le numéro de l’issue (nombre, requis)
    • method : L’opération de lecture à effectuer sur une seule issue. Les options sont :
      1. get - Obtenir les détails de l’issue. Renvoie également les indicateurs de hiérarchie au mieux (has_parent, has_children) ; parent et sub_issues_summary sont des résumés de relation optionnels.
      2. get_comments - Obtenir les commentaires de l’issue.
      3. get_sub_issues - Obtenir les sous-issues (enfants) de l’issue.
      4. get_parent - Obtenir l’issue parente, si cette issue est une sous-issue d’une autre.
      5. get_labels - Obtenir les labels assignés à l’issue. (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, 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)
  • issue_write - Créer ou mettre à jour une issue / pull request

    • Portées OAuth requises : repo
    • assignees : Noms d’utilisateurs à assigner à cette issue (chaîne[], optionnel)
    • body : Contenu du corps de l’issue (chaîne, optionnel)
    • duplicate_of : Numéro de l’issue dont celle-ci est un doublon. Utilisé uniquement lorsque state_reason est 'duplicate'. (nombre, optionnel)
    • issue_fields : Valeurs des champs d’issue à définir ou effacer. Chaque élément nécessite 'field_name' et exactement l’un de 'value', 'field_option_name', ou 'delete: true'. (objet[], optionnel)
    • issue_number : Numéro de l’issue à mettre à jour (nombre, optionnel)
    • labels : Labels à appliquer à cette issue (chaîne[], optionnel)
    • method : Opération d’écriture à effectuer sur une seule issue. Les options sont :
      • 'create' - crée une nouvelle issue.
      • 'update' - met à jour une issue existante. (chaîne, requis)
    • milestone : Numéro du jalon (nombre, optionnel)
    • owner : Propriétaire du dépôt (chaîne, requis)
    • repo : Nom du dépôt (chaîne, requis)
    • state : Nouvel état (chaîne, optionnel)
    • state_reason : Raison du changement d’état. Ignoré sauf si l’état est modifié. (chaîne, optionnel)
    • title : Titre de l’issue (chaîne, optionnel)
    • type : Type de cette issue. À utiliser uniquement si les types d’issue sont activés pour ce dépôt. Utilisez l’outil 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 d’issue, omettez ce paramètre. (chaîne, optionnel)
  • list_issue_fields - Lister les champs d’issue

    • Portées OAuth requises (l’une des) : repo, read:org
    • Portées OAuth acceptées : admin:org, read:org, repo, write: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, optionnel)
  • list_issue_types - Lister les types d’issue disponibles

    • Portées OAuth requises (l’une des) : repo, read:org
    • Portées OAuth acceptées : admin:org, read:org, repo, write: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 d’issue pour ce dépôt spécifique. Lorsqu’il est omis, renvoie directement les types d’issue au niveau de l’organisation. (chaîne, optionnel)
  • list_issues - Lister les issues

    • Portées OAuth requises : repo
    • after : Curseur pour la pagination. Utilisez le curseur de la réponse précédente. (chaîne, optionnel)
    • direction : Direction de l’ordre. Si fourni, 'orderBy' doit également être fourni. (chaîne, optionnel)
    • field_filters : Filtrer par valeurs de champs d’issue 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 de sélection unique, texte, nombre ou date YYYY-MM-DD). (objet[], optionnel)
    • labels : Filtrer par labels (chaîne[], optionnel)
    • orderBy : Ordonner les issues par champ. Si fourni, 'direction' doit également être fourni. (chaîne, optionnel)
    • owner : Propriétaire du dépôt (chaîne, requis)
    • perPage : Résultats par page pour la pagination (min 1, max 100) (nombre, optionnel)
    • repo : Nom du dépôt (chaîne, requis)
    • since : Filtrer par date (horodatage ISO 8601) (chaîne, optionnel)
    • state : Filtrer par état, par défaut les issues ouvertes et fermées sont renvoyées si non fourni (chaîne, optionnel)
  • search_issues - Rechercher des issues

    • Portées OAuth requises : repo
    • order : Ordre de tri (chaîne, optionnel)
    • owner : Propriétaire du dépôt optionnel. Si fourni avec repo, seules les issues de ce dépôt sont listées. (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 utilisant la syntaxe de recherche d’issues GitHub (chaîne, requis)
    • repo : Nom du dépôt optionnel. Si fourni avec owner, seules les issues de ce dépôt sont listées. (chaîne, optionnel)
    • sort : Champ de tri par nombre de correspondances des catégories, par défaut meilleure correspondance (chaîne, optionnel)
  • sub_issue_write - Modifier une sous-issue

    • Portées OAuth requises : repo
    • after_id : L’ID de la sous-issue à prioriser après (soit after_id, soit before_id doit être spécifié) (nombre, optionnel)
    • before_id : L’ID de la sous-issue à prioriser avant (soit after_id, soit before_id doit être spécifié) (nombre, optionnel)
    • issue_number : Le numéro de l’issue parente (nombre, 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' - supprimer une sous-issue d’une issue parente dans un dépôt GitHub.
      • 'reprioritize' - modifier l’ordre des sous-issues au sein d’une issue parente dans un dépôt GitHub. Utilisez soit 'after_id', soit '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 inscriptible. (chaîne, requis)
    • owner : Propriétaire du dépôt (chaîne, requis)
    • replace_parent : Lorsque vrai, remplace le parent actuel de la sous-issue. À utiliser uniquement avec la méthode 'add'. (booléen, optionnel)
    • repo : Nom du dépôt (chaîne, 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 (nombre, requis)
tag Labels
  • get_label - Récupérer un label spécifique d’un dépôt

    • Portées OAuth requises : repo
    • name : Nom du label. (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)
  • label_write - Opérations d’écriture sur les labels du dépôt

    • Portées OAuth requises : repo
    • color : Couleur du label en code hexadécimal à 6 caractères sans le préfixe '#' (ex., 'f29513'). Requis pour 'create', optionnel pour 'update'. (chaîne, optionnel)
    • description : Texte de description du label. Optionnel pour 'create' et 'update'. (chaîne, optionnel)
    • method : Opération à effectuer : 'create', 'update', ou 'delete' (chaîne, requis)
    • name : Nom du label - requis pour toutes les opérations (chaîne, requis)
    • new_name : Nouveau nom pour le label (utilisé uniquement avec la méthode 'update' pour renommer) (chaîne, optionnel)
    • 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)
  • list_label - Lister les labels d’un dépôt

    • Portées OAuth requises : repo
    • owner : Propriétaire du dépôt (nom d’utilisateur ou nom d’organisation) - requis pour toutes les opérations (chaîne, requis)
    • repo : Nom du dépôt - requis pour toutes les opérations (chaîne, requis)
bell Notifications
  • dismiss_notification - Ignorer une notification

    • Portées OAuth requises : notifications
    • state : Le nouvel état de la notification (read/done) (chaîne, requis)
    • threadID : L’ID du fil de notification (chaîne, requis)
  • get_notification_details - Obtenir les détails d’une notification

    • Portées OAuth requises : notifications
    • notificationID : L’ID de la notification (chaîne, requis)
  • list_notifications - Lister les notifications

    • Portées OAuth requises : notifications
    • before : Afficher uniquement les notifications mises à jour avant la date donnée (format ISO 8601) (chaîne, optionnel)
    • filter : Filtrer les notifications, utiliser la valeur par défaut sauf indication contraire. Les notifications lues sont celles déjà reconnues par l’utilisateur. Les notifications participantes sont celles où l’utilisateur est directement impliqué, comme les issues ou pull requests qu’il a commentées ou créées. (chaîne, optionnel)
    • owner : Propriétaire du dépôt optionnel. Si fourni avec repo, seules les notifications de ce dépôt sont listées. (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)
    • repo : Nom du dépôt optionnel. Si fourni avec owner, seules les notifications de ce dépôt sont listées. (chaîne, optionnel)
    • since : Afficher uniquement les notifications mises à jour après la date donnée (format ISO 8601) (chaîne, optionnel)
  • manage_notification_subscription - Gérer l’abonnement aux notifications

    • Portées OAuth requises : notifications
    • action : Action à effectuer : ignore, watch, ou delete l’abonnement aux notifications. (chaîne, requis)
    • notificationID : L’ID du fil de notification. (chaîne, requis)
  • manage_repository_notification_subscription - Gérer l’abonnement aux notifications du dépôt

    • Portées OAuth requises : notifications
    • action : Action à effectuer : ignore, watch, ou delete l’abonnement aux notifications du dépôt. (chaîne, requis)
    • owner : Le propriétaire du compte du dépôt. (chaîne, requis)
    • repo : Le nom du dépôt. (chaîne, requis)
  • mark_all_notifications_read - Marquer toutes les notifications comme lues

    • Portées OAuth requises : notifications
    • lastReadAt : Décrit le dernier point où les notifications ont été vérifiées (optionnel). Par défaut : Maintenant (chaîne, optionnel)
    • owner : Propriétaire du dépôt optionnel. Si fourni avec repo, seules les notifications de ce dépôt sont marquées comme lues. (chaîne, optionnel)
    • repo : Nom du dépôt optionnel. Si fourni avec owner, seules les notifications de ce dépôt sont marquées comme lues. (chaîne, optionnel)
organization Organisations
  • search_orgs - Rechercher des organisations
    • Portées OAuth requises : read:org
    • Portées OAuth acceptées : admin:org, read:org, write:org
    • 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 d'organisation. Exemples : 'microsoft', 'location:california', 'created:>=2025-01-01'. La recherche est automatiquement limitée à type:org. (chaîne, requis)
    • sort : Champ de tri par catégorie (chaîne, optionnel)
project Projets
  • projects_get - Obtenir les détails des ressources GitHub Projects

    • Portées OAuth requises : read:project
    • Portées OAuth acceptées : project, read:project
    • field_id : L'ID du champ. Requis pour la méthode 'get_project_field'. (nombre, optionnel)
    • field_names : Liste spécifique de noms de champs à inclure dans la réponse lors de l'obtention d'un élément de projet (ex. ["Statut", "Priorité"]). Résolus côté serveur en IDs de champs — passez ceci au lieu de 'fields' lorsque vous ne connaissez que les noms lisibles. Mutuellement exclusif avec 'fields' — fournissez l'un ou l'autre, pas les deux. Utilisé uniquement pour la méthode 'get_project_item'. (chaîne[], optionnel)
    • fields : Liste spécifique d'IDs de champs à inclure dans la réponse lors de l'obtention d'un élément de projet (ex. ["102589", "985201", "169875"]). Si ni 'fields' ni 'field_names' n'est fourni, seul le champ titre est inclus. Mutuellement exclusif avec 'field_names' — fournissez l'un ou l'autre, pas les deux. Utilisé uniquement pour la méthode 'get_project_item'. (chaîne[], optionnel)
    • item_id : L'ID de l'élément. Requis pour la méthode 'get_project_item'. (nombre, optionnel)
    • method : La méthode à exécuter (chaîne, requis)
    • owner : Le propriétaire (identifiant utilisateur ou organisation). Le nom n'est pas sensible à la casse. (chaîne, optionnel)
    • owner_type : Type de propriétaire (utilisateur ou org). S'il n'est pas fourni, sera automatiquement détecté. (chaîne, optionnel)
    • project_number : Le numéro du projet. (nombre, 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'. (chaîne, optionnel)
  • projects_list - Lister les ressources GitHub Projects

    • Portées OAuth requises : read:project
    • Portées OAuth acceptées : project, read:project
    • after : Curseur de pagination avant provenant du précédent pageInfo.nextCursor. (chaîne, optionnel)
    • before : Curseur de pagination arrière provenant du précédent pageInfo.prevCursor (rare). (chaîne, optionnel)
    • field_names : Noms de champs à inclure lors du listage des éléments de projet (ex. ["Statut", "Priorité"]). Résolus côté serveur en IDs de champs — passez ceci au lieu de 'fields' lorsque vous ne connaissez que les noms lisibles. Les noms qui échouent à se résoudre retournent une erreur structurée. Mutuellement exclusif avec 'fields' — fournissez l'un ou l'autre, pas les deux. Utilisé uniquement pour la méthode 'list_project_items'. (chaîne[], optionnel)
    • fields : IDs de champs à inclure lors du listage des éléments de projet (ex. ["102589", "985201"]). CRITIQUE : Fournissez toujours pour obtenir les valeurs des champs. Sans cela (et sans 'field_names'), seuls les titres sont retournés. Mutuellement exclusif avec 'field_names' — fournissez l'un ou l'autre, 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 utilisateur ou organisation). Le nom n'est pas sensible à la casse. (chaîne, requis)
    • owner_type : Type de propriétaire (utilisateur ou org). S'il n'est pas fourni, essaiera automatiquement les deux. (chaîne, optionnel)
    • per_page : 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' et 'list_project_status_updates'. (nombre, optionnel)
    • query : Chaîne de filtre/requête. Pour list_projects : filtrer par texte du titre et état (ex. "roadmap is:open"). Pour list_project_items : filtrage avancé utilisant la syntaxe de filtrage de projet de GitHub. (chaîne, optionnel)
  • projects_write - Gérer les projets GitHub

    • Portées OAuth requises : 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 (ex. 'Sprint'). Requis pour la méthode 'create_iteration_field'. (chaîne, optionnel)
    • issue_number : Le numéro de l'issue. 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 d'issue (combiner avec item_owner et item_repo). (nombre, optionnel)
    • item_id : L'ID de l'élément de 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 issue. (nombre, optionnel)
    • item_owner : Le propriétaire (utilisateur ou organisation) du dépôt contenant l'issue ou la pull request. 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 d'issue. (chaîne, optionnel)
    • item_repo : Le nom du dépôt contenant l'issue ou la pull request. 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 d'issue. (chaîne, optionnel)
    • item_type : Le type de l'élément, soit issue soit pull_request. Requis pour la méthode 'add_project_item'. (chaîne, optionnel)
    • iteration_duration : Durée en jours pour les itérations du champ (ex. 7 pour hebdomadaire, 14 pour bi-hebdomadaire). 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 à partir de 'start_date', ce qui est le bon choix dans la plupart des cas. (objet[], optionnel)
    • method : La méthode à exécuter (chaîne, requis)
    • owner : Le propriétaire du projet (identifiant utilisateur ou organisation). Le nom n'est pas sensible à la casse. (chaîne, requis)
    • owner_type : Type de propriétaire (utilisateur ou org). Requis pour la méthode 'create_project'. S'il n'est pas fourni pour les autres méthodes, 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 pull request (à utiliser lorsque item_type est 'pull_request' pour la méthode 'add_project_item'). Fournissez soit issue_number soit pull_request_number. (nombre, optionnel)
    • start_date : Date de début au format AAAA-MM-JJ. Utilisé 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é 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 : Objet décrivant le champ à mettre à jour et sa nouvelle valeur. Requis pour 'update_project_item'. Deux formes sont acceptées : (1) par ID — {"id": 123456, "value": "..."} ; (2) par nom — {"name": "Statut", "value": "En cours"}. Pour les champs à sélection unique, la résolution du nom de l'option nécessite la forme par nom ; avec la forme par ID, passez l'ID de l'option. Mettez value à null pour effacer le champ. (objet, optionnel)
git-pull-request Pull Requests
  • add_comment_to_pending_review - Ajouter un commentaire de revue à la dernière revue de pull request en attente du demandeur

    • Portées OAuth requises : repo
    • body : Le texte du commentaire de revue (chaîne, requis)
    • line : La ligne du blob dans le diff de la pull request à laquelle le commentaire s'applique. Pour les commentaires multi-lignes, 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 pull request (nombre, requis)
    • repo : Nom du dépôt (chaîne, requis)
    • side : Le côté du diff à commenter. LEFT indique l'état précédent, RIGHT indique le nouvel état (chaîne, optionnel)
    • startLine : Pour les commentaires multi-lignes, la première ligne de la plage à laquelle le commentaire s'applique (nombre, optionnel)
    • startSide : Pour les commentaires multi-lignes, 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 pull request

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

    • Portées OAuth requises : repo
    • base : Branche dans laquelle fusionner (chaîne, requis)
    • body : Description de la PR (chaîne, optionnel)
    • draft : Créer en tant que PR brouillon (booléen, optionnel)
    • head : Branche contenant les modifications (chaîne, requis)
    • maintainer_can_modify : Autoriser les modifications par les mainteneurs (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 revues (chaîne[], optionnel)
    • title : Titre de la PR (chaîne, requis)
  • list_pull_requests - Lister les pull requests

    • Portées OAuth requises : repo
    • base : Filtrer par branche de base (chaîne, optionnel)
    • direction : Direction du tri (chaîne, optionnel)
    • head : Filtrer par utilisateur/org et branche de tête (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 pull request

    • Portées OAuth requises : 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)
    • merge_method : Méthode de fusion (chaîne, optionnel)
    • owner : Propriétaire du dépôt (chaîne, requis)
    • pullNumber : Numéro de la pull request (nombre, requis)
    • repo : Nom du dépôt (chaîne, requis)
  • pull_request_read - Obtenir les détails d'une seule pull request

    • Portées OAuth requises : repo
    • after : Curseur pour la pagination, utilisé uniquement par la méthode get_review_comments. Passez le endCursor de la PageInfo de la page précédente pour récupérer la page suivante. (chaîne, optionnel)
    • method : Action pour spécifier quelles données de pull request doivent être récupérées depuis GitHub. Options possibles :
      1. get - Obtenir les détails d'une pull request spécifique.
      2. get_diff - Obtenir le diff d'une pull request.
      3. get_status - Obtenir le statut combiné des commits du commit de tête d'une pull request.
      4. get_files - Obtenir la liste des fichiers modifiés dans une pull request. À utiliser avec les paramètres de pagination pour contrôler le nombre de résultats retournés.
      5. get_commits - Obtenir la liste des commits d'une pull request. À utiliser 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 revue sur une pull request. Chaque fil contient des commentaires de revue regroupés logiquement, effectués au même emplacement de code lors des revues de pull request. Retourne les fils avec des métadonnées (isResolved, isOutdated, isCollapsed) et leurs commentaires associés. Utilisez la pagination par curseur (perPage, after) pour contrôler les résultats.
      7. get_reviews - Obtenir les revues sur une pull request. En cas de demande de commentaires de revue, utilisez la méthode get_review_comments. À utiliser avec les paramètres de pagination pour contrôler le nombre de résultats retournés.
      8. get_comments - Obtenir les commentaires sur une pull request. Utilisez ceci si l'utilisateur ne veut pas spécifiquement des commentaires de revue. À utiliser 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 pull request. Les exécutions de vérification sont les tâches CI/CD individuelles et les vérifications qui s'exécutent sur la PR. (chaîne, requis)
    • 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)
    • pullNumber : Numéro de la pull request (nombre, requis)
    • repo : Nom du dépôt (chaîne, requis)
  • pull_request_review_write - Opérations d'écriture (créer, soumettre, supprimer) sur les revues de pull request

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

    • Portées OAuth requises : repo
    • order : Ordre de tri (chaîne, optionnel)
    • owner : Propriétaire du dépôt optionnel. S'il est fourni avec repo, seules les pull requests de ce dépôt sont listées. (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 utilisant la syntaxe de recherche de pull request GitHub (chaîne, requis)
    • repo : Nom du dépôt optionnel. S'il est fourni avec owner, seules les pull requests de ce dépôt sont listées. (chaîne, optionnel)
    • sort : Champ de tri par nombre de correspondances de catégories, par défaut la meilleure correspondance (chaîne, optionnel)
  • update_pull_request - Modifier une pull request

    • Portées OAuth requises : repo
    • base : Nouveau nom de la branche de base (chaîne, optionnel)
    • body : Nouvelle description (chaîne, optionnel)
    • draft : Marquer la pull request comme brouillon (true) ou prête pour revue (false) (booléen, optionnel)
    • maintainer_can_modify : Autoriser les modifications par les mainteneurs (booléen, optionnel)
    • owner : Propriétaire du dépôt (chaîne, requis)
    • pullNumber : Numéro de la pull request à mettre à jour (nombre, requis)
    • repo : Nom du dépôt (chaîne, requis)
    • reviewers : Noms d'utilisateur GitHub ou réviseurs d'équipe ORG/team-slug auxquels demander des revues (chaîne[], optionnel)
    • state : Nouvel état (chaîne, optionnel)
    • title : Nouveau titre (chaîne, optionnel)
  • update_pull_request_branch - Mettre à jour la branche d'une pull request

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

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

    • Portées OAuth requises : repo
    • branch : Branche dans laquelle créer/mettre à jour le fichier (chaîne, requis)
    • content : Contenu du fichier (chaîne, requis)
    • message : Message de commit (chaîne, requis)
    • owner : Propriétaire du dépôt (nom d'utilisateur ou organisation) (chaîne, requis)
    • path : Chemin où créer/mettre à jour le fichier (chaîne, requis)
    • repo : Nom du dépôt (chaîne, requis)
    • sha : Le SHA du blob du fichier à remplacer. Requis si le fichier existe déjà. (chaîne, optionnel)
  • create_repository - Créer un dépôt

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

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

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

    • Portées OAuth requises : repo
    • detail : Niveau de détail à inclure pour les fichiers modifiés. "none" omet entièrement les statistiques et les fichiers. "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, 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)
    • sha : SHA du commit, nom de branche ou nom de tag (chaîne, requis)
  • get_file_contents - Obtenir le contenu d'un fichier ou d'un répertoire

    • Portées OAuth requises : repo
    • owner : Propriétaire du dépôt (nom d'utilisateur ou organisation) (chaîne, requis)
    • path : Chemin vers le fichier/répertoire (chaîne, optionnel)
    • ref : Accepte les références git optionnelles telles que refs/tags/{tag}, refs/heads/{branch} ou refs/pull/{pr_number}/head (chaîne, optionnel)
    • repo : Nom du dépôt (chaîne, requis)
    • sha : Accepte un SHA de commit optionnel. S'il est spécifié, il sera utilisé à la place de ref (chaîne, optionnel)
  • get_latest_release - Obtenir la dernière version

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

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

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

    • Portées OAuth requises : 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)
  • list_commits - Lister les commits

    • Portées OAuth requises : repo
    • author : Nom d'utilisateur ou adresse e-mail de l'auteur pour filtrer les commits (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)
    • 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 du commit, nom de branche ou de tag pour lister les commits. S'il n'est pas fourni, utilise la branche par défaut du dépôt. Si un SHA de commit est fourni, listera les commits jusqu'à ce SHA. (chaîne, optionnel)
    • since : Seuls les commits après cette date seront retournés (format ISO 8601 : YYYY-MM-DDTHH:MM:SSZ ou YYYY-MM-DD) (chaîne, optionnel)
    • until : Seuls les commits avant cette date seront retournés (format ISO 8601 : YYYY-MM-DDTHH:MM:SSZ ou YYYY-MM-DD) (chaîne, optionnel)
  • list_releases - Lister les versions

    • Portées OAuth requises : 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)
  • list_repository_collaborators - Lister les collaborateurs du dépôt

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

    • Portées OAuth requises : 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

    • Portées OAuth requises : repo
    • branch : Branche vers laquelle pousser (chaîne, requis)
    • files : Tableau d'objets fichier à pousser, chaque objet avec chemin (chaîne) et contenu (chaîne) (objet[], 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

    • Portées OAuth requises : repo
    • 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 une correspondance exacte. Qualificateurs : 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

    • Portées OAuth requises : 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. Délimitez la recherche avec repo:owner/repo, org: ou user: (les requêtes sans qualificateur de portée correspondent à tout GitHub et ne sont généralement pas ce que vous voulez). Autres qualificateurs : 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 commit (par défaut, meilleure correspondance) (chaîne, optionnel)
  • search_repositories - Rechercher des dépôts

    • Portées OAuth requises : repo
    • minimal_output : Renvoyer des informations minimales sur le dépôt (par défaut : true). Lorsque false, renvoie les objets dépôt 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, par défaut meilleure correspondance (chaîne, optionnel)
shield-lock Protection des secrets
  • get_secret_scanning_alert - Obtenir une alerte d'analyse des secrets

    • Portées OAuth requises : security_events
    • Portées OAuth acceptées : repo, 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 d'analyse des secrets

    • Portées OAuth requises : security_events
    • Portées OAuth acceptées : repo, 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 des types de secrets à renvoyer. Tous les modèles de secrets par défaut sont renvoyés. Pour renvoyer des modèles génériques, passez le(s) nom(s) de jeton 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é global

    • Portées OAuth requises : security_events
    • Portées OAuth acceptées : repo, 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é globaux

    • Portées OAuth requises : security_events
    • Portées OAuth acceptées : repo, security_events
    • affects : Filtrer les avis par paquet 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 ID Common Weakness Enumeration (par ex. ["79", "284", "22"]). (chaîne[], optionnel)
    • ecosystem : Filtrer par écosystème de paquet. (chaîne, optionnel)
    • ghsaId : Filtrer par ID d'avis de sécurité GitHub (format : GHSA-xxxx-xxxx-xxxx). (chaîne, optionnel)
    • isWithdrawn : S'il faut renvoyer uniquement les avis retirés. (booléen, optionnel)
    • modified : Filtrer par date de publication ou de mise à jour ou plage de dates (date ou plage ISO 8601). (chaîne, optionnel)
    • published : Filtrer par date de publication ou plage de dates (date ou plage ISO 8601). (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 ou plage ISO 8601). (chaîne, optionnel)
  • list_org_repository_security_advisories - Lister les avis de sécurité des dépôts de l'organisation

    • Portées OAuth requises : security_events
    • Portées OAuth acceptées : repo, security_events
    • direction : Direction du 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é du dépôt

    • Portées OAuth requises : security_events
    • Portées OAuth acceptées : repo, security_events
    • direction : Direction du 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

    • Portées OAuth requises : 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é) soit 'updated' (quand le dépôt a reçu sa dernière poussée). (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

    • Portées OAuth requises : repo
    • owner : Propriétaire du dépôt (chaîne, requis)
    • repo : Nom du dépôt (chaîne, requis)
  • unstar_repository - Désétoiler un dépôt

    • Portées OAuth requises : 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 OAuth requises : 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 d'utilisateurs. Exemples : 'john smith', 'location:seattle', 'followers:>100'. La recherche est automatiquement limitée à type:user. (chaîne, requis)
    • sort : Trier les utilisateurs par nombre de followers ou de dépôts, ou par date d'arrivée sur GitHub. (chaîne, optionnel)

Outils supplémentaires dans le serveur MCP GitHub 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, requis)
    • 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, requis)
    • problem_statement : Description détaillée de la tâche à effectuer (par ex., 'Implémenter une fonctionnalité qui fait X', 'Corriger le bug Y', etc.) (chaîne, requis)
    • title : Titre de la pull request qui sera créée (chaîne, requis)
    • base_ref : Référence Git (par ex., 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, optionnel)
Copilot Spaces
  • Note d'authentification

    • Les PAT à granularité fine ne sont pas masqués par le filtrage de portée des PAT classiques, donc ces outils peuvent encore 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 à un dépôt, 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, requis)
    • name : Le nom de l'espace. (chaîne, requis)
  • list_copilot_spaces - Lister les espaces Copilot

Recherche dans la documentation de support GitHub - **github_support_docs_search** - Récupère la documentation pertinente pour répondre aux questions sur les produits et le support GitHub. Les sujets de support incluent : les workflows GitHub Actions, l'authentification, les demandes d'assistance GitHub, les pratiques de pull request, la maintenance de dépôt, GitHub Pages, GitHub Packages, GitHub Discussions, Copilot Spaces - `query` : Saisie de l'utilisateur concernant la question à laquelle il doit répondre. Il s'agit du dernier message utilisateur brut non modifié. Vous devez TOUJOURS laisser le message utilisateur tel quel, vous ne devez jamais le modifier. (chaîne, obligatoire)

Mode lecture seule

Pour exécuter le serveur en mode lecture seule, vous pouvez utiliser le drapeau --read-only. Cela n'offrira que des outils en lecture seule, empêchant toute modification des dépôts, des issues, des pull requests, etc.

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

Lors de l'utilisation de Docker, vous pouvez passer le mode lecture seule en tant que 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 exposera à 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 écriture 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.

./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

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 écriture :

  • issue_read:get
  • pull_request_read:get

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

  • 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 d'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 un export des traductions actuelles en exécutant le binaire avec le drapeau --export-translations.

Ce drapeau conservera toutes les traductions/remplacements que vous avez effectués, tout en ajoutant toute nouvelle traduction qui a été ajoutée au binaire depuis la dernière fois que vous avez exporté.

./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 dans le 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. Ceci 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'environnementValeur par dé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 en tant que bibliothèque

L'API Go exportée de ce module doit actuellement être considérée comme instable et sujette à des modifications cassantes. À l'avenir, nous pourrons offrir une stabilité ; veuillez ouvrir une issue s'il existe un cas d'utilisation où cela serait précieux.

Contribution

Les contributions sont les bienvenues. Avant d'ouvrir une pull request, 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 parmi les issues existantes avant d'en ouvrir une nouvelle.

Sécurité

Veuillez ne pas signaler les vulnérabilités de sécurité via les issues publiques. 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 open source MIT. Veuillez vous référer à MIT pour les termes complets.