GitHub MCP Server Plus

Integrations

  • Allows interaction with the GitHub API for file operations, repository management, search functionality, issue/PR management, branch creation, and more.

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

  1. 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-Name
      • path (Zeichenfolge): Pfad, in dem die Datei erstellt/aktualisiert werden soll
      • content (string): Inhalt der Datei
      • message (Zeichenfolge): Commit-Nachricht
      • branch (Zeichenfolge): Branch zum Erstellen/Aktualisieren der Datei in
      • sha (optionale Zeichenfolge): SHA der zu ersetzenden Datei (für Updates)
    • Gibt zurück: Dateiinhalt und Commit-Details
  2. push_files_content
    • Pushen Sie mehrere Dateien mit direktem Inhalt in einem einzigen Commit
    • Eingänge:
      • owner (Zeichenfolge): Repository-Besitzer
      • repo (Zeichenfolge): Repository-Name
      • branch (Zeichenfolge): Zweig, zu dem gepusht werden soll
      • files (Array): Zu pushende Dateien, jeweils mit path und content
      • message (Zeichenfolge): Commit-Nachricht
    • Rückgabe: Aktualisierte Zweigstellenreferenz
  3. push_files_from_path
    • Pushen Sie mehrere Dateien aus Dateisystempfaden in einem einzigen Commit
    • Eingänge:
      • owner (Zeichenfolge): Repository-Besitzer
      • repo (Zeichenfolge): Repository-Name
      • branch (Zeichenfolge): Zweig, zu dem gepusht werden soll
      • files (Array): Zu pushende Dateien, jeweils mit:
        • path (Zeichenfolge): Zielpfad im Repository
        • filepath (Zeichenfolge): Quelldateisystempfad zum Lesen
      • message (Zeichenfolge): Commit-Nachricht
    • Rückgabe: Aktualisierte Zweigstellenreferenz
  4. search_repositories
    • Suche nach GitHub-Repositories
    • Eingänge:
      • query (Zeichenfolge): Suchanfrage
      • page (optionale Zahl): Seitenzahl für die Paginierung
      • perPage (optionale Zahl): Ergebnisse pro Seite (max. 100)
    • Rückgabe: Repository-Suchergebnisse
  5. create_repository
    • Erstellen Sie ein neues GitHub-Repository
    • Eingänge:
      • name (Zeichenfolge): Repository-Name
      • description (optionale Zeichenfolge): Repository-Beschreibung
      • private (optionaler Boolescher Wert): Ob das Repo privat sein soll
      • autoInit (optional boolean): Initialisieren mit README
    • Rückgabe: Details zum erstellten Repository
  6. get_file_contents
    • Inhalte einer Datei oder eines Verzeichnisses abrufen
    • Eingänge:
      • owner (Zeichenfolge): Repository-Besitzer
      • repo (Zeichenfolge): Repository-Name
      • path (Zeichenfolge): Pfad zur Datei/zum Verzeichnis
      • branch (optionale Zeichenfolge): Branch, aus dem Inhalte abgerufen werden sollen
    • Rückgabe: Datei-/Verzeichnisinhalt
  7. create_issue
    • Neues Problem erstellen
    • Eingänge:
      • owner (Zeichenfolge): Repository-Besitzer
      • repo (Zeichenfolge): Repository-Name
      • title (Zeichenfolge): Titel der Ausgabe
      • body (optionale Zeichenfolge): Problembeschreibung
      • assignees (optionale Zeichenfolge[]): Zuzuweisende Benutzernamen
      • labels (optional string[]): Hinzuzufügende Labels
      • milestone (optionale Nummer): Meilensteinnummer
    • Retouren: Details zum erstellten Problem
  8. create_pull_request
    • Erstellen einer neuen Pull-Anfrage
    • Eingänge:
      • owner (Zeichenfolge): Repository-Besitzer
      • repo (Zeichenfolge): Repository-Name
      • title (Zeichenfolge): PR-Titel
      • body (optionale Zeichenfolge): PR-Beschreibung
      • head (Zeichenfolge): Zweig mit Änderungen
      • base (Zeichenfolge): Zweig, in den zusammengeführt werden soll
      • draft (optionaler Boolescher Wert): Als PR-Entwurf erstellen
      • maintainer_can_modify (optionaler Boolescher Wert): Bearbeitungen durch den Betreuer zulassen
    • Rückgabe: Details zur erstellten Pull-Anforderung
  9. fork_repository
    • Forken eines Repositorys
    • Eingänge:
      • owner (Zeichenfolge): Repository-Besitzer
      • repo (Zeichenfolge): Repository-Name
      • organization (optionale Zeichenfolge): Organisation, zu der verzweigt werden soll
    • Rückgabe: Details zum gegabelten Repository
  10. create_branch
  • Erstellen Sie einen neuen Zweig
  • Eingänge:
    • owner (Zeichenfolge): Repository-Besitzer
    • repo (Zeichenfolge): Repository-Name
    • branch (Zeichenfolge): Name für neuen Zweig
    • from_branch (optionale Zeichenfolge): Quellzweig (standardmäßig Repo-Standard)
  • Rückgabe: Erstellte Zweigreferenz
  1. list_issues
  • Auflisten und Filtern von Repository-Problemen
  • Eingänge:
    • owner (Zeichenfolge): Repository-Besitzer
    • repo (Zeichenfolge): Repository-Name
    • state (optionale Zeichenfolge): Filtern nach Status („offen“, „geschlossen“, „alle“)
    • labels (optionale Zeichenfolge[]): Nach Beschriftungen filtern
    • sort (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): Seitenzahl
    • per_page (optionale Zahl): Ergebnisse pro Seite
  • Gibt zurück: Array mit Problemdetails
  1. update_issue
  • Aktualisieren eines vorhandenen Problems
  • Eingänge:
    • owner (Zeichenfolge): Repository-Besitzer
    • repo (Zeichenfolge): Repository-Name
    • issue_number (Nummer): Zu aktualisierende Problemnummer
    • title (optionale Zeichenfolge): Neuer Titel
    • body (optionale Zeichenfolge): Neue Beschreibung
    • state (optionale Zeichenfolge): Neuer Status ('offen' oder 'geschlossen')
    • labels (optional string[]): Neue Labels
    • assignees (optional string[]): Neue Beauftragte
    • milestone (optionale Nummer): Neue Meilensteinnummer
  • Rücksendungen: Aktualisierte Problemdetails
  1. add_issue_comment
  • Einen Kommentar zu einem Problem hinzufügen
  • Eingänge:
    • owner (Zeichenfolge): Repository-Besitzer
    • repo (Zeichenfolge): Repository-Name
    • issue_number (Nummer): Nummer des zu kommentierenden Problems
    • body (string): Kommentartext
  • Rückgabe: Erstellte Kommentardetails
  1. search_code
  • Suchen Sie in GitHub-Repositorys nach Code
  • Eingänge:
    • q (Zeichenfolge): Suchanfrage mit der GitHub-Codesuchsyntax
    • sort (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
  1. search_issues
  • Suchen Sie nach Problemen und Pull Requests
  • Eingänge:
    • q (Zeichenfolge): Suchanfrage mit der Suchsyntax für GitHub-Probleme
    • sort (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
  1. search_users
  • Suche nach GitHub-Benutzern
  • Eingänge:
    • q (Zeichenfolge): Suchanfrage mit der Suchsyntax von GitHub-Benutzern
    • sort (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
  1. list_commits
  • Ruft Commits eines Zweigs in einem Repository ab
  • Eingänge:
    • owner (Zeichenfolge): Repository-Besitzer
    • repo (Zeichenfolge): Repository-Name
    • page (optionale Zeichenfolge): Seitenzahl
    • per_page (optionale Zeichenfolge): Anzahl der Datensätze pro Seite
    • sha (optionale Zeichenfolge): Zweigname
  • Gibt zurück: Liste der Commits
  1. get_issue
  • Ruft den Inhalt eines Problems innerhalb eines Repositorys ab
  • Eingänge:
    • owner (Zeichenfolge): Repository-Besitzer
    • repo (Zeichenfolge): Repository-Name
    • issue_number (Nummer): Abzurufende Ausgabenummer
  • Gibt zurück: GitHub-Issue-Objekt und Details
  1. get_pull_request
  • Details zu einem bestimmten Pull Request abrufen
  • Eingänge:
    • owner (Zeichenfolge): Repository-Besitzer
    • repo (Zeichenfolge): Repository-Name
    • pull_number (Nummer): Pull-Request-Nummer
  • Gibt zurück: Pull-Anforderungsdetails einschließlich Diff und Überprüfungsstatus
  1. list_pull_requests
  • Auflisten und Filtern von Repository-Pull-Anfragen
  • Eingänge:
    • owner (Zeichenfolge): Repository-Besitzer
    • repo (Zeichenfolge): Repository-Name
    • state (optionale Zeichenfolge): Filtern nach Status („offen“, „geschlossen“, „alle“)
    • head (optionale Zeichenfolge): Filtern nach Hauptbenutzer/Organisation und Zweigstelle
    • base (optionale Zeichenfolge): Filtern nach Basiszweig
    • sort (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
  1. create_pull_request_review
  • Erstellen einer Überprüfung für einen Pull Request
  • Eingänge:
    • owner (Zeichenfolge): Repository-Besitzer
    • repo (Zeichenfolge): Repository-Name
    • pull_number (Nummer): Pull-Request-Nummer
    • body (Zeichenfolge): Kommentartext überprüfen
    • event (Zeichenfolge): Überprüfungsaktion ('GENEHMIGEN', 'ÄNDERUNGEN ANFORDERN', 'KOMMENTAR')
    • commit_id (optionale Zeichenfolge): SHA des zu überprüfenden Commits
    • comments (optionales Array): Zeilenspezifische Kommentare, jeweils mit:
      • path (Zeichenfolge): Dateipfad
      • position (Nummer): Zeilenposition im Diff
      • body (string): Kommentartext
  • Rücksendungen: Bewertungsdetails erstellt
  1. merge_pull_request
  • Zusammenführen einer Pull-Anfrage
  • Eingänge:
    • owner (Zeichenfolge): Repository-Besitzer
    • repo (Zeichenfolge): Repository-Name
    • pull_number (Nummer): Pull-Request-Nummer
    • commit_title (optionale Zeichenfolge): Titel für Merge-Commit
    • commit_message (optionale Zeichenfolge): Zusätzliche Details zum Merge-Commit
    • merge_method (optionale Zeichenfolge): Merge-Methode ('merge', 'squash', 'rebase')
  • Rückgabe: Details zum Zusammenführungsergebnis
  1. get_pull_request_files
  • Abrufen der Liste der in einer Pull-Anforderung geänderten Dateien
  • Eingänge:
    • owner (Zeichenfolge): Repository-Besitzer
    • repo (Zeichenfolge): Repository-Name
    • pull_number (Nummer): Pull-Request-Nummer
  • Gibt zurück: Array geänderter Dateien mit Patch- und Statusdetails
  1. get_pull_request_status
  • Holen Sie sich den kombinierten Status aller Statusprüfungen für eine Pull-Anforderung
  • Eingänge:
    • owner (Zeichenfolge): Repository-Besitzer
    • repo (Zeichenfolge): Repository-Name
    • pull_number (Nummer): Pull-Request-Nummer
  • Retouren: Kombinierte Statusprüfungsergebnisse und individuelle Prüfungsdetails
  1. update_pull_request_branch
  • Aktualisieren Sie einen Pull Request-Zweig mit den neuesten Änderungen aus dem Basiszweig
  • Eingänge:
    • owner (Zeichenfolge): Repository-Besitzer
    • repo (Zeichenfolge): Repository-Name
    • pull_number (Nummer): Pull-Request-Nummer
    • expected_head_sha (optionale Zeichenfolge): Der erwartete SHA des HEAD-Refs des Pull Requests
  • Gibt zurück: Erfolgsmeldung, wenn der Zweig aktualisiert wurde
  1. get_pull_request_comments
  • Abrufen der Review-Kommentare zu einem Pull Request
  • Eingänge:
    • owner (Zeichenfolge): Repository-Besitzer
    • repo (Zeichenfolge): Repository-Name
    • pull_number (Nummer): Pull-Request-Nummer
  • Gibt zurück: Array von Pull Request-Überprüfungskommentaren
  1. get_pull_request_reviews
  • Erhalten Sie die Bewertungen zu einer Pull-Anfrage
  • Eingänge:
    • owner (Zeichenfolge): Repository-Besitzer
    • repo (Zeichenfolge): Repository-Name
    • pull_number (Nummer): Pull-Request-Nummer
  • Gibt zurück: Array von Pull Request-Überprüfungen

Suchanfragensyntax

Codesuche

  • language:javascript : Suche nach Programmiersprache
  • repo:owner/name : Suche in einem bestimmten Repository
  • path:app/src : Suche in einem bestimmten Pfad
  • extension:js : Suche nach Dateierweiterung
  • Beispiel: q: "import express" language:typescript path:src/

Probleme suchen

  • is:issue oder is:pr : Nach Typ filtern
  • is:open oder is:closed : Nach Status filtern
  • label:bug : Suche nach label
  • author:username : Suche nach Autor
  • Beispiel: q: "memory leak" is:issue is:open label:bug

Benutzersuche

  • type:user oder type:org : Filtern nach Kontotyp
  • followers:>1000 : Filtern nach Followern
  • location: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
  • 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.

You must be authenticated.

A
security – no known vulnerabilities
F
license - not found
A
quality - confirmed to work

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.

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.

  1. Merkmale
    1. Werkzeuge
      1. Suchanfragensyntax
        1. Codesuche
        2. Probleme suchen
        3. Benutzersuche
      2. Aufstellen
        1. Persönlicher Zugriffstoken
        2. Verwendung mit Claude Desktop
        3. NPX
      3. Bauen
        1. Lizenz

          Related MCP Servers

          • A
            security
            A
            license
            A
            quality
            MCP Server for the GitHub API, enabling file operations, repository management, search functionality, and more.
            Last updated -
            17
            22,912
            44,922
            JavaScript
            MIT License
          • A
            security
            F
            license
            A
            quality
            MCP 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 -
            6
            Python
          • A
            security
            A
            license
            A
            quality
            An 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, etc
            Last updated -
            3
            8
            Python
            MIT License
            • Apple
          • A
            security
            F
            license
            A
            quality
            An 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 -
            16
            33
            14
            TypeScript
            • Linux
            • Apple

          View all related MCP servers

          ID: qmvm4mx87p