GitHub GraphQL API MCP

by wanzunz

Integrations

  • Uses .env files to securely store GitHub access tokens needed for API authentication.

  • Enables querying GitHub's GraphQL API to retrieve repository information, issues, pull requests, user profiles, and project dependencies with precise data control to reduce token consumption.

  • Provides schema exploration and query execution capabilities for GitHub's GraphQL API, allowing for precise data retrieval through query customization.

GitHub GraphQL API MCP

Englisch |中文|日本語| Spanisch | Französisch

Ein auf MCP (Model Control Protocol) basierendes Tool zum Abfragen und Verwenden der GitHub GraphQL-API. Dieses Projekt bietet einen Server, mit dem Sie das GitHub GraphQL-Schema erkunden und GraphQL-Abfragen über MCP-Client-Tools (wie Claude AI) ausführen können.

Warum die GitHub GraphQL API verwenden?

Die GitHub GraphQL API bietet gegenüber herkömmlichen REST-APIs erhebliche Vorteile:

  • Präziser Datenabruf : GraphQL ermöglicht es Clients, genau die Felder anzugeben, die sie benötigen, und so überschüssige Daten zu vermeiden
  • Reduzierter Token-Verbrauch : Durch die Anforderung nur der erforderlichen Felder wird die Größe der API-Antwort erheblich reduziert, wodurch der Token-Verbrauch des KI-Modells gesenkt wird
  • Einzelne Anfrage für verwandte Daten : Eine Abfrage kann mehrere verwandte Ressourcen abrufen, wodurch die Anzahl der Anfragen reduziert wird
  • Selbstdokumentierend : Durch das integrierte Dokumentationssystem können Sie das API-Schema ohne externe Dokumentation direkt abfragen und verstehen
  • Starkes Typsystem : Bietet Typprüfung und reduziert Fehler

Dieses Projekt nutzt diese Vorteile, um Tools bereitzustellen, mit denen Sie das GitHub GraphQL-API-Schema effektiv erkunden und optimierte Abfragen ausführen können, wodurch KI-Assistenten effiziente Funktionen zum Abrufen von GitHub-Daten erhalten.

Anwendungsszenarien

Grundfunktionen

Mit diesem Tool können Sie die folgenden gängigen Vorgänge problemlos implementieren:

  1. Abfrage grundlegender Repository-Informationen : Erhalten Sie Repository-Namen, Beschreibung, Anzahl der Sterne, Zweigstellenliste und andere grundlegende Informationen
  2. Abrufen von Problemdaten : Abfragen von Problemlisten, Details oder Kommentarinhalten für bestimmte Repositories
  3. Zugriff auf Benutzerprofile : Rufen Sie persönliche Profile, Beitragsstatistiken und andere öffentliche Informationen der Benutzer ab
  4. Pull Request-Statusansicht : Rufen Sie den PR-Grundstatus, Kommentarinhalte und Zusammenführungsinformationen ab
  5. Abfrage der Projektabhängigkeiten : Abrufen von Paketlisten und Versionsinformationen zu Projektabhängigkeiten

Erweiterte Explorative Funktionen

Mit den flexiblen Abfragefunktionen von GraphQL können Sie auch versuchen, die folgenden erweiterten Analysefunktionen zu implementieren:

  1. Analyse des Repository-Beitragstrends : Analysieren Sie die Häufigkeit von Code-Updates und die Beteiligung der Mitwirkenden, indem Sie Commit-Daten aggregieren und die Projektaktivität auswerten
  2. Problemmanagement und -klassifizierung : Organisieren Sie Problemdaten nach benutzerdefinierten Bedingungen, entdecken Sie Probleme, die vorrangig behandelt werden müssen, und verbessern Sie die Effizienz des Projektmanagements
  3. Code-Review-Musteranalyse : Analysieren Sie PR-Kommentare und Review-Prozesse, identifizieren Sie häufige Problemmuster und optimieren Sie den Code-Review-Workflow
  4. Visualisierung des Mitwirkendennetzwerks : Bauen Sie Zusammenarbeitsbeziehungen zwischen Projektmitwirkenden auf, entdecken Sie wichtige Mitwirkende und Fachgebiete
  5. Bewertung der Abhängigkeitsintegrität : Bewerten Sie die Aktualisierungshäufigkeit und potenziellen Sicherheitsprobleme von Projektabhängigkeiten und geben Sie Vorschläge zum Abhängigkeitsmanagement.

Merkmale

  • Abfrage der Stammtypen des GitHub GraphQL-Schemas (Abfrage/Mutation)
  • Erhalten Sie detaillierte Dokumentation für bestimmte Typen
  • Abfragedokumentation und Parameter für bestimmte Felder
  • Führen Sie GitHub GraphQL-API-Abfragen direkt aus, rufen Sie die benötigten Daten präzise ab und reduzieren Sie den Token-Verbrauch
  • Zweisprachiger Support (Englisch/Chinesisch)

Voraussetzungen

  • Python 3.10 oder höher
  • Persönlicher GitHub-Zugriffstoken (für den Zugriff auf die GitHub-API)
  • Poetry (empfohlenes Tool zur Abhängigkeitsverwaltung)

Installation

  1. Klonen Sie das Repository:
git clone https://github.com/wanzunz/github_graphql_api_mcp.git cd github_graphql_api_mcp
  1. Installieren Sie Abhängigkeiten mit Poetry:
# If you haven't installed Poetry yet, install it first: # curl -sSL https://install.python-poetry.org | python3 - # Install dependencies using Poetry poetry install # Activate the virtual environment poetry shell

Wenn Sie keine Poesie verwenden, können Sie die traditionelle Methode verwenden:

# Create and activate a virtual environment python -m venv .venv source .venv/bin/activate # Linux/MacOS # or .venv\Scripts\activate # Windows # Install dependencies pip install -e .
  1. Konfigurieren Sie Umgebungsvariablen:

Erstellen Sie eine .env Datei und fügen Sie Ihr persönliches GitHub-Zugriffstoken hinzu:

GITHUB_TOKEN="your_github_token_here"

Sie können es erstellen, indem Sie die Datei .env.example kopieren:

cp .env.example .env

Bearbeiten Sie dann die .env Datei und ersetzen Sie your_github_token_here durch Ihr tatsächliches GitHub-Token.

Verwendung

Starten des Servers

Stellen Sie sicher, dass Sie die virtuelle Umgebung von Poetry ( poetry shell ) aktiviert haben, und gehen Sie dann wie folgt vor:

Laufen
python github_graphql_api_mcp_server.py

Nachdem der Server gestartet ist, können Sie über einen MCP-Client (z. B. Claude AI) eine Verbindung zu ihm herstellen.

Konfigurieren in Claude Desktop

Sie können diesen MCP-Server in der Claude-Desktop-App für den Start mit einem Klick konfigurieren:

  1. Öffnen Sie die Claude-Desktop-App
  2. Gehen Sie zu den Einstellungen und suchen Sie den Abschnitt zur MCP-Serverkonfiguration
  3. Fügen Sie die folgende Konfiguration hinzu (ändern Sie sie entsprechend Ihrem tatsächlichen Pfad):
{ "mcpServers": { "github_mcp": { "command": "<your Python interpreter path>", "args": [ "--directory", "<project path>", "run", "github_graphql_api_mcp_server.py" ] } } }

Konfigurationsbeispiel:

{ "mcpServers": { "github_mcp": { "command": "/usr/bin/python3", "args": [ "--directory", "/home/user/projects/github_graphql_api_mcp/", "run", "github_graphql_api_mcp_server.py" ] } } }

Wenn Sie Conda oder andere Tools zur Umgebungsverwaltung verwenden:

{ "mcpServers": { "github_mcp": { "command": "/opt/miniconda3/bin/python", "args": [ "--directory", "/Users/username/github/github_graphql_api_mcp/", "run", "github_graphql_api_mcp_server.py" ] } } }

Nach der Konfiguration können Sie den MCP-Server direkt aus der Claude-Desktop-App starten, ohne ihn manuell starten zu müssen.

Verfügbare Tools

Der Server stellt die folgenden Tools bereit:

  1. print_type_field : Abfragefelder der Stammtypen des GitHub GraphQL-Schemas
  2. graphql_schema_root_type : Dokumentation für Root-Typen abrufen (Abfrage/Mutation)
  3. graphql_schema_type : Abfragedokumentation für bestimmte Typen
  4. call_github_graphql : GitHub GraphQL API-Abfragen ausführen

Anwendungsbeispiele

Nachdem Sie mit einem MCP-Client eine Verbindung zum Server hergestellt haben, können Sie:

  1. Dokumentation zum Abfragestammtyp:
    Use the graphql_schema_root_type tool, parameter type_name="QUERY"
  2. Abfragefelder bestimmter Typen:
    Use the print_type_field tool, parameters type_name="QUERY", type_fields_name="repository"
  3. Abfragedokumentation für bestimmte Typen:
    Use the graphql_schema_type tool, parameter type_name="Repository"
  4. Führen Sie GraphQL-Abfragen aus:
    Use the call_github_graphql tool, parameter: graphql=""" query { viewer { login name } } """
Beispiel-Screenshot

Unten sehen Sie ein Beispiel für die Verwendung der GitHub GraphQL API MCP mit Claude:

Hinweise

  • Stellen Sie vor der Verwendung sicher, dass Ihr GitHub-Token über die entsprechenden Berechtigungen verfügt
  • Das Token wird in der .env Datei gespeichert, die nicht an Versionskontrollsysteme übergeben werden sollte.
  • Abfragen sollten den Nutzungsbeschränkungen der GitHub-API entsprechen

Lizenz

Dieses Projekt ist unter der MIT-Lizenz lizenziert – einer sehr freizügigen Lizenz, die es Benutzern ermöglicht, diese Software frei zu verwenden, zu ändern, zu verteilen und zu kommerzialisieren, solange sie den Copyright-Hinweis und die Lizenzerklärung beibehalten.

Ausführliche Bedingungen finden Sie in der MIT-Lizenz .

-
security - not tested
F
license - not found
-
quality - not tested

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.

Ein Server, der es Ihnen ermöglicht, das GitHub GraphQL-Schema zu erkunden und GraphQL-Abfragen über MCP-Clienttools auszuführen, wodurch ein effizienter Datenabruf von GitHub bei reduziertem Tokenverbrauch ermöglicht wird.

  1. Warum die GitHub GraphQL API verwenden?
    1. Anwendungsszenarien
      1. Grundfunktionen
      2. Erweiterte Explorative Funktionen
    2. Merkmale
      1. Voraussetzungen
        1. Installation
          1. Verwendung
            1. Starten des Servers
            2. Konfigurieren in Claude Desktop
            3. Verfügbare Tools
            4. Anwendungsbeispiele
          2. Hinweise
            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,357
                JavaScript
                MIT License
              • A
                security
                F
                license
                A
                quality
                Provides tools for mapping and analyzing GitHub repositories. It allows users to set a GitHub Personal Access Token and retrieve detailed information about a specified repository, including its structure and summary statistics.
                Last updated -
                2
                16
                TypeScript
              • 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
                13
                TypeScript
                • Linux
                • Apple

              View all related MCP servers

              ID: isnddb3ty9