GitHub MCP Server Plus
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 mit Inhalten oder Dateipfaden
- 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_content
- Pushen Sie mehrere Dateien mit direktem Inhalt 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
push_files_from_path
- Pushen Sie mehrere Dateien aus Dateisystempfaden 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 mit:path
(Zeichenfolge): Zielpfad im Repositoryfilepath
(Zeichenfolge): Quelldateisystempfad zum Lesen
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
- 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
- Gibt zurück: Array von Pull Request-Überprüfungskommentaren
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
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
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.
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 Funktionen für Dateivorgänge, Repository-Verwaltung und erweiterte Suche mit automatischer Zweigerstellung und umfassender Fehlerbehandlung bietet.
Related Resources
Related MCP Servers
- -securityFlicense-qualityProvides tools for interacting with GitHub's API through the MCP protocol, allowing users to create repositories, push content, and retrieve user information.Last updated -JavaScript
- AsecurityAlicenseAqualityA MCP server that provides access to GitHub trending repositories and developers data through a simple API interface.Last updated -214PythonMIT License
- JavaScriptMIT License
- -securityAlicense-qualityAn MCP server that wraps around the GitHub CLI tool, allowing AI assistants to interact with GitHub repositories through commands for pull requests, issues, and repository operations.Last updated -3TypeScriptMIT License