Skip to main content
Glama
wanzunz

GitHub GraphQL API MCP

by wanzunz

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.

Related MCP server: mcp-graphql

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 Stammtypen 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:

GitHub GraphQL API MCP-Nutzungsbeispiel

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 .

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

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/wanzunz/github_graphql_api_mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server