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_fileErstellen 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_contentPushen 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 mitpathundcontentmessage(Zeichenfolge): Commit-Nachricht
RĂŒckgabe: Aktualisierte Zweigstellenreferenz
push_files_from_pathPushen 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_repositoriesSuche 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_repositoryErstellen 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_contentsInhalte 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_issueNeues 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_requestErstellen 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_repositoryForken 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
Related MCP server: GitHub MCP Server
Suchanfragensyntax
Codesuche
language:javascript: Suche nach Programmierspracherepo:owner/name: Suche in einem bestimmten Repositorypath:app/src: Suche in einem bestimmten Pfadextension:js: Suche nach DateierweiterungBeispiel:
q: "import express" language:typescript path:src/
Probleme suchen
is:issueoderis:pr: Nach Typ filternis:openoderis:closed: Nach Status filternlabel:bug: Suche nach labelauthor:username: Suche nach AutorBeispiel:
q: "memory leak" is:issue is:open label:bug
Benutzersuche
type:userodertype:org: Filtern nach Kontotypfollowers:>1000: Filtern nach Followernlocation:London: Suche nach StandortBeispiel:
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
repoBereich (âVollstĂ€ndige Kontrolle ĂŒber private Repositoriesâ)Alternativ, wenn Sie nur mit öffentlichen Repositories arbeiten, wĂ€hlen Sie nur den
public_repoBereich
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
{
"mcpServers": {
"github": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"GITHUB_PERSONAL_ACCESS_TOKEN",
"mcp/github"
],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "<YOUR_TOKEN>"
}
}
}
}NPX
{
"mcpServers": {
"github": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-github"
],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "<YOUR_TOKEN>"
}
}
}
}Bauen
Docker-Build:
docker build -t mcp/github -f src/github/Dockerfile .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.
Maintenance
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/PhialsBasement/mcp-github-server-plus'
If you have feedback or need assistance with the MCP directory API, please join our Discord server
