GitHub MCP-Server
Veralteter Hinweis: Die Entwicklung für dieses Projekt wurde auf GitHub in das Repository http://github.com/github/github-mcp-server verschoben.
MCP-Server für die GitHub-API, der Dateivorgänge, Repository-Verwaltung, Suchfunktionen und mehr ermöglicht.
Merkmale
- Automatische Zweigerstellung : Beim Erstellen/Aktualisieren von Dateien oder beim Übertragen von Änderungen werden Zweige automatisch erstellt, wenn sie nicht vorhanden sind
- Umfassende Fehlerbehandlung : Klare Fehlermeldungen bei häufigen Problemen
- Erhaltung des Git-Verlaufs : Operationen bewahren den ordnungsgemäßen Git-Verlauf auf, ohne dass ein Force-Push erforderlich ist.
- Stapelverarbeitung : Unterstützung für Einzeldatei- und Mehrdateioperationen
- Erweiterte Suche : Unterstützung für die Suche nach Code, Problemen/PRs und Benutzern
Werkzeuge
create_or_update_file
- Erstellen oder Aktualisieren einer einzelnen Datei in einem Repository
- Eingänge:
owner
(Zeichenfolge): Repository-Besitzer (Benutzername oder Organisation)repo
(Zeichenfolge): Repository-Namepath
(Zeichenfolge): Pfad, in dem die Datei erstellt/aktualisiert werden sollcontent
(string): Inhalt der Dateimessage
(Zeichenfolge): Commit-Nachrichtbranch
(Zeichenfolge): Branch zum Erstellen/Aktualisieren der Datei insha
(optionale Zeichenfolge): SHA der zu ersetzenden Datei (für Updates)
- Gibt zurück: Dateiinhalt und Commit-Details
push_files
- Pushen Sie mehrere Dateien in einem einzigen Commit
- Eingänge:
owner
(Zeichenfolge): Repository-Besitzerrepo
(Zeichenfolge): Repository-Namebranch
(Zeichenfolge): Zweig, zu dem gepusht werden sollfiles
(Array): Zu pushende Dateien, jeweils mitpath
undcontent
message
(Zeichenfolge): Commit-Nachricht
- Rückgabe: Aktualisierte Zweigstellenreferenz
search_repositories
- Suche nach GitHub-Repositories
- Eingänge:
query
(Zeichenfolge): Suchanfragepage
(optionale Zahl): Seitenzahl für die PaginierungperPage
(optionale Zahl): Ergebnisse pro Seite (max. 100)
- Rückgabe: Repository-Suchergebnisse
create_repository
- Erstellen Sie ein neues GitHub-Repository
- Eingänge:
name
(Zeichenfolge): Repository-Namedescription
(optionale Zeichenfolge): Repository-Beschreibungprivate
(optionaler Boolescher Wert): Ob das Repo privat sein sollautoInit
(optional boolean): Initialisieren mit README
- Rückgabe: Details zum erstellten Repository
get_file_contents
- Inhalte einer Datei oder eines Verzeichnisses abrufen
- Eingänge:
owner
(Zeichenfolge): Repository-Besitzerrepo
(Zeichenfolge): Repository-Namepath
(Zeichenfolge): Pfad zur Datei/zum Verzeichnisbranch
(optionale Zeichenfolge): Branch, aus dem Inhalte abgerufen werden sollen
- Rückgabe: Datei-/Verzeichnisinhalt
create_issue
- Neues Problem erstellen
- Eingänge:
owner
(Zeichenfolge): Repository-Besitzerrepo
(Zeichenfolge): Repository-Nametitle
(Zeichenfolge): Titel der Ausgabebody
(optionale Zeichenfolge): Problembeschreibungassignees
(optionale Zeichenfolge[]): Zuzuweisende Benutzernamenlabels
(optional string[]): Hinzuzufügende Labelsmilestone
(optionale Nummer): Meilensteinnummer
- Retouren: Details zum erstellten Problem
create_pull_request
- Erstellen einer neuen Pull-Anfrage
- Eingänge:
owner
(Zeichenfolge): Repository-Besitzerrepo
(Zeichenfolge): Repository-Nametitle
(Zeichenfolge): PR-Titelbody
(optionale Zeichenfolge): PR-Beschreibunghead
(Zeichenfolge): Zweig mit Änderungenbase
(Zeichenfolge): Zweig, in den zusammengeführt werden solldraft
(optionaler Boolescher Wert): Als PR-Entwurf erstellenmaintainer_can_modify
(optionaler Boolescher Wert): Bearbeitungen durch den Betreuer zulassen
- Rückgabe: Details zur erstellten Pull-Anforderung
fork_repository
- Forken eines Repositorys
- Eingänge:
owner
(Zeichenfolge): Repository-Besitzerrepo
(Zeichenfolge): Repository-Nameorganization
(optionale Zeichenfolge): Organisation, zu der verzweigt werden soll
- Rückgabe: Details zum gegabelten Repository
create_branch
- Erstellen Sie einen neuen Zweig
- Eingänge:
owner
(Zeichenfolge): Repository-Besitzerrepo
(Zeichenfolge): Repository-Namebranch
(Zeichenfolge): Name für neuen Zweigfrom_branch
(optionale Zeichenfolge): Quellzweig (standardmäßig Repo-Standard)
- Rückgabe: Erstellte Zweigreferenz
list_issues
- Auflisten und Filtern von Repository-Problemen
- Eingänge:
owner
(Zeichenfolge): Repository-Besitzerrepo
(Zeichenfolge): Repository-Namestate
(optionale Zeichenfolge): Filtern nach Status („offen“, „geschlossen“, „alle“)labels
(optionale Zeichenfolge[]): Nach Beschriftungen filternsort
(optionale Zeichenfolge): Sortieren nach ('erstellt', 'aktualisiert', 'Kommentare')direction
(optionale Zeichenfolge): Sortierrichtung ('asc', 'desc')since
(optionale Zeichenfolge): Filtern nach Datum (ISO 8601-Zeitstempel)page
(optionale Zahl): Seitenzahlper_page
(optionale Zahl): Ergebnisse pro Seite
- Gibt zurück: Array mit Problemdetails
update_issue
- Aktualisieren eines vorhandenen Problems
- Eingänge:
owner
(Zeichenfolge): Repository-Besitzerrepo
(Zeichenfolge): Repository-Nameissue_number
(Nummer): Zu aktualisierende Problemnummertitle
(optionale Zeichenfolge): Neuer Titelbody
(optionale Zeichenfolge): Neue Beschreibungstate
(optionale Zeichenfolge): Neuer Status ('offen' oder 'geschlossen')labels
(optional string[]): Neue Labelsassignees
(optional string[]): Neue Beauftragtemilestone
(optionale Nummer): Neue Meilensteinnummer
- Rücksendungen: Aktualisierte Problemdetails
add_issue_comment
- Einen Kommentar zu einem Problem hinzufügen
- Eingänge:
owner
(Zeichenfolge): Repository-Besitzerrepo
(Zeichenfolge): Repository-Nameissue_number
(Nummer): Nummer des zu kommentierenden Problemsbody
(string): Kommentartext
- Rückgabe: Erstellte Kommentardetails
search_code
- Suchen Sie in GitHub-Repositorys nach Code
- Eingänge:
q
(Zeichenfolge): Suchanfrage mit der GitHub-Codesuchsyntaxsort
(optionale Zeichenfolge): Sortierfeld (nur „indiziert“)order
(optionale Zeichenfolge): Sortierreihenfolge ('asc' oder 'desc')per_page
(optionale Zahl): Ergebnisse pro Seite (max. 100)page
(optionale Zahl): Seitenzahl
- Gibt zurück: Code-Suchergebnisse mit Repository-Kontext
search_issues
- Suchen Sie nach Problemen und Pull Requests
- Eingänge:
q
(Zeichenfolge): Suchanfrage mit der Suchsyntax für GitHub-Problemesort
(optionale Zeichenfolge): Sortierfeld (Kommentare, Reaktionen, erstellt usw.)order
(optionale Zeichenfolge): Sortierreihenfolge ('asc' oder 'desc')per_page
(optionale Zahl): Ergebnisse pro Seite (max. 100)page
(optionale Zahl): Seitenzahl
- Gibt zurück: Suchergebnisse für Probleme und Pull-Anfragen
search_users
- Suche nach GitHub-Benutzern
- Eingänge:
q
(Zeichenfolge): Suchanfrage mit der Suchsyntax von GitHub-Benutzernsort
(optionale Zeichenfolge): Sortierfeld (Follower, Repositories, beigetreten)order
(optionale Zeichenfolge): Sortierreihenfolge ('asc' oder 'desc')per_page
(optionale Zahl): Ergebnisse pro Seite (max. 100)page
(optionale Zahl): Seitenzahl
- Rückgabe: Benutzersuchergebnisse
list_commits
- Ruft Commits eines Zweigs in einem Repository ab
- Eingänge:
owner
(Zeichenfolge): Repository-Besitzerrepo
(Zeichenfolge): Repository-Namepage
(optionale Zeichenfolge): Seitenzahlper_page
(optionale Zeichenfolge): Anzahl der Datensätze pro Seitesha
(optionale Zeichenfolge): Zweigname
- Gibt zurück: Liste der Commits
get_issue
- Ruft den Inhalt eines Problems innerhalb eines Repositorys ab
- Eingänge:
owner
(Zeichenfolge): Repository-Besitzerrepo
(Zeichenfolge): Repository-Nameissue_number
(Nummer): Abzurufende Ausgabenummer
- Gibt zurück: Github-Issue-Objekt und Details
get_pull_request
- Details zu einem bestimmten Pull Request abrufen
- Eingänge:
owner
(Zeichenfolge): Repository-Besitzerrepo
(Zeichenfolge): Repository-Namepull_number
(Nummer): Pull-Request-Nummer
- Gibt zurück: Pull-Anforderungsdetails einschließlich Diff und Überprüfungsstatus
list_pull_requests
- Auflisten und Filtern von Repository-Pull-Anfragen
- Eingänge:
owner
(Zeichenfolge): Repository-Besitzerrepo
(Zeichenfolge): Repository-Namestate
(optionale Zeichenfolge): Filtern nach Status („offen“, „geschlossen“, „alle“)head
(optionale Zeichenfolge): Filtern nach Hauptbenutzer/Organisation und Zweigstellebase
(optionale Zeichenfolge): Filtern nach Basiszweigsort
(optionale Zeichenfolge): Sortieren nach ('erstellt', 'aktualisiert', 'Popularität', 'langlaufend')direction
(optionale Zeichenfolge): Sortierrichtung ('asc', 'desc')per_page
(optionale Zahl): Ergebnisse pro Seite (max. 100)page
(optionale Zahl): Seitenzahl
- Gibt zurück: Array mit Pull-Request-Details
create_pull_request_review
- Erstellen einer Überprüfung für einen Pull Request
- Eingänge:
owner
(Zeichenfolge): Repository-Besitzerrepo
(Zeichenfolge): Repository-Namepull_number
(Nummer): Pull-Request-Nummerbody
(Zeichenfolge): Kommentartext überprüfenevent
(Zeichenfolge): Überprüfungsaktion ('GENEHMIGEN', 'ÄNDERUNGEN ANFORDERN', 'KOMMENTAR')commit_id
(optionale Zeichenfolge): SHA des zu überprüfenden Commitscomments
(optionales Array): Zeilenspezifische Kommentare, jeweils mit:path
(Zeichenfolge): Dateipfadposition
(Nummer): Zeilenposition im Diffbody
(string): Kommentartext
- Rücksendungen: Bewertungsdetails erstellt
merge_pull_request
- Zusammenführen einer Pull-Anfrage
- Eingänge:
owner
(Zeichenfolge): Repository-Besitzerrepo
(Zeichenfolge): Repository-Namepull_number
(Nummer): Pull-Request-Nummercommit_title
(optionale Zeichenfolge): Titel für Merge-Commitcommit_message
(optionale Zeichenfolge): Zusätzliche Details zum Merge-Commitmerge_method
(optionale Zeichenfolge): Merge-Methode ('merge', 'squash', 'rebase')
- Rückgabe: Details zum Zusammenführungsergebnis
get_pull_request_files
- Abrufen der Liste der in einer Pull-Anforderung geänderten Dateien
- Eingänge:
owner
(Zeichenfolge): Repository-Besitzerrepo
(Zeichenfolge): Repository-Namepull_number
(Nummer): Pull-Request-Nummer
- Gibt zurück: Array geänderter Dateien mit Patch- und Statusdetails
get_pull_request_status
- Holen Sie sich den kombinierten Status aller Statusprüfungen für eine Pull-Anforderung
- Eingänge:
owner
(Zeichenfolge): Repository-Besitzerrepo
(Zeichenfolge): Repository-Namepull_number
(Nummer): Pull-Request-Nummer
- Retouren: Kombinierte Statusprüfungsergebnisse und individuelle Prüfungsdetails
update_pull_request_branch
- Aktualisieren Sie einen Pull Request-Zweig mit den neuesten Änderungen aus dem Basiszweig (entspricht der Schaltfläche „Zweig aktualisieren“ von GitHub).
- Eingänge:
owner
(Zeichenfolge): Repository-Besitzerrepo
(Zeichenfolge): Repository-Namepull_number
(Nummer): Pull-Request-Nummerexpected_head_sha
(optionale Zeichenfolge): Der erwartete SHA des HEAD-Refs des Pull Requests
- Gibt zurück: Erfolgsmeldung, wenn der Zweig aktualisiert wurde
get_pull_request_comments
- Abrufen der Review-Kommentare zu einem Pull Request
- Eingänge:
owner
(Zeichenfolge): Repository-Besitzerrepo
(Zeichenfolge): Repository-Namepull_number
(Nummer): Pull-Request-Nummer
- Rückgabe: Array von Pull Request-Überprüfungskommentaren mit Details wie Kommentartext, Autor und Position im Diff
get_pull_request_reviews
- Erhalten Sie die Bewertungen zu einer Pull-Anfrage
- Eingänge:
owner
(Zeichenfolge): Repository-Besitzerrepo
(Zeichenfolge): Repository-Namepull_number
(Nummer): Pull-Request-Nummer
- Gibt zurück: Array von Pull Request-Überprüfungen mit Details wie dem Überprüfungsstatus (GENEHMIGT, ÄNDERUNGEN ANGEFRAGT usw.), dem Prüfer und dem Überprüfungstext
Suchanfragensyntax
Codesuche
language:javascript
: Suche nach Programmierspracherepo:owner/name
: Suche in einem bestimmten Repositorypath:app/src
: Suche in einem bestimmten Pfadextension:js
: Suche nach Dateierweiterung- Beispiel:
q: "import express" language:typescript path:src/
Probleme suchen
is:issue
oderis:pr
: Nach Typ filternis:open
oderis:closed
: Nach Status filternlabel:bug
: Suche nach labelauthor:username
: Suche nach Autor- Beispiel:
q: "memory leak" is:issue is:open label:bug
Benutzersuche
type:user
odertype:org
: Filtern nach Kontotypfollowers:>1000
: Filtern nach Followernlocation:London
: Suche nach Standort- Beispiel:
q: "fullstack developer" location:London followers:>100
Eine ausführliche Suchsyntax finden Sie in der Suchdokumentation von GitHub .
Aufstellen
Persönlicher Zugriffstoken
Erstellen Sie ein persönliches GitHub-Zugriffstoken mit entsprechenden Berechtigungen:
- Gehen Sie zu „Persönliche Zugriffstoken“ (in den GitHub-Einstellungen > Entwicklereinstellungen).
- Wählen Sie aus, auf welche Repositorys dieses Token Zugriff haben soll (Öffentlich, Alle oder Auswählen).
- Erstellen Sie ein Token mit dem
repo
Bereich („Vollständige Kontrolle über private Repositories“)- Alternativ, wenn Sie nur mit öffentlichen Repositories arbeiten, wählen Sie nur den
public_repo
Bereich
- Alternativ, wenn Sie nur mit öffentlichen Repositories arbeiten, wählen Sie nur den
- Kopieren Sie das generierte Token
Verwendung mit Claude Desktop
Um dies mit Claude Desktop zu verwenden, fügen Sie Folgendes zu Ihrer claude_desktop_config.json
hinzu:
Docker
NPX
Verwendung mit VS Code
Verwenden Sie für eine schnelle Installation eine der folgenden Installationsschaltflächen:
Für die manuelle Installation fügen Sie den folgenden JSON-Block zu Ihrer Benutzereinstellungsdatei (JSON) in VS Code hinzu. Drücken Sie dazu Ctrl + Shift + P
und geben Sie Preferences: Open User Settings (JSON)
ein.
Optional können Sie es einer Datei namens .vscode/mcp.json
in Ihrem Arbeitsbereich hinzufügen. Dadurch können Sie die Konfiguration mit anderen teilen.
Beachten Sie, dass der
mcp
Schlüssel in der Datei.vscode/mcp.json
nicht benötigt wird.
Docker
NPX
Bauen
Docker-Build:
Lizenz
Dieser MCP-Server ist unter der MIT-Lizenz lizenziert. Das bedeutet, dass Sie die Software unter den Bedingungen der MIT-Lizenz frei verwenden, ändern und verbreiten dürfen. Weitere Informationen finden Sie in der LICENSE-Datei im Projekt-Repository.
You must be authenticated.
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
Tools
MCP-Server für die GitHub-API, der Dateivorgänge, Repository-Verwaltung, Suchfunktionen und mehr ermöglicht.
Related MCP Servers
- AsecurityFlicenseAqualityMCP Server for the GitHub API, providing features for file operations, repository management, and advanced search, with automatic branch creation and comprehensive error handling.Last updated -1843TypeScript
- AsecurityFlicenseAqualityMCP server for managing Git operations on local repositories, allowing users to list repositories, get and create tags, list commits, push tags, and refresh repositories through a standardized interface.Last updated -6Python
- AsecurityAlicenseAqualityAn MCP server for gitingest. It allows MCP clients like Claude Desktop, Cursor, Cline etc to quickly extract information about Github repositories including repository summaries, project directory structure, file contents, etcLast updated -38PythonMIT License
- AsecurityFlicenseAqualityAn MCP server that enables integration with GitHub Enterprise API, allowing users to access repository information, manage issues, pull requests, workflows, and other GitHub features through Cursor.Last updated -163314TypeScript