Repository-Erkundung — Bitten Sie Ihren Assistenten, Repositories zu durchsuchen, Dateien zu suchen und die Projektstruktur mithilfe von Tools wie get_file_contents zu verstehen.
Issue- & PR-Verwaltung — Lassen Sie Ihre KI Issues und Pull Requests erstellen, aktualisieren und priorisieren, einschließlich der Überprüfung von Codeänderungen und der Pflege von Projektboards.
CI/CD-Überwachung — Erhalten Sie Einblicke in GitHub Actions-Workflow-Läufe, analysieren Sie Build-Fehler und verwalten Sie Releases über natürlichsprachliche Abfragen.
Code-Sicherheitsanalyse — Untersuchen Sie Sicherheitsbefunde, überprüfen Sie Dependabot-Warnungen und verstehen Sie Codemuster in Ihrer gesamten Codebasis.
Team-Zusammenarbeit — Greifen Sie auf Diskussionen zu, verwalten Sie Benachrichtigungen und analysieren Sie Teamaktivitäten, um Entwicklungsprozesse zu optimieren.
Dokumentation
GitHub MCP Server
Der GitHub MCP Server verbindet KI-Tools direkt mit der GitHub-Plattform. Dadurch erhalten KI-Agenten, Assistenten und Chatbots die Möglichkeit, Repositorys und Codedateien zu lesen, Issues und PRs zu verwalten, Code zu analysieren und Arbeitsabläufe zu automatisieren – alles über natürliche Sprachinteraktionen.
Anwendungsfälle
Repository-Verwaltung: Durchsuchen und Abfragen von Code, Suchen von Dateien, Analysieren von Commits und Verstehen der Projektstruktur in jedem Repository, auf das Sie Zugriff haben.
Issue- & PR-Automatisierung: Erstellen, Aktualisieren und Verwalten von Issues und Pull Requests. Lassen Sie KI bei der Triage von Bugs, der Überprüfung von Codeänderungen und der Pflege von Projektboards helfen.
CI/CD- & Workflow-Intelligenz: Überwachen Sie GitHub Actions Workflow-Läufe, analysieren Sie Build-Fehler, verwalten Sie Releases und erhalten Sie Einblicke in Ihre Entwicklungspipeline.
Code-Analyse: Untersuchen Sie Sicherheitsbefunde, überprüfen Sie Dependabot-Warnungen, verstehen Sie Codemuster und erhalten Sie umfassende Einblicke in Ihre Codebasis.
Team-Zusammenarbeit: Greifen Sie auf Diskussionen zu, verwalten Sie Benachrichtigungen, analysieren Sie Teamaktivitäten und optimieren Sie Prozesse für Ihr Team.
Entwickelt für Entwickler, die ihre KI-Tools mit GitHub-Kontext und -Funktionen verbinden möchten – von einfachen natürlichen Sprachabfragen bis hin zu komplexen mehrstufigen Agenten-Workflows.
Remote GitHub MCP Server
Der Remote GitHub MCP Server wird von GitHub gehostet und bietet die einfachste Methode für den Einstieg. Wenn Ihr MCP-Host keine Remote-MCP-Server unterstützt, keine Sorge! Sie können stattdessen die lokale Version des GitHub MCP Servers verwenden.
Voraussetzungen
Ein kompatibler MCP-Host mit Remote-Server-Unterstützung (VS Code 1.101+, Claude Desktop, Cursor, Windsurf usw.)
Für eine schnelle Installation verwenden Sie einen der One-Click-Installationsbuttons oben. Sobald Sie diesen Ablauf abgeschlossen haben, aktivieren Sie den Agentenmodus (befindet sich neben dem Copilot Chat Texteingabefeld) und der Server startet. Stellen Sie sicher, dass Sie VS Code 1.101 oder höher für Remote-MCP- und OAuth-Unterstützung verwenden.
Alternativ können Sie VS Code manuell konfigurieren, indem Sie den entsprechenden JSON-Block aus den folgenden Beispielen auswählen und zu Ihrer Host-Konfiguration hinzufügen:
Rovo Dev CLI – Installationsanleitung für Rovo Dev CLI
Hinweis: Jede MCP-Host-Anwendung muss eine GitHub App oder OAuth App konfigurieren, um den Remote-Zugriff über OAuth zu unterstützen. Jede Host-Anwendung, die Remote-MCP-Server unterstützt, sollte den Remote-GitHub-Server mit PAT-Authentifizierung unterstützen. Konfigurationsdetails und Unterstützungsstufen variieren je nach Host. Weitere Informationen finden Sie in der Dokumentation der Host-Anwendung.
Konfiguration
Toolset-Konfiguration
Siehe Remote Server Dokumentation für vollständige Details zur Remote-Server-Konfiguration, Toolsets, Headern und erweiterter Nutzung. Diese Datei enthält umfassende Anweisungen und Beispiele zum Verbinden, Anpassen und Installieren des Remote GitHub MCP Servers in VS Code und anderen MCP-Hosts.
Wenn keine Toolsets angegeben sind, werden die Standard-Toolsets verwendet.
Insiders-Modus
Neue Funktionen früh ausprobieren! Der Remote-Server bietet eine Insiders-Version mit frühzeitigem Zugriff auf neue Funktionen und experimentelle Tools.
Hinweis: Bei Verwendung von OAuth mit GitHub Enterprise in VS Code und GitHub Copilot müssen Sie auch Ihre VS Code-Einstellungen so konfigurieren, dass sie auf Ihre GitHub Enterprise-Instanz verweisen – siehe Authentifizierung von VS Code aus
Um den Server in einem Container auszuführen, müssen Sie Docker installiert haben.
Sobald Docker installiert ist, müssen Sie auch sicherstellen, dass Docker ausgeführt wird. Das Docker-Image ist unter ghcr.io/github/github-mcp-server verfügbar. Das Image ist öffentlich; wenn Sie Fehler beim Pull erhalten, haben Sie möglicherweise ein abgelaufenes Token und müssen docker logout ghcr.io.
Authentifizierung. Auf github.com müssen Sie nichts im Voraus erstellen – die One-Click-Buttons oben melden Sie bei der ersten Verwendung mit OAuth an (ein browserbasierter Ablauf; das Token wird nur im Speicher gehalten). Die Docker-Buttons veröffentlichen einen festen Callback-Port (127.0.0.1:8085), sodass der Login-Callback des Containers erreichbar ist. Siehe Lokaler Server OAuth-Login für die Funktionsweise, Headless-/Gerätecode-Fallback und das Mitbringen eigener OAuth- oder GitHub-Apps (erforderlich für GitHub Enterprise Server und ghe.com).
Bevorzugen Sie ein Token? Sie können sich weiterhin mit einem GitHub Personal Access Token authentifizieren, indem Sie GITHUB_PERSONAL_ACCESS_TOKEN setzen (dies hat Vorrang vor OAuth). Der MCP-Server kann viele der GitHub-APIs nutzen, daher aktivieren Sie die Berechtigungen, die Sie Ihren KI-Tools gewähren möchten (weitere Informationen zu Zugriffstokens finden Sie in der Dokumentation).
Sichere Handhabung von PATs
Umgebungsvariablen (Empfohlen)
Um Ihr GitHub PAT sicher zu halten und über verschiedene MCP-Hosts hinweg wiederverwendbar zu machen:
Speichern Sie Ihr PAT in Umgebungsvariablen
export GITHUB_PAT=your_token_here
Oder erstellen Sie eine .env-Datei:
GITHUB_PAT=your_token_here
Schützen Sie Ihre .env-Datei
# Add to .gitignore to prevent accidental commits
echo ".env" >> .gitignore
Referenzieren Sie das Token in Konfigurationen
# 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"
}
Hinweis: Die Unterstützung von Umgebungsvariablen variiert je nach Host-Anwendung und IDE. Einige Anwendungen (wie Windsurf) erfordern fest codierte Tokens in Konfigurationsdateien.
Best Practices für Token-Sicherheit
Minimale Berechtigungen: Nur notwendige Berechtigungen erteilen
repo – Repository-Operationen
read:packages – Docker-Image-Zugriff
read:org – Organisationsteam-Zugriff
Getrennte Tokens: Verwenden Sie verschiedene PATs für verschiedene Projekte/Umgebungen
Regelmäßige Rotation: Aktualisieren Sie Tokens regelmäßig
Nie committen: Halten Sie Tokens aus der Versionskontrolle heraus
Dateiberechtigungen: Beschränken Sie den Zugriff auf Konfigurationsdateien, die Tokens enthalten
chmod 600 ~/.your-app/config.json
GitHub Enterprise Server und Enterprise Cloud mit Datenresidenz (ghe.com)
Das Flag --gh-host und die Umgebungsvariable GITHUB_HOST können verwendet werden, um
den Hostnamen für GitHub Enterprise Server oder GitHub Enterprise Cloud mit Datenresidenz festzulegen.
Für GitHub Enterprise Server setzen Sie dem Hostnamen das https://-URI-Schema voran. HTTPS ist erforderlich und wird erzwungen: Nicht-HTTPS-Hosts werden abgelehnt, damit Anmeldeinformationen niemals im Klartext gesendet werden (die einzige Ausnahme ist ein Loopback-Host wie http://localhost für die lokale Entwicklung).
Für GitHub Enterprise Cloud mit Datenresidenz verwenden Sie https://YOURSUBDOMAIN.ghe.com als Hostnamen.
Für eine schnelle Installation verwenden Sie einen der One-Click-Installationsbuttons oben. Sobald Sie diesen Ablauf abgeschlossen haben, aktivieren Sie den Agentenmodus (befindet sich neben dem Copilot Chat Texteingabefeld) und der Server startet.
Installation in GitHub Copilot auf anderen IDEs (JetBrains, Visual Studio, Eclipse usw.)
Fügen Sie einen der folgenden JSON-Blöcke zu den MCP-Einstellungen Ihrer IDE hinzu.
Mit OAuth anmelden (kein Token erstellen oder speichern). Auf github.com enthält das offizielle Image bereits die App-Anmeldeinformationen, sodass Sie selbst keine bereitstellen müssen: Es führt bei der ersten Verwendung einen browserbasierten Login durch und hält das resultierende Token nur im Speicher. In Docker ist dafür ein fester Callback-Port erforderlich, der auf Loopback veröffentlicht wird, damit der Login-Callback des Containers erreichbar ist:
Siehe Lokaler Server OAuth-Login für den nativen Binärablauf (kein fester Port erforderlich), den Headless-/Gerätecode-Fallback, GitHub Enterprise Server / ghe.com und das Mitbringen eigener OAuth- oder GitHub-Apps.
Optional können Sie ein ähnliches Beispiel (d. h. ohne den MCP-Schlüssel) zu einer Datei namens .vscode/mcp.json in Ihrem Arbeitsbereich hinzufügen. Dadurch können Sie die Konfiguration mit anderen Host-Anwendungen teilen, die dasselbe Format akzeptieren.
Hinweis: Jede Host-Anwendung, die lokale MCP-Server unterstützt, sollte in der Lage sein, auf den lokalen GitHub MCP-Server zuzugreifen. Der spezifische Konfigurationsprozess, die Syntax und die Stabilität der Integration variieren jedoch je nach Host-Anwendung. Viele folgen möglicherweise einem ähnlichen Format wie die obigen Beispiele, dies ist jedoch nicht garantiert. Bitte konsultieren Sie die Dokumentation Ihrer Host-Anwendung für die korrekte MCP-Konfigurationssyntax und den Einrichtungsprozess.
Aus dem Quellcode erstellen
Wenn Sie kein Docker haben, können Sie go build verwenden, um die Binärdatei im Verzeichnis cmd/github-mcp-server zu erstellen, und den Befehl github-mcp-server stdio mit der Umgebungsvariable GITHUB_PERSONAL_ACCESS_TOKEN verwenden, die auf Ihr Token gesetzt ist. Um den Ausgabeort des Builds anzugeben, verwenden Sie das Flag -o. Sie sollten Ihren Server so konfigurieren, dass er die erstellte ausführbare Datei als command verwendet. Zum Beispiel:
Der GitHub MCP-Server unterstützt das Aktivieren oder Deaktivieren bestimmter Funktionsgruppen über das Flag --toolsets. Dies ermöglicht Ihnen zu steuern, welche GitHub-API-Funktionen Ihren KI-Tools zur Verfügung stehen. Das Aktivieren nur der Toolsets, die Sie benötigen, kann dem LLM bei der Tool-Auswahl helfen und die Kontextgröße reduzieren.
Toolsets sind nicht auf Tools beschränkt. Relevante MCP-Ressourcen und Prompts sind ebenfalls enthalten, wo zutreffend.
Wenn keine Toolsets angegeben sind, werden die Standard-Toolsets verwendet.
Auf der Suche nach Beispielen? Siehe den Server-Konfigurationsleitfaden für gängige Rezepte wie minimale Einrichtungen, Nur-Lese-Modus und die Kombination von Tools mit Toolsets.
Angabe von Toolsets
Um die Toolsets anzugeben, die dem LLM zur Verfügung stehen sollen, können Sie eine Zulassungsliste auf zwei Arten übergeben:
Die Umgebungsvariable GITHUB_TOOLSETS hat Vorrang vor dem Befehlszeilenargument, wenn beide angegeben sind.
Angabe einzelner Tools
Sie können auch spezifische Tools mit dem Flag --tools konfigurieren. Tools können unabhängig oder in Kombination mit Toolsets für eine feingranulare Steuerung verwendet werden.
Dies registriert alle Tools aus den Toolsets repos und issues sowie get_gist.
Wichtige Hinweise:
Tools und Toolsets können zusammen verwendet werden
Der Nur-Lese-Modus hat Priorität: Schreib-Tools werden übersprungen, wenn --read-only gesetzt ist, selbst wenn sie explizit über --tools angefordert wurden
Tool-Namen müssen exakt übereinstimmen (z. B. get_file_contents, nicht getFileContents). Ungültige Tool-Namen führen dazu, dass der Server beim Start mit einer Fehlermeldung fehlschlägt
Wenn Tools umbenannt werden, bleiben alte Namen als Aliase für die Abwärtskompatibilität erhalten. Siehe Tool-Umbenennung für Details.
Verwendung von Toolsets mit Docker
Bei Verwendung von Docker können Sie die Toolsets als Umgebungsvariablen übergeben:
resource_id: Die eindeutige Kennung der Ressource. Diese variiert je nach bereitgestellter "Methode", stellen Sie daher sicher, dass Sie die korrekte ID angeben:
Geben Sie eine Workflow-ID oder einen Workflow-Dateinamen (z. B. ci.yaml) für die Methode 'get_workflow' an.
Geben Sie eine Workflow-Lauf-ID für die Methoden 'get_workflow_run', 'get_workflow_run_usage' und 'get_workflow_run_logs_url' an.
Geben Sie eine Artefakt-ID für die Methode 'download_workflow_run_artifact' an.
Geben Sie eine Job-ID für die Methode 'get_workflow_job' an.
(Zeichenfolge, erforderlich)
actions_list - GitHub Actions-Workflows in einem Repository auflisten
OAuth-Challenge-Bereiche: repo
method: Die auszuführende Aktion (Zeichenfolge, erforderlich)
resource_id: Die eindeutige Kennung der Ressource. Diese variiert je nach bereitgestellter "Methode", stellen Sie daher sicher, dass Sie die korrekte ID angeben:
Geben Sie keine Ressourcen-ID für die Methode 'list_workflows' an.
Geben Sie eine Workflow-ID oder einen Workflow-Dateinamen (z. B. ci.yaml) für die Methode 'list_workflow_runs' an, oder lassen Sie es aus, um alle Workflow-Läufe im Repository aufzulisten.
Geben Sie eine Workflow-Lauf-ID für die Methoden 'list_workflow_jobs' und 'list_workflow_run_artifacts' an.
(Zeichenfolge, optional)
workflow_jobs_filter: Filter für Workflow-Jobs. NUR verwendet, wenn die Methode 'list_workflow_jobs' ist (Objekt, optional)
workflow_runs_filter: Filter für Workflow-Läufe. NUR verwendet, wenn die Methode 'list_workflow_runs' ist (Objekt, optional)
ref: Die Git-Referenz für den Workflow. Die Referenz kann ein Zweig- oder Tag-Name sein. Erforderlich für die Methode 'run_workflow'. (Zeichenfolge, optional)
run_id: Die ID des Workflow-Laufs. Erforderlich für alle Methoden außer 'run_workflow'. (Zahl, optional)
workflow_id: Die Workflow-ID (numerisch) oder der Workflow-Dateiname (z. B. main.yml, ci.yaml). Erforderlich für die Methode 'run_workflow'. (Zeichenfolge, optional)
failed_only: Wenn true, werden Protokolle für alle fehlgeschlagenen Jobs im durch run_id angegebenen Workflow-Lauf abgerufen. Erfordert, dass run_id angegeben wird. (Boolescher Wert, optional)
job_id: Die eindeutige Kennung des Workflow-Jobs. Erforderlich beim Abrufen von Protokollen für einen einzelnen Job. (Zahl, optional)
return_content: Gibt den tatsächlichen Protokollinhalt anstelle von URLs zurück (Boolescher Wert, optional)
run_id: Die eindeutige Kennung des Workflow-Laufs. Erforderlich, wenn failed_only true ist, um Protokolle für alle fehlgeschlagenen Jobs im Lauf abzurufen. (Zahl, optional)
tail_lines: Anzahl der Zeilen, die vom Ende des Protokolls zurückgegeben werden sollen (Zahl, optional)
owner: Der Besitzer des Repositorys. (Zeichenkette, erforderlich)
page: Seitennummer für die Paginierung (min. 1) (Zahl, optional)
perPage: Ergebnisse pro Seite für die Paginierung (min. 1, max. 100) (Zahl, optional)
ref: Die Git-Referenz für die Ergebnisse, die Sie auflisten möchten. (Zeichenkette, optional)
repo: Der Name des Repositorys. (Zeichenkette, erforderlich)
severity: Code-Scanning-Warnungen nach Schweregrad filtern (Zeichenkette, optional)
state: Code-Scanning-Warnungen nach Status filtern. Standardmäßig offen (Zeichenkette, optional)
tool_name: Der Name des für das Code-Scanning verwendeten Tools. (Zeichenkette, optional)
Kontext
get_me – Mein Benutzerprofil abrufen
Keine Parameter erforderlich
get_team_members – Teammitglieder abrufen
OAuth Challenge Scopes: read:org
org: Organisations-Login (Besitzer), der das Team enthält. (Zeichenkette, erforderlich)
team_slug: Team-Slug (Zeichenkette, erforderlich)
get_teams – Teams abrufen
OAuth Challenge Scopes: read:org
user: Benutzername, für den Teams abgerufen werden sollen. Wenn nicht angegeben, wird der authentifizierte Benutzer verwendet. (Zeichenkette, optional)
Copilot
assign_copilot_to_issue – Copilot einem Issue zuweisen
OAuth Challenge Scopes: repo
base_ref: Git-Referenz (z. B. Branch), von der der Agent seine Arbeit startet. Wenn nicht angegeben, wird der Standard-Branch des Repositorys verwendet (Zeichenkette, optional)
custom_instructions: Optionale benutzerdefinierte Anweisungen, um den Agenten über den Issue-Text hinaus zu führen. Verwenden Sie dies, um zusätzlichen Kontext, Einschränkungen oder Anleitungen bereitzustellen, die nicht in der Issue-Beschreibung enthalten sind (Zeichenkette, optional)
assign_copilot_to_issue_with_intent – Copilot mit Absicht einem Issue zuweisen
OAuth Challenge Scopes: repo
base_ref: Git-Referenz (z. B. Branch), von der der Agent seine Arbeit startet. Wenn nicht angegeben, wird der Standard-Branch des Repositorys verwendet. Wird ignoriert, wenn is_suggestion true ist (Zeichenkette, optional)
confidence: Wie sicher Sie sich bei dieser Wahl sind. „HIGH“ für ein klares Signal oder eine explizite Benutzeranfrage, „MEDIUM“ für eine vernünftige Schlussfolgerung mit etwas Mehrdeutigkeit, „LOW“ für eine beste Vermutung mit begrenztem Signal. (Zeichenkette, erforderlich)
custom_instructions: Optionale benutzerdefinierte Anweisungen, um den Agenten über den Issue-Text hinaus zu führen. Wird ignoriert, wenn is_suggestion true ist (Zeichenkette, optional)
is_suggestion: Wenn true, wird eine ausstehende Copilot-Zuweisungsabsicht aufgezeichnet, anstatt den Agenten zu starten. Die spätere Genehmigung liefert den Startkontext; base_ref und custom_instructions werden in diesem Fall ignoriert. (Boolescher Wert, erforderlich)
rationale: Ein prägnanter Satz, der erklärt, was genau an dem Issue zur Wahl von Copilot geführt hat. Geben Sie das konkrete Signal an (z. B. „Gut abgegrenzte Aufgabe mit klaren Abnahmekriterien“). (Zeichenkette, erforderlich)
after: Cursor für die Paginierung. Verwenden Sie den Cursor aus der vorherigen Antwort. (Zeichenkette, optional)
owner: Der Besitzer des Repositorys. (Zeichenkette, erforderlich)
perPage: Ergebnisse pro Seite für die Paginierung (min. 1, max. 100) (Zahl, optional)
repo: Der Name des Repositorys. (Zeichenkette, erforderlich)
severity: Dependabot-Warnungen nach Schweregrad filtern (Zeichenkette, optional)
state: Dependabot-Warnungen nach Status filtern. Standardmäßig offen (Zeichenkette, optional)
Diskussionen
discussion_comment_write – Diskussionskommentare verwalten
OAuth Challenge Scopes: repo
body: Kommentarinhalt (erforderlich für die Methoden „add“, „reply“ und „update“) (Zeichenkette, optional)
commentNodeID: Die Knoten-ID des Diskussionskommentars (erforderlich für die Methoden „reply“, „update“, „delete“, „mark_answer“ und „unmark_answer“). Für „reply“ ist dies der Kommentar der obersten Ebene, auf den geantwortet werden soll; GitHub Discussions unterstützt nur eine Verschachtelungsebene. (Zeichenkette, optional)
discussionNumber: Diskussionsnummer (erforderlich für die Methoden „add“ und „reply“) (Zahl, optional)
method: Schreibvorgang, der an einem Diskussionskommentar durchgeführt werden soll.
Optionen sind:
„add“ – fügt einen neuen Kommentar der obersten Ebene zu einer Diskussion hinzu.
„reply“ – antwortet auf einen Diskussionskommentar der obersten Ebene (GitHub Discussions unterstützt nur eine Verschachtelungsebene).
„update“ – aktualisiert einen vorhandenen Diskussionskommentar.
„delete“ – löscht einen Diskussionskommentar.
„mark_answer“ – markiert einen Diskussionskommentar als Antwort (nur Q&A).
„unmark_answer“ – entfernt die Markierung eines Diskussionskommentars als Antwort (nur Q&A).
(Zeichenkette, erforderlich)
owner: Repository-Besitzer (erforderlich für die Methoden „add“ und „reply“) (Zeichenkette, optional)
repo: Repository-Name (erforderlich für die Methoden „add“ und „reply“) (Zeichenkette, optional)
includeReplies: Wenn true, enthält jeder Kommentar der obersten Ebene seine Antworten verschachtelt (bis zu 100 Antworten pro Kommentar, das Maximum der GitHub-API). Standardmäßig false. (Boolescher Wert, optional)
repo: Repository-Name. Wenn nicht angegeben, werden Diskussionskategorien auf Organisationsebene abgefragt. (Zeichenkette, optional)
list_discussions – Diskussionen auflisten
OAuth Challenge Scopes: repo
after: Cursor für die Paginierung. Verwenden Sie den Cursor aus der vorherigen Antwort. (Zeichenkette, optional)
category: Optionaler Filter nach Diskussionskategorie-ID. Wenn angegeben, werden nur Diskussionen mit dieser Kategorie aufgelistet. (Zeichenkette, optional)
perPage: Ergebnisse pro Seite für die Paginierung (min. 1, max. 100) (Zahl, optional)
repo: Repository-Name. Wenn nicht angegeben, werden Diskussionen auf Organisationsebene abgefragt. (Zeichenkette, optional)
Gists
create_gist – Gist erstellen
OAuth Challenge Scopes: gist
content: Inhalt für die einfache Erstellung eines eindateiigen Gists (Zeichenkette, erforderlich)
description: Beschreibung des Gists (Zeichenkette, optional)
filename: Dateiname für die einfache Erstellung eines eindateiigen Gists (Zeichenkette, erforderlich)
public: Ob der Gist öffentlich ist (Boolescher Wert, optional)
get_gist – Gist-Inhalt abrufen
gist_id: Die ID des Gists (Zeichenkette, erforderlich)
list_gists – Gists auflisten
page: Seitennummer für die Paginierung (min. 1) (Zahl, optional)
perPage: Ergebnisse pro Seite für die Paginierung (min. 1, max. 100) (Zahl, optional)
since: Nur Gists, die nach diesem Zeitpunkt aktualisiert wurden (ISO-8601-Zeitstempel) (Zeichenkette, optional)
username: GitHub-Benutzername (weglassen für Gists des authentifizierten Benutzers) (Zeichenkette, optional)
update_gist – Gist aktualisieren
OAuth Challenge Scopes: gist
content: Inhalt für die Datei (Zeichenkette, erforderlich)
description: Aktualisierte Beschreibung des Gists (Zeichenkette, optional)
filename: Dateiname, der aktualisiert oder erstellt werden soll (Zeichenkette, erforderlich)
gist_id: ID des zu aktualisierenden Gists (Zeichenkette, erforderlich)
Git
- **get_repository_tree** - Repository-Baum abrufen
- **OAuth Challenge Scopes**: `repo`
- `owner`: Repository-Besitzer (Benutzername oder Organisation) (string, erforderlich)
- `path_filter`: Optionales Pfadpräfix zum Filtern der Baum-Ergebnisse (z. B. 'src/', um nur Dateien im src-Verzeichnis anzuzeigen) (string, optional)
- `recursive`: Wenn dieser Parameter auf true gesetzt wird, werden die Objekte oder Unterbäume zurückgegeben, auf die der Baum verweist. Standard ist false (boolean, optional)
- `repo`: Repository-Name (string, erforderlich)
- `tree_sha`: Der SHA1-Wert oder der Ref-Name (Branch oder Tag) des Baums. Standardmäßig wird der Standard-Branch des Repositorys verwendet (string, optional)
Issues
add_issue_comment - Kommentar zu Issue oder Pull Request hinzufügen
OAuth Challenge Scopes: repo
body: Kommentarinhalt. Erforderlich, sofern keine Reaktion angegeben wird. (string, optional)
comment_id: Die numerische ID des Issue- oder Pull-Request-Kommentars, auf den reagiert werden soll. Verwenden Sie dies für Reaktionen auf Kommentare; lassen Sie es weg, um auf das Issue oder den Pull Request selbst zu reagieren. Kann nicht mit body kombiniert werden. (integer, optional)
issue_number: Issue- oder Pull-Request-Nummer, zu der ein Kommentar hinzugefügt oder auf die reagiert werden soll. (number, erforderlich)
owner: Repository-Besitzer (string, erforderlich)
reaction: Emoji-Reaktion, die hinzugefügt werden soll. Erforderlich, sofern kein body angegeben wird. (string, optional)
repo: Repository-Name (string, erforderlich)
get_label - Ein bestimmtes Label aus einem Repository abrufen
OAuth Challenge Scopes: repo
name: Label-Name. (string, erforderlich)
owner: Repository-Besitzer (Benutzername oder Organisationsname) (string, erforderlich)
repo: Repository-Name (string, erforderlich)
issue_read - Issue-Details abrufen
OAuth Challenge Scopes: repo
issue_number: Die Nummer des Issues (number, erforderlich)
method: Die Leseoperation, die für ein einzelnes Issue ausgeführt werden soll.
Optionen sind:
get - Issue-Details abrufen. Gibt auch Best-Effort-Hierarchie-Flags zurück (has_parent, has_children); parent und sub_issues_summary sind optionale Beziehungsübersichten, und closed_by_pull_requests fasst die Pull Requests zusammen, die so konfiguriert sind, dass sie das Issue als total_count schließen, plus bis zu 5 references.
get_comments - Issue-Kommentare abrufen.
get_sub_issues - Unter-Issues (Kinder) des Issues abrufen.
get_parent - Das übergeordnete Issue abrufen, falls dieses Issue ein Unter-Issue eines anderen ist.
get_labels - Die dem Issue zugewiesenen Labels abrufen.
(string, erforderlich)
owner: Der Besitzer des Repositorys (string, erforderlich)
page: Seitennummer für die Paginierung (min 1) (number, optional)
perPage: Ergebnisse pro Seite für die Paginierung (min 1, max 100) (number, optional)
repo: Der Name des Repositorys (string, erforderlich)
issue_write - Issue/Pull Request erstellen oder aktualisieren
OAuth Challenge Scopes: repo
assignees: Benutzernamen, die diesem Issue zugewiesen werden sollen (string[], optional)
body: Inhalt des Issue-Textes (string, optional)
duplicate_of: Issue-Nummer, von der dieses Issue ein Duplikat ist. Erforderlich, wenn state_reason 'duplicate' ist. (number, optional)
issue_fields: Issue-Feldwerte, die festgelegt oder gelöscht werden sollen. Jedes Element erfordert 'field_name' und genau einen der Werte 'value', 'field_option_name' oder 'delete: true'. (object[], optional)
issue_number: Issue-Nummer, die aktualisiert werden soll (number, optional)
labels: Labels, die auf dieses Issue angewendet werden sollen (string[], optional)
method: Schreiboperation, die für ein einzelnes Issue ausgeführt werden soll.
Optionen sind:
'create' - erstellt ein neues Issue.
'update' - aktualisiert ein bestehendes Issue.
(string, erforderlich)
milestone: Meilenstein-Nummer (number, optional)
owner: Repository-Besitzer (string, erforderlich)
parent_issue_number: Issue-Nummer des übergeordneten Issues. Wird nur verwendet, wenn die Methode 'create' ist, und kann nicht mit issue_fields kombiniert werden. Das neue Issue wird erstellt und in derselben Operation an dieses übergeordnete Issue angehängt. (number, optional)
parent_owner: Repository-Besitzer des übergeordneten Issues. Muss mit parent_repo angegeben werden. Lassen Sie beide weg, um owner und repo zu verwenden. Wird nur verwendet, wenn die Methode 'create' ist und parent_issue_number angegeben wird. (string, optional)
parent_repo: Repository-Name des übergeordneten Issues. Muss mit parent_owner angegeben werden. Lassen Sie beide weg, um owner und repo zu verwenden. Wird nur verwendet, wenn die Methode 'create' ist und parent_issue_number angegeben wird. (string, optional)
repo: Repository-Name (string, erforderlich)
state: Neuer Status (string, optional)
state_reason: Grund für die Statusänderung. Wird ignoriert, sofern der Status nicht geändert wird. (string, optional)
title: Issue-Titel (string, optional)
type: Typ dieses Issues. Bei Aktualisierungen null übergeben, um den aktuellen Typ zu entfernen. Nur verwenden, wenn Issue-Typen für dieses Repository aktiviert sind. Verwenden Sie list_issue_types, um gültige Typwerte für dieses Repository oder dessen Besitzerorganisation zu erhalten. Wenn das Repository keine Issue-Typen unterstützt, lassen Sie diesen Parameter weg. (string | null, optional)
list_issue_fields - Issue-Felder auflisten
OAuth Challenge Scopes: repo, read:org
owner: Der Kontobesitzer des Repositorys oder der Organisation. Der Name ist nicht case-sensitiv. (string, erforderlich)
repo: Der Name des Repositorys. Wenn angegeben, werden Felder für dieses spezifische Repository zurückgegeben (von seiner Organisation geerbt). Wenn weggelassen, werden Organisationsfelder direkt zurückgegeben. (string, optional)
owner: Der Kontobesitzer des Repositorys oder der Organisation. (string, erforderlich)
repo: Der Name des Repositorys. Wenn angegeben, werden Issue-Typen für dieses spezifische Repository zurückgegeben. Wenn weggelassen, werden Organisations-Issue-Typen direkt zurückgegeben. (string, optional)
list_issues - Issues auflisten
OAuth Challenge Scopes: repo
after: Cursor für die Paginierung. Verwenden Sie den Cursor aus der vorherigen Antwort. (string, optional)
direction: Sortierrichtung. Wenn angegeben, muss auch 'orderBy' angegeben werden. (string, optional)
field_filters: Nach benutzerdefinierten Issue-Feldwerten filtern. Jeder Eintrag nimmt einen field_name und einen Wert; der Server sucht das Feld und wandelt den Wert in seinen Typ um (Name der Einzelauswahl-Option, Text, Zahl oder Datum im Format YYYY-MM-DD). (object[], optional)
fields: Teilmenge der Felder, die für jedes Issue zurückgegeben werden sollen. Wenn weggelassen, werden alle Felder zurückgegeben. Verwenden Sie dies, um die Antwortgröße zu reduzieren, wenn Sie nur bestimmte Felder benötigen; insbesondere das Weglassen von 'body' und 'field_values' reduziert die größten Daten pro Ergebnis. (string[], optional)
labels: Nach Labels filtern (string[], optional)
orderBy: Issues nach Feld sortieren. Wenn angegeben, muss auch 'direction' angegeben werden. (string, optional)
owner: Repository-Besitzer (string, erforderlich)
perPage: Ergebnisse pro Seite für die Paginierung (min 1, max 100) (number, optional)
repo: Repository-Name (string, erforderlich)
since: Nach Datum filtern (ISO-8601-Zeitstempel) (string, optional)
state: Nach Status filtern; standardmäßig werden sowohl offene als auch geschlossene Issues zurückgegeben, wenn nicht angegeben (string, optional)
search_issues - Issues durchsuchen
OAuth Challenge Scopes: repo
fields: Teilmenge der Felder, die für jedes Issue-Ergebnis zurückgegeben werden sollen. Wenn weggelassen, werden alle Felder zurückgegeben. Verwenden Sie dies, um die Antwortgröße zu reduzieren, wenn Sie nur bestimmte Felder benötigen; insbesondere das Weglassen von 'body', 'reactions' und 'labels' reduziert die größten Daten pro Ergebnis. (string[], optional)
order: Sortierreihenfolge (string, optional)
owner: Optionaler Repository-Besitzer. Wenn zusammen mit repo angegeben, werden nur Issues für dieses Repository aufgelistet. (string, optional)
page: Seitennummer für die Paginierung (min 1) (number, optional)
perPage: Ergebnisse pro Seite für die Paginierung (min 1, max 100) (number, optional)
query: Die Suchanfrage als natürliche Sprache. Wenn der Benutzer alternative Formulierungen angibt, nehmen Sie diese als einfache Wörter auf, anstatt sie mit OR zu verknüpfen. (string, erforderlich)
repo: Optionaler Repository-Name. Wenn zusammen mit owner angegeben, werden nur Issues für dieses Repository aufgelistet. (string, optional)
sort: Sortierfeld nach Anzahl der Übereinstimmungen von Kategorien, standardmäßig beste Übereinstimmung (string, optional)
sub_issue_write - Unter-Issue ändern
OAuth Challenge Scopes: repo
after_id: Die ID des Unter-Issues, das danach priorisiert werden soll (entweder after_id ODER before_id sollte angegeben werden) (number, optional)
before_id: Die ID des Unter-Issues, das davor priorisiert werden soll (entweder after_id ODER before_id sollte angegeben werden) (number, optional)
issue_number: Die Nummer des übergeordneten Issues (number, erforderlich)
method: Die Aktion, die für ein einzelnes Unter-Issue ausgeführt werden soll
Optionen sind:
'add' - ein Unter-Issue zu einem übergeordneten Issue in einem GitHub-Repository hinzufügen.
'remove' - ein Unter-Issue aus einem übergeordneten Issue in einem GitHub-Repository entfernen.
'reprioritize' - die Reihenfolge der Unter-Issues innerhalb eines übergeordneten Issues in einem GitHub-Repository ändern. Verwenden Sie entweder 'after_id' oder 'before_id', um die neue Position anzugeben.
Schreibt die Issue-Hierarchie. Um ein Unter-Issue zu einem neuen übergeordneten Issue zu verschieben, verwenden Sie add mit replace_parent=true; es gibt kein beschreibbares übergeordnetes Feld.
(string, erforderlich)
owner: Repository-Besitzer (string, erforderlich)
replace_parent: Wenn true, ersetzt das aktuelle übergeordnete Issue des Unter-Issues. Nur mit der Methode 'add' verwenden. (boolean, optional)
repo: Repository-Name (string, erforderlich)
sub_issue_id: Die ID des Unter-Issues, das hinzugefügt werden soll. Die ID ist nicht dasselbe wie die Issue-Nummer (number, erforderlich)
Labels
get_label - Ein bestimmtes Label aus einem Repository abrufen
OAuth Challenge Scopes: repo
name: Label-Name. (string, erforderlich)
owner: Repository-Besitzer (Benutzername oder Organisationsname) (string, erforderlich)
repo: Repository-Name (string, erforderlich)
label_write - Schreiboperationen für Repository-Labels
OAuth Challenge Scopes: repo
color: Label-Farbe als 6-stelliger Hex-Code ohne '#'-Präfix (z. B. 'f29513'). Erforderlich für 'create', optional für 'update'. (string, optional)
description: Beschreibungstext des Labels. Optional für 'create' und 'update'. (string, optional)
method: Operation, die ausgeführt werden soll: 'create', 'update' oder 'delete' (string, erforderlich)
name: Label-Name - für alle Operationen erforderlich (string, erforderlich)
new_name: Neuer Name für das Label (nur mit der Methode 'update' zum Umbenennen verwendet) (string, optional)
owner: Repository-Besitzer (Benutzername oder Organisationsname) (string, erforderlich)
repo: Repository-Name (string, erforderlich)
list_label - Labels aus einem Repository auflisten
OAuth Challenge Scopes: repo
owner: Repository-Besitzer (Benutzername oder Organisationsname) - für alle Operationen erforderlich (string, erforderlich)
repo: Repository-Name - für alle Operationen erforderlich (string, erforderlich)
Benachrichtigungen
- **dismiss_notification** – Benachrichtigung schließen
- **OAuth Challenge Scopes**: `notifications`
- `state`: Der neue Status der Benachrichtigung (gelesen/erledigt) (Zeichenkette, erforderlich)
- `threadID`: Die ID des Benachrichtigungsthreads (Zeichenkette, erforderlich)
notificationID: Die ID der Benachrichtigung (Zeichenkette, erforderlich)
list_notifications – Benachrichtigungen auflisten
OAuth Challenge Scopes: notifications
before: Nur Benachrichtigungen anzeigen, die vor dem angegebenen Zeitpunkt aktualisiert wurden (ISO-8601-Format) (Zeichenkette, optional)
filter: Benachrichtigungen filtern; Standard verwenden, sofern nicht anders angegeben. Gelesene Benachrichtigungen sind solche, die vom Benutzer bereits bestätigt wurden. Teilnehmende Benachrichtigungen sind solche, an denen der Benutzer direkt beteiligt ist, z. B. Issues oder Pull Requests, die er kommentiert oder erstellt hat. (Zeichenkette, optional)
owner: Optionaler Repository-Besitzer. Wenn zusammen mit Repo angegeben, werden nur Benachrichtigungen für dieses Repository aufgelistet. (Zeichenkette, optional)
page: Seitennummer für die Paginierung (min. 1) (Zahl, optional)
perPage: Ergebnisse pro Seite für die Paginierung (min. 1, max. 100) (Zahl, optional)
repo: Optionaler Repository-Name. Wenn zusammen mit Besitzer angegeben, werden nur Benachrichtigungen für dieses Repository aufgelistet. (Zeichenkette, optional)
since: Nur Benachrichtigungen anzeigen, die nach dem angegebenen Zeitpunkt aktualisiert wurden (ISO-8601-Format) (Zeichenkette, optional)
manage_notification_subscription – Benachrichtigungsabonnement verwalten
OAuth Challenge Scopes: notifications
action: Auszuführende Aktion: ignore, watch oder delete für das Benachrichtigungsabonnement. (Zeichenkette, erforderlich)
notificationID: Die ID des Benachrichtigungsthreads. (Zeichenkette, erforderlich)
manage_repository_notification_subscription – Repository-Benachrichtigungsabonnement verwalten
OAuth Challenge Scopes: notifications
action: Auszuführende Aktion: ignore, watch oder delete für das Repository-Benachrichtigungsabonnement. (Zeichenkette, erforderlich)
owner: Der Kontobesitzer des Repositorys. (Zeichenkette, erforderlich)
repo: Der Name des Repositorys. (Zeichenkette, erforderlich)
mark_all_notifications_read – Alle Benachrichtigungen als gelesen markieren
OAuth Challenge Scopes: notifications
lastReadAt: Beschreibt den letzten Zeitpunkt, zu dem Benachrichtigungen geprüft wurden (optional). Standard: Jetzt (Zeichenkette, optional)
owner: Optionaler Repository-Besitzer. Wenn zusammen mit Repo angegeben, werden nur Benachrichtigungen für dieses Repository als gelesen markiert. (Zeichenkette, optional)
repo: Optionaler Repository-Name. Wenn zusammen mit Besitzer angegeben, werden nur Benachrichtigungen für dieses Repository als gelesen markiert. (Zeichenkette, optional)
page: Seitennummer für die Paginierung (min. 1) (Zahl, optional)
perPage: Ergebnisse pro Seite für die Paginierung (min. 1, max. 100) (Zahl, optional)
query: Suchabfrage für Organisationen. Beispiele: 'microsoft', 'location:california', 'created:>=2025-01-01'. Die Suche wird automatisch auf type:org eingegrenzt. (Zeichenkette, erforderlich)
sort: Sortierfeld nach Kategorie (Zeichenkette, optional)
Projekte
projects_get – Details von GitHub-Projektenressourcen abrufen
OAuth Challenge Scopes: read:project
field_id: Die ID des Felds. Erforderlich für die Methode 'get_project_field'. (Zahl, optional)
field_names: Spezifische Liste von Feldnamen, die in die Antwort beim Abrufen eines Projektelements aufgenommen werden sollen (z. B. ["Status", "Priorität"]). Wird serverseitig in Feld-IDs aufgelöst – übergeben Sie dies anstelle von 'fields', wenn Sie nur die menschenlesbaren Namen kennen. Schließt sich gegenseitig mit 'fields' aus – geben Sie eines an, nicht beide. Nur für die Methode 'get_project_item' verwendet. (Zeichenkette[], optional)
fields: Spezifische Liste von Feld-IDs, die in die Antwort beim Abrufen eines Projektelements aufgenommen werden sollen (z. B. ["102589", "985201", "169875"]). Wenn weder 'fields' noch 'field_names' angegeben sind, wird nur das Titelfeld aufgenommen. Schließt sich gegenseitig mit 'field_names' aus – geben Sie eines an, nicht beide. Nur für die Methode 'get_project_item' verwendet. (Zeichenkette[], optional)
item_id: Die ID des Elements. Erforderlich für die Methode 'get_project_item'. (Zahl, optional)
method: Die auszuführende Methode (Zeichenkette, erforderlich)
owner: Der Besitzer (Benutzer- oder Organisationsanmeldename). Der Name ist nicht case-sensitiv. (Zeichenkette, optional)
owner_type: Besitzertyp (user oder org). Wenn nicht angegeben, wird er automatisch erkannt. (Zeichenkette, optional)
project_number: Die Nummer des Projekts. (Zahl, optional)
status_update_id: Die Knoten-ID der Projektstatusaktualisierung. Erforderlich für die Methode 'get_project_status_update'. (Zeichenkette, optional)
view_id: Die Knoten-ID der Projektansicht. Erforderlich für die Methode 'get_project_view'. (Zeichenkette, optional)
after: Vorwärts-Paginierungscursor vom vorherigen pageInfo.nextCursor. (Zeichenkette, optional)
before: Rückwärts-Paginierungscursor vom vorherigen pageInfo.prevCursor (selten). (Zeichenkette, optional)
field_names: Feldnamen, die beim Auflisten von Projektelementen aufgenommen werden sollen (z. B. ["Status", "Priorität"]). Wird serverseitig in Feld-IDs aufgelöst – übergeben Sie dies anstelle von 'fields', wenn Sie nur die menschenlesbaren Namen kennen. Namen, die nicht aufgelöst werden können, geben einen strukturierten Fehler zurück. Schließt sich gegenseitig mit 'fields' aus – geben Sie eines an, nicht beide. Nur für die Methode 'list_project_items' verwendet. (Zeichenkette[], optional)
fields: Feld-IDs, die beim Auflisten von Projektelementen aufgenommen werden sollen (z. B. ["102589", "985201"]). KRITISCH: Immer angeben, um Feldwerte zu erhalten. Ohne diese (und ohne 'field_names') werden nur Titel zurückgegeben. Schließt sich gegenseitig mit 'field_names' aus – geben Sie eines an, nicht beide. Nur für die Methode 'list_project_items' verwendet. (Zeichenkette[], optional)
method: Die auszuführende Aktion (Zeichenkette, erforderlich)
owner: Der Besitzer (Benutzer- oder Organisationsanmeldename). Der Name ist nicht case-sensitiv. (Zeichenkette, erforderlich)
owner_type: Besitzertyp (user oder org). Wenn nicht angegeben, werden automatisch beide versucht. (Zeichenkette, optional)
per_page: Ergebnisse pro Seite (max. 50) (Zahl, optional)
project_number: Die Nummer des Projekts. Erforderlich für die Methoden 'list_project_fields', 'list_project_items', 'list_project_views' und 'list_project_status_updates'. (Zahl, optional)
query: Filter-/Abfragezeichenkette. Für list_projects: nach Titeltext und Status filtern (z. B. "roadmap is:open"). Für list_project_items: erweiterte Filterung mit der GitHub-Projektfilter-Syntax. (Zeichenkette, optional)
projects_write – GitHub-Projekte verwalten
OAuth Challenge Scopes: project
body: Der Inhalt der Statusaktualisierung (Markdown). Wird für die Methode 'create_project_status_update' verwendet. (Zeichenkette, optional)
field_name: Der Name des Iterationsfelds (z. B. 'Sprint'). Erforderlich für die Methode 'create_iteration_field'. (Zeichenkette, optional)
filter: Gespeicherter Ansichtsfilter; bei Aktualisierung weglassen, um ihn zu erhalten, oder null übergeben, um ihn zu löschen. (Zeichenkette | null, optional)
issue_number: Die Issue-Nummer. Erforderlich für 'add_project_item', wenn item_type 'issue' ist. Wird auch von 'update_project_item' akzeptiert, um das Element anhand der Issue-Nummer aufzulösen (kombinieren mit item_owner und item_repo). (Zahl, optional)
item_id: Die Projektelement-ID. Erforderlich für 'delete_project_item'. Für 'update_project_item' entweder item_id oder (item_owner + item_repo + issue_number) angeben, um das Element anhand des Issues aufzulösen. (Zahl, optional)
item_owner: Der Besitzer (Benutzer oder Organisation) des Repositorys, das das Issue oder den Pull Request enthält. Erforderlich für die Methode 'add_project_item'. Wird auch von 'update_project_item' akzeptiert, wenn das Element anhand der Issue-Nummer aufgelöst wird. (Zeichenkette, optional)
item_repo: Der Name des Repositorys, das das Issue oder den Pull Request enthält. Erforderlich für die Methode 'add_project_item'. Wird auch von 'update_project_item' akzeptiert, wenn das Element anhand der Issue-Nummer aufgelöst wird. (Zeichenkette, optional)
item_type: Der Typ des Elements, entweder issue oder pull_request. Erforderlich für die Methode 'add_project_item'. (Zeichenkette, optional)
items: Die Elemente, die mit dem übergeordneten 'updated_field' aktualisiert werden sollen. Erforderlich für 'update_project_items'; bevorzugt gegenüber dem Aufruf von 'update_project_item' in einer Schleife. Jeder Eintrag muss genau einer Referenzvariante entsprechen: 'node_id', numerische 'item_id' oder 'item_owner' + 'item_repo' + 'issue_number'. Limit: 50 Elemente pro Aufruf. (Objekt[], optional)
iteration_duration: Dauer in Tagen für Iterationen des Felds (z. B. 7 für wöchentlich, 14 für zweiwöchentlich). Erforderlich für die Methode 'create_iteration_field'. (Zahl, optional)
iterations: Benutzerdefinierte Iterationen für die Methode 'create_iteration_field'. Nur setzen, wenn Sie Iterationen mit unterschiedlichen Dauern, Pausen dazwischen oder spezifischen Titeln benötigen. Andernfalls weglassen: GitHub erstellt automatisch drei Iterationen von 'iteration_duration' Tagen ab 'start_date', was für die meisten Fälle die richtige Wahl ist. (Objekt[], optional)
layout: Ansichtslayout; beim Erstellen einer Ansicht erforderlich. (Zeichenkette, optional)
method: Die auszuführende Methode (Zeichenkette, erforderlich)
name: Ansichtsname; beim Erstellen einer Ansicht erforderlich. (Zeichenkette, optional)
owner: Der Projektbesitzer (Benutzer- oder Organisationsanmeldename). Der Name ist nicht case-sensitiv. (Zeichenkette, erforderlich)
owner_type: Besitzertyp (user oder org). Erforderlich für die Methode 'create_project'. Wenn für andere Methoden nicht angegeben, wird er automatisch erkannt. (Zeichenkette, optional)
project_number: Die Nummer des Projekts. Erforderlich für alle Methoden außer 'create_project'. (Zahl, optional)
pull_request_number: Die Pull-Request-Nummer (verwenden, wenn item_type 'pull_request' für die Methode 'add_project_item' ist). Geben Sie entweder issue_number oder pull_request_number an. (Zahl, optional)
start_date: Startdatum im Format JJJJ-MM-TT. Wird für die Methoden 'create_project_status_update' und 'create_iteration_field' verwendet. (Zeichenkette, optional)
status: Der Status des Projekts. Wird für die Methode 'create_project_status_update' verwendet. (Zeichenkette, optional)
target_date: Das Zieldatum der Statusaktualisierung im Format JJJJ-MM-TT. Wird für die Methode 'create_project_status_update' verwendet. (Zeichenkette, optional)
title: Der Projekttitel. Erforderlich für die Methode 'create_project'. (Zeichenkette, optional)
updated_field: Das anzuwendende Feld/den anzuwendenden Wert, unter Verwendung von {"id": 123, "value": ...} oder {"name": "Status", "value": ...}; null löscht das Feld. Erforderlich für 'update_project_item' und 'update_project_items', wobei ein übergeordnetes Feld/ein Wert für jedes Element in einem Stapel gilt. Für SINGLE_SELECT-Felder bei 'update_project_item' akzeptiert die Namensform Optionsnamen; die ID-Form erwartet eine Options-ID. (Objekt, optional)
view_id: Projektansichts-Knoten-ID für Aktualisierung oder Löschung; muss zu owner/project_number gehören. (Zeichenkette, optional)
visible_field_names: Geordnete Projektfeldnamen, die beim Erstellen angezeigt oder bei Aktualisierung ersetzt werden sollen; bei Aktualisierung weglassen, um sie zu erhalten, oder [] übergeben, um zurückzusetzen. Schließt sich gegenseitig mit visible_fields aus. Roadmap akzeptiert nur []. (Zeichenkette[], optional)
visible_fields: Geordnete Projektfeld-Datenbank-IDs, die beim Erstellen angezeigt oder bei Aktualisierung ersetzt werden sollen; bei Aktualisierung weglassen, um sie zu erhalten, oder [] übergeben, um zurückzusetzen. Schließt sich gegenseitig mit visible_field_names aus. Roadmap akzeptiert nur []. (Zeichenkette[], optional)
Pull Requests
add_comment_to_pending_review - Review-Kommentar zur neuesten ausstehenden Pull-Request-Überprüfung des Anfragenden hinzufügen
OAuth Challenge Scopes: repo
body: Der Text des Review-Kommentars (Zeichenkette, erforderlich)
line: Die Zeile des Blobs im Pull-Request-Diff, auf die sich der Kommentar bezieht. Bei mehrzeiligen Kommentaren die letzte Zeile des Bereichs (Zahl, optional)
side: Die Seite des Diffs, auf die der Kommentar angewendet wird. LEFT zeigt den vorherigen Zustand an, RIGHT den neuen Zustand (Zeichenkette, optional)
startLine: Bei mehrzeiligen Kommentaren die erste Zeile des Bereichs, auf den sich der Kommentar bezieht (Zahl, optional)
startSide: Bei mehrzeiligen Kommentaren die Startseite des Diffs, auf die sich der Kommentar bezieht. LEFT zeigt den vorherigen Zustand an, RIGHT den neuen Zustand (Zeichenkette, optional)
subjectType: Die Ebene, auf die der Kommentar ausgerichtet ist (Zeichenkette, erforderlich)
add_reply_to_pull_request_comment - Antwort zu Pull-Request-Kommentar hinzufügen
OAuth Challenge Scopes: repo
body: Der Text der Antwort. Erforderlich, sofern keine Reaktion bereitgestellt wird. (Zeichenkette, optional)
commentId: Die numerische ID des Pull-Request-Review-Kommentars, auf den geantwortet oder reagiert werden soll. Verwenden Sie die Nummer aus einem #discussion_r...-Anker, nicht die GraphQL-Thread-Knoten-ID (PRRT_...). (Zahl, erforderlich)
fields: Teilmenge der Felder, die für jeden Pull-Request zurückgegeben werden sollen. Wenn ausgelassen, werden alle Felder zurückgegeben. Verwenden Sie dies, um die Antwortgröße zu reduzieren, wenn Sie nur bestimmte Felder benötigen; insbesondere das Weglassen von 'body' reduziert die größten Daten pro Ergebnis. (Zeichenkette[], optional)
head: Nach Head-Benutzer/Organisation und Branch filtern (Zeichenkette, optional)
pull_request_read - Details für einen einzelnen Pull-Request abrufen
OAuth Challenge Scopes: repo
after: Cursor für Paginierung, nur von der Methode get_review_comments verwendet. Übergeben Sie den endCursor von der PageInfo der vorherigen Seite, um die nächste Seite abzurufen. (Zeichenkette, optional)
method: Aktion, die angibt, welche Pull-Request-Daten von GitHub abgerufen werden müssen.
Mögliche Optionen:
get - Details eines bestimmten Pull-Requests abrufen.
get_diff - Den Diff eines Pull-Requests abrufen.
get_status - Den kombinierten Commit-Status eines Head-Commits in einem Pull-Request abrufen.
get_files - Die Liste der in einem Pull-Request geänderten Dateien abrufen. Mit Paginierungsparametern verwenden, um die Anzahl der zurückgegebenen Ergebnisse zu steuern.
get_commits - Die Liste der Commits in einem Pull-Request abrufen. Mit Paginierungsparametern verwenden, um die Anzahl der zurückgegebenen Ergebnisse zu steuern.
get_review_comments - Review-Threads in einem Pull-Request abrufen. Jeder Thread enthält logisch gruppierte Review-Kommentare, die während Pull-Request-Reviews an derselben Code-Stelle erstellt wurden. Gibt Threads mit Metadaten (isResolved, isOutdated, isCollapsed) und den zugehörigen Kommentaren zurück. Verwenden Sie cursor-basierte Paginierung (perPage, after), um Ergebnisse zu steuern.
get_reviews - Die Reviews in einem Pull-Request abrufen. Wenn Review-Kommentare angefordert werden, verwenden Sie die Methode get_review_comments. Mit Paginierungsparametern verwenden, um die Anzahl der zurückgegebenen Ergebnisse zu steuern.
get_comments - Kommentare in einem Pull-Request abrufen. Verwenden Sie dies, wenn der Benutzer nicht speziell Review-Kommentare möchte. Mit Paginierungsparametern verwenden, um die Anzahl der zurückgegebenen Ergebnisse zu steuern.
get_check_runs - Check-Runs für den Head-Commit eines Pull-Requests abrufen. Check-Runs sind die einzelnen CI/CD-Jobs und Checks, die auf dem PR ausgeführt werden.
(Zeichenkette, erforderlich)
threadId: Die Knoten-ID des Review-Threads (z. B. PRRT_kwDOxxx). Erforderlich für die Methoden resolve_thread und unresolve_thread. Thread-IDs von pull_request_read mit der Methode get_review_comments abrufen. (Zeichenkette, optional)
search_pull_requests - Pull-Requests durchsuchen
OAuth Challenge Scopes: repo
fields: Teilmenge der Felder, die für jedes Pull-Request-Ergebnis zurückgegeben werden sollen. Wenn ausgelassen, werden alle Felder zurückgegeben. Verwenden Sie dies, um die Antwortgröße zu reduzieren, wenn Sie nur bestimmte Felder benötigen; insbesondere das Weglassen von 'body', 'reactions' und 'labels' reduziert die größten Daten pro Ergebnis. (Zeichenkette[], optional)
owner: Optionaler Repository-Besitzer. Wenn zusammen mit repo bereitgestellt, werden nur Pull-Requests für dieses Repository aufgelistet. (Zeichenkette, optional)
page: Seitennummer für Paginierung (min 1) (Zahl, optional)
perPage: Ergebnisse pro Seite für Paginierung (min 1, max 100) (Zahl, optional)
query: Suchabfrage mit der GitHub-Pull-Request-Suchsyntax (Zeichenkette, erforderlich)
repo: Optionaler Repository-Name. Wenn zusammen mit owner bereitgestellt, werden nur Pull-Requests für dieses Repository aufgelistet. (Zeichenkette, optional)
sort: Sortierfeld nach Anzahl der Übereinstimmungen von Kategorien, standardmäßig beste Übereinstimmung (Zeichenkette, optional)
create_or_update_file - Datei erstellen oder aktualisieren
OAuth Challenge Scopes: repo, workflow
allow_symlink_write: Auf true setzen, um einen symbolischen Link selbst zu aktualisieren; der Inhalt muss dessen neuer Zielpfad sein. (boolesch, optional)
branch: Branch, in dem die Datei erstellt/aktualisiert werden soll (Zeichenkette, erforderlich)
content: Inhalt der Datei, genau wie er nach dem Schreiben erscheinen soll. Nicht base64-kodieren; dieser Server führt das vor dem Aufruf der REST-API durch. (Zeichenkette, erforderlich)
organization: Organisation, in der das Repository erstellt werden soll (weglassen, um in Ihrem persönlichen Konto zu erstellen) (Zeichenkette, optional)
private: Ob das Repository privat sein soll. Standardmäßig true (privat), wenn ausgelassen. (boolesch, optional)
delete_file - Datei löschen
OAuth Challenge Scopes: repo, workflow
branch: Branch, aus dem die Datei gelöscht werden soll (Zeichenkette, erforderlich)
detail: Detailgrad für geänderte Dateien. „none“ lässt Statistiken und Dateien vollständig aus. „stats“ (Standard) enthält Metadaten pro Datei: Dateiname, Status und Zeilenanzahl (Hinzufügungen, Löschungen, Änderungen), ohne Patch-Inhalt. „full_patch“ enthält zusätzlich den Unified-Diff-Inhalt für jede Datei und kann sehr groß sein. (Zeichenkette, optional)
sha: Commit-SHA, Branchname oder Tagname (Zeichenkette, erforderlich)
get_file_contents – Datei- oder Verzeichnisinhalte abrufen
OAuth-Challenge-Bereiche: repo
fields: Teilmenge der Felder, die für jeden Eintrag zurückgegeben werden soll, wenn der Pfad ein Verzeichnis ist. Wenn nicht angegeben, werden alle Felder zurückgegeben. Wird ignoriert, wenn der Pfad eine einzelne Datei ist. Verwenden Sie dies, um die Antwortgröße beim Auflisten von Verzeichnissen zu reduzieren, wenn Sie nur bestimmte Felder benötigen, z. B. nur „name“ und „type“. (Zeichenketten[], optional)
owner: Repository-Besitzer (Benutzername oder Organisation) (Zeichenkette, erforderlich)
path: Pfad zur Datei/zum Verzeichnis (Zeichenkette, optional)
ref: Akzeptiert optionale Git-Referenzen wie refs/tags/{tag}, refs/heads/{branch} oder refs/pull/{pr_number}/head (Zeichenkette, optional)
author: Autor-Benutzername oder E-Mail-Adresse, um Commits zu filtern (Zeichenkette, optional)
fields: Teilmenge der Felder, die für jeden Commit zurückgegeben werden soll. Wenn nicht angegeben, werden alle Felder zurückgegeben. Verwenden Sie dies, um die Antwortgröße zu reduzieren, wenn Sie nur bestimmte Felder benötigen, z. B. nur „sha“ und „html_url“. (Zeichenketten[], optional)
sha: Commit-SHA, Branch- oder Tagname, um Commits aufzulisten. Wenn nicht angegeben, wird der Standardbranch des Repositorys verwendet. Wenn eine Commit-SHA angegeben ist, werden Commits bis zu dieser SHA aufgelistet. (Zeichenkette, optional)
since: Nur Commits nach diesem Datum werden zurückgegeben (ISO-8601-Format: YYYY-MM-DDTHH:MM:SSZ oder YYYY-MM-DD) (Zeichenkette, optional)
until: Nur Commits vor diesem Datum werden zurückgegeben (ISO-8601-Format: YYYY-MM-DDTHH:MM:SSZ oder YYYY-MM-DD) (Zeichenkette, optional)
list_releases – Versionen auflisten
OAuth-Challenge-Bereiche: repo
fields: Teilmenge der Felder, die für jede Version zurückgegeben werden soll. Wenn nicht angegeben, werden alle Felder zurückgegeben. Verwenden Sie dies, um die Antwortgröße zu reduzieren, wenn Sie nur bestimmte Felder benötigen; das Weglassen von „body“ entfernt insbesondere die größten Daten pro Version. (Zeichenketten[], optional)
affiliation: Nach Zugehörigkeit filtern. Kann einer der folgenden Werte sein: „outside“ (externe Mitarbeiter), „direct“ (alle mit Berechtigungen unabhängig von der Organisationsmitgliedschaft), „all“ (alle Mitarbeiter). Standard: „all“ (Zeichenkette, optional)
fields: Teilmenge der Felder, die für jedes Code-Suchergebnis zurückgegeben werden soll. Wenn nicht angegeben, werden alle Felder zurückgegeben. Verwenden Sie dies, um die Antwortgröße zu reduzieren, wenn Sie nur bestimmte Felder benötigen; das Weglassen von „repository“ und „text_matches“ entfernt insbesondere die größten Daten pro Ergebnis. (Zeichenketten[], optional)
order: Sortierreihenfolge für Ergebnisse (Zeichenkette, optional)
page: Seitennummer für Paginierung (min. 1) (Zahl, optional)
perPage: Ergebnisse pro Seite für Paginierung (min. 1, max. 100) (Zahl, optional)
query: Suchabfrage (GitHub-Code-Suche REST). Implizites UND zwischen Begriffen; unterstützt OR, NOT und "quoted phrase" für exakte Übereinstimmung. Qualifizierer: repo:owner/repo, org:, user:, language:, path:dir (Präfix-Übereinstimmung), filename:exact.ext, extension:, in:file, in:path, size:, is:archived, is:fork. Max. 256 Zeichen. Beispiele: 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. (Zeichenkette, erforderlich)
page: Seitennummer für Paginierung (min. 1) (Zahl, optional)
perPage: Ergebnisse pro Seite für Paginierung (min. 1, max. 100) (Zahl, optional)
query: Commit-Suchabfrage (GitHub-Commit-Suche REST). Durchsucht nur Commit-Nachrichten im Standardbranch. Eingrenzen der Suche mit repo:owner/repo, org: oder user: (Abfragen ohne Bereichsqualifizierer stimmen über ganz GitHub überein und sind normalerweise nicht das, was Sie möchten). Andere Qualifizierer: author:, committer:, author-name:, committer-name:, author-email:, committer-email:, author-date:, committer-date: (unterstützt >, <, >=, <= und YYYY-MM-DD..YYYY-MM-DD-Bereiche), merge:true|false, hash:, tree:, parent:, is:public. Beispiele: repo:owner/repo fix panic; org:github author:defunkt committer-date:>=2024-01-01; "refactor cache" repo:o/r; hash:abc1234 repo:o/r. (Zeichenkette, erforderlich)
sort: Sortieren nach Autor- oder Committer-Datum (Standard: beste Übereinstimmung) (Zeichenkette, optional)
search_repositories – Repositorys durchsuchen
OAuth-Challenge-Bereiche: repo
minimal_output: Minimale Repository-Informationen zurückgeben (Standard: true). Bei false werden vollständige GitHub-API-Repository-Objekte zurückgegeben. (Boolescher Wert, optional)
owner: Der Besitzer des Repositorys. (Zeichenkette, erforderlich)
page: Seitennummer für Paginierung (min. 1) (Zahl, optional)
perPage: Ergebnisse pro Seite für Paginierung (min. 1, max. 100) (Zahl, optional)
repo: Der Name des Repositorys. (Zeichenkette, erforderlich)
resolution: Nach Auflösung filtern (Zeichenkette, optional)
secret_type: Eine durch Kommas getrennte Liste von Geheimnistypen, die zurückgegeben werden sollen. Alle Standard-Geheimnismuster werden zurückgegeben. Um generische Muster zurückzugeben, übergeben Sie den/die Token-Namen im Parameter. (Zeichenkette, optional)
state: Nach Status filtern (Zeichenkette, optional)
affects: Hinweise nach betroffenem Paket oder Version filtern (z. B. "package1,package2@1.0.0"). (string, optional)
cveId: Nach CVE-ID filtern. (string, optional)
cwes: Nach Common Weakness Enumeration IDs filtern (z. B. ["79", "284", "22"]). (string[], optional)
ecosystem: Nach Paket-Ökosystem filtern. (string, optional)
ghsaId: Nach GitHub Security Advisory ID filtern (Format: GHSA-xxxx-xxxx-xxxx). (string, optional)
isWithdrawn: Ob nur zurückgezogene Hinweise zurückgegeben werden sollen. (boolean, optional)
modified: Nach Veröffentlichungs- oder Aktualisierungsdatum oder Datumsbereich filtern (ISO 8601 Datum oder Bereich). (string, optional)
published: Nach Veröffentlichungsdatum oder Datumsbereich filtern (ISO 8601 Datum oder Bereich). (string, optional)
severity: Nach Schweregrad filtern. (string, optional)
type: Hinweistyp. (string, optional)
updated: Nach Aktualisierungsdatum oder Datumsbereich filtern (ISO 8601 Datum oder Bereich). (string, optional)
list_org_repository_security_advisories - Sicherheitshinweise des Organisations-Repositorys auflisten
OAuth Challenge Scopes: security_events
direction: Sortierrichtung. (string, optional)
org: Der Organisations-Login. (string, erforderlich)
sort: Sortierfeld. (string, optional)
state: Nach Hinweisstatus filtern. (string, optional)
list_repository_security_advisories - Sicherheitshinweise des Repositorys auflisten
OAuth Challenge Scopes: security_events
direction: Sortierrichtung. (string, optional)
owner: Der Besitzer des Repositorys. (string, erforderlich)
repo: Der Name des Repositorys. (string, erforderlich)
sort: Sortierfeld. (string, optional)
state: Nach Hinweisstatus filtern. (string, optional)
Stargazers
list_starred_repositories - Mit Stern markierte Repositorys auflisten
OAuth Challenge Scopes: repo
direction: Die Richtung, nach der die Ergebnisse sortiert werden sollen. (string, optional)
page: Seitennummer für die Paginierung (min 1) (number, optional)
perPage: Ergebnisse pro Seite für die Paginierung (min 1, max 100) (number, optional)
sort: Wie die Ergebnisse sortiert werden sollen. Kann entweder 'created' (wann das Repository mit einem Stern markiert wurde) oder 'updated' (wann zuletzt in das Repository gepusht wurde) sein. (string, optional)
username: Benutzername, für den mit Stern markierte Repositorys aufgelistet werden sollen. Standardmäßig der authentifizierte Benutzer. (string, optional)
star_repository - Repository mit Stern markieren
OAuth Challenge Scopes: repo
owner: Repository-Besitzer (string, erforderlich)
repo: Repository-Name (string, erforderlich)
unstar_repository - Stern von Repository entfernen
OAuth Challenge Scopes: repo
owner: Repository-Besitzer (string, erforderlich)
repo: Repository-Name (string, erforderlich)
Benutzer
search_users - Benutzer suchen
OAuth Challenge Scopes: repo
order: Sortierreihenfolge (string, optional)
page: Seitennummer für die Paginierung (min 1) (number, optional)
perPage: Ergebnisse pro Seite für die Paginierung (min 1, max 100) (number, optional)
query: Benutzersuchabfrage. Beispiele: 'john smith', 'location:seattle', 'followers:>100'. Die Suche wird automatisch auf type:user eingegrenzt. (string, erforderlich)
sort: Benutzer nach Anzahl der Follower oder Repositorys sortieren, oder danach, wann die Person GitHub beigetreten ist. (string, optional)
Zusätzliche Tools im Remote GitHub MCP Server
Copilot
create_pull_request_with_copilot - Aufgabe mit dem GitHub Copilot Coding-Agenten ausführen
owner: Repository-Besitzer. Sie können den Besitzer erraten, aber bestätigen Sie ihn mit dem Benutzer, bevor Sie fortfahren. (string, erforderlich)
repo: Repository-Name. Sie können den Repository-Namen erraten, aber bestätigen Sie ihn mit dem Benutzer, bevor Sie fortfahren. (string, erforderlich)
problem_statement: Detaillierte Beschreibung der auszuführenden Aufgabe (z. B. 'Implementiere eine Funktion, die X tut', 'Behebe Fehler Y' usw.) (string, erforderlich)
title: Titel für den Pull Request, der erstellt wird (string, erforderlich)
base_ref: Git-Referenz (z. B. Branch), von der der Agent seine Arbeit startet. Wenn nicht angegeben, wird standardmäßig der Standard-Branch des Repositorys verwendet (string, optional)
Copilot Spaces
Authentifizierungshinweis
Fein granulierte PATs werden nicht durch die klassische PAT-Bereichsfilterung verborgen, daher können diese Tools auch dann erscheinen, wenn das Token sie nicht verwenden kann.
Für organisationseigene Spaces müssen fein granulierte PATs auf der besitzenden Organisation installiert sein und organization_copilot_spaces: read enthalten.
Wenn ein organisationseigener Space repositorygestützte Ressourcen enthält, muss das Token auch Zugriff auf jedes referenzierte Repository haben, sonst kann der Space als nicht gefunden behandelt werden.
get_copilot_space - Copilot Space abrufen
owner: Der Besitzer des Spaces. (string, erforderlich)
name: Der Name des Spaces. (string, erforderlich)
list_copilot_spaces - Copilot Spaces auflisten
GitHub Support Docs Suche
github_support_docs_search - Dokumentation abrufen, die für die Beantwortung von GitHub-Produkt- und Supportfragen relevant ist. Supportthemen umfassen: GitHub Actions Workflows, Authentifizierung, GitHub-Supportanfragen, Pull-Request-Praktiken, Repository-Wartung, GitHub Pages, GitHub Packages, GitHub Discussions, Copilot Spaces
query: Eingabe vom Benutzer zu der Frage, die beantwortet werden muss. Dies ist die neueste rohe, unveränderte Benutzernachricht. Sie sollten die Benutzernachricht IMMER so lassen, wie sie ist, und sie niemals ändern. (string, erforderlich)
Nur-Lese-Modus
Um den Server im Nur-Lese-Modus auszuführen, können Sie das --read-only-Flag verwenden. Dadurch werden nur Lese-Tools angeboten, wodurch Änderungen an Repositorys, Issues, Pull Requests usw. verhindert werden.
./github-mcp-server --read-only
Bei Verwendung von Docker können Sie den Nur-Lese-Modus als Umgebungsvariable übergeben:
Der Lockdown-Modus begrenzt den Inhalt, den der Server aus öffentlichen Repositorys anzeigt. Wenn aktiviert, prüft der Server, ob der Autor jedes Elements Push-Zugriff auf das Repository hat. Private Repositorys sind nicht betroffen, und Mitarbeiter behalten vollen Zugriff auf ihre eigenen Inhalte.
Der Lockdown-Modus ist ein Best-Effort-Inhaltsfilter, der das Risiko von Prompt-Injection aus nicht vertrauenswürdigen Repository-Inhalten (Issues, Pull Requests, Kommentare, Commits usw.) verringern soll. Er ist keine Autorisierungsgrenze: Er ändert nicht, was die zugrunde liegende GitHub-Anmeldedaten lesen oder schreiben können, und Inhalte, die aus einer gefilterten Tool-Antwort zurückgehalten werden, können möglicherweise weiterhin über andere Tools oder direkten GitHub-API-Zugriff mit denselben Anmeldedaten erreicht werden.
Als bewusste Ausnahme werden Inhalte, die von einer kleinen Gruppe vertrauenswürdiger Bot-Konten (derzeit github-actions[bot] und copilot) verfasst wurden, unabhängig vom Push-Zugriff immer als sicher behandelt. Dies vermeidet das Filtern routinemäßiger Automatisierungsausgaben (z. B. CI-generierte Commits oder Kommentare), die andernfalls im Lockdown-Modus zurückgehalten würden.
./github-mcp-server --lockdown-mode
Bei der Ausführung mit Docker setzen Sie die entsprechende Umgebungsvariable:
Im HTTP-Modus ist dieses Flag (oder GITHUB_LOCKDOWN_MODE) eine Obergrenze: Der X-MCP-Lockdown-Anfrageheader kann den Lockdown-Modus aktivieren, wenn der Betreiber dies nicht getan hat, aber er kann den Lockdown-Modus nicht deaktivieren, den der Betreiber bereits aktiviert hat. Einzelheiten finden Sie im Server-Konfigurationshandbuch.
Das Verhalten des Lockdown-Modus hängt vom aufgerufenen Tool ab.
Die folgenden Tools geben einen Fehler zurück, wenn dem Autor der Push-Zugriff fehlt:
issue_read:get
pull_request_read:get
pull_request_read:get_diff
pull_request_read:get_files
pull_request_read:get_commits
Die folgenden Tools filtern Inhalte von Benutzern ohne Push-Zugriff heraus:
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 / Überschreiben von Beschreibungen
Die Beschreibungen der Tools können überschrieben werden, indem eine
github-mcp-server-config.json-Datei im selben Verzeichnis wie die Binärdatei erstellt wird.
Die Datei sollte ein JSON-Objekt mit den Toolnamen als Schlüssel und den neuen
Beschreibungen als Werte enthalten. Zum Beispiel:
{
"TOOL_ADD_ISSUE_COMMENT_DESCRIPTION": "an alternative description",
"TOOL_CREATE_BRANCH_DESCRIPTION": "Create a new branch in a GitHub repository"
}
Sie können einen Export der aktuellen Übersetzungen erstellen, indem Sie die Binärdatei mit
dem --export-translations-Flag ausführen.
Dieses Flag bewahrt alle Übersetzungen/Überschreibungen, die Sie vorgenommen haben, und fügt
alle neuen Übersetzungen hinzu, die seit dem letzten Export zur Binärdatei
hinzugefügt wurden.
Sie können auch ENV-Variablen verwenden, um die Beschreibungen zu überschreiben. Die Namen der
Umgebungsvariablen sind dieselben wie die Schlüssel in der JSON-Datei, mit dem Präfix
GITHUB_MCP_ und in Großbuchstaben.
Um beispielsweise das TOOL_ADD_ISSUE_COMMENT_DESCRIPTION-Tool zu überschreiben, können Sie
die folgende Umgebungsvariable setzen:
export GITHUB_MCP_TOOL_ADD_ISSUE_COMMENT_DESCRIPTION="an alternative description"
Überschreiben von Servername und Titel
Derselbe Überschreibungsmechanismus kann verwendet werden, um die name- und
title-Felder des MCP-Servers in der Initialisierungsantwort anzupassen. Dies ist nützlich, wenn
mehrere GitHub MCP Server-Instanzen ausgeführt werden (z. B. eine für github.com und eine für
GitHub Enterprise Server), damit Agenten zwischen ihnen unterscheiden können.
Schlüssel
Umgebungsvariable
Standard
SERVER_NAME
GITHUB_MCP_SERVER_NAME
github-mcp-server
SERVER_TITLE
GITHUB_MCP_SERVER_TITLE
GitHub MCP Server
Um beispielsweise eine Serverinstanz für GitHub Enterprise Server zu konfigurieren:
Die exportierte Go-API dieses Moduls sollte derzeit als instabil betrachtet werden und kann bahnbrechenden Änderungen unterliegen. In Zukunft bieten wir möglicherweise Stabilität an; bitte reichen Sie ein Issue ein, wenn es einen Anwendungsfall gibt, in dem dies wertvoll wäre.
Beitragen
Beiträge sind willkommen. Bevor Sie einen Pull Request öffnen, lesen Sie bitte den Beitragsleitfaden für Anweisungen zu Einrichtung, Tests, Linting und Dokumentationsgenerierung.
Support
Für Hilfe bei der Verwendung des GitHub MCP Servers lesen Sie den Support-Leitfaden. Wenn Sie einen Fehler gefunden haben oder eine Funktion anfordern möchten, durchsuchen Sie bitte vorhandene Issues, bevor Sie ein neues öffnen.
Sicherheit
Bitte melden Sie Sicherheitslücken nicht über öffentliche Issues. Befolgen Sie die Anweisungen in der Sicherheitsrichtlinie, um Schwachstellen verantwortungsvoll zu melden.
Lizenz
Dieses Projekt ist unter den Bedingungen der MIT Open Source Lizenz lizenziert. Bitte beziehen Sie sich auf MIT für die vollständigen Bedingungen.