Integrations
Provides access to GitHub Enterprise and GitHub.com repositories, enabling repository management, branch listing, file content retrieval, and issue/PR handling through the GitHub API.
Offers tools for listing, viewing, and triggering GitHub Actions workflows, with capabilities for managing workflow runs and filtering by branch or status.
GitHub Enterprise MCP Server
Ein MCP-Server (Model Context Protocol) zur Integration mit der GitHub Enterprise API. Dieser Server bietet eine MCP-Schnittstelle für den einfachen Zugriff auf Repository-Informationen, Probleme, PRs und mehr von GitHub Enterprise in Cursor.
Kompatibilität
Dieses Projekt ist in erster Linie für GitHub Enterprise Server-Umgebungen konzipiert, funktioniert aber auch mit:
- GitHub.com
- GitHub Enterprise Cloud
Hinweis : Einige unternehmensspezifische Funktionen (wie Lizenzinformationen und Unternehmensstatistiken) funktionieren nicht mit GitHub.com oder GitHub Enterprise Cloud.
Hauptmerkmale
- Abrufen der Repository-Liste von GitHub Enterprise-Instanzen
- Erhalten Sie detaillierte Repository-Informationen
- Repository-Zweige auflisten
- Datei- und Verzeichnisinhalte anzeigen
- Probleme und Pull Requests verwalten
- Repository-Verwaltung (Erstellen, Aktualisieren, Löschen)
- Verwaltung von GitHub Actions-Workflows
- Benutzerverwaltung (Benutzer auflisten, erstellen, aktualisieren, löschen, sperren/entsperren)
- Zugriff auf Unternehmensstatistiken
- Verbesserte Fehlerbehandlung und benutzerfreundliche Antwortformatierung
Erste Schritte
Voraussetzungen
- Node.js 18 oder höher
- Zugriff auf eine GitHub Enterprise-Instanz
- Persönlicher Zugriffstoken (PAT)
Docker-Installation und -Einrichtung
Option 1: Ausführen mit Docker
- Erstellen Sie das Docker-Image:Copy
- Führen Sie den Docker-Container mit Umgebungsvariablen aus:Copy
Hinweis : Das Dockerfile ist standardmäßig für die Ausführung mit
--transport http
konfiguriert. Falls Sie dies ändern möchten, können Sie den folgenden Befehl überschreiben:
Option 2: Verwenden von Docker Compose
- Erstellen Sie im Projektstammverzeichnis eine
.env
Datei mit den erforderlichen Umgebungsvariablen:Copy - Starten Sie den Container mit Docker Compose:Copy
- Überprüfen Sie die Protokolle:Copy
- Stoppen Sie den Container:Copy
Installation und Einrichtung
Lokale Entwicklung (unter Verwendung des Parallelmodus)
Diese Methode wird für die aktive Entwicklung mit automatischer Neukompilierung und Serverneustarts empfohlen:
- Klonen Sie das Repository und installieren Sie die erforderlichen Pakete:Copy
- Führen Sie den Entwicklungsserver aus:Dies wird:Copy
- TypeScript-Code automatisch kompilieren, wenn sich Dateien ändern
- Starten Sie den Server neu, wenn kompilierte Dateien aktualisiert werden
- Führen Sie den Server im HTTP-Modus für URL-basierte Verbindungen aus
- Stellen Sie im URL-Modus eine Verbindung zum Cursor her, wie unten beschrieben
Installation und Einrichtung für die Produktion
Option 1: Verwenden des URL-Modus (empfohlen für die lokale Entwicklung)
Diese Methode ist die stabilste und wird für die lokale Entwicklung oder Tests empfohlen:
- Klonen Sie das Repository und installieren Sie die erforderlichen Pakete:Copy
- Erstellen Sie das Projekt:Copy
- Führen Sie den Server aus:Copy
- Stellen Sie im URL-Modus eine Verbindung zum Cursor her:
- Fügen Sie der Datei
.cursor/mcp.json
Ihres Cursors Folgendes hinzu:
Copy - Fügen Sie der Datei
Option 2: Als globalen Befehl installieren (npm-Link)
Diese Methode ist für die lokale Entwicklung nützlich:
Option 3: Verwenden von npx (wenn das Paket veröffentlicht ist)
Wenn das Paket im öffentlichen npm-Register veröffentlicht wird:
Integration mit KI-Tools
Claude Desktop
Fügen Sie Ihrer claude_desktop_config.json
Folgendes hinzu:
Ersetzen Sie YOUR_GITHUB_TOKEN
und YOUR_GITHUB_ENTERPRISE_URL
durch Ihre tatsächlichen Werte.
Cursor
Empfohlen: URL-Modus (am stabilsten)
Für den zuverlässigsten Betrieb im Cursor wird die Verwendung des URL-Modus empfohlen:
- Starten Sie den Server in einem separaten Terminalfenster:Copy
- Konfigurieren Sie die MCP-Einstellungen des Cursors:
- Öffnen Sie Cursor und gehen Sie zu Einstellungen
- Navigieren Sie zu AI > MCP-Server
- Bearbeiten Sie Ihre
.cursor/mcp.json
-Datei:
Copy - Starten Sie den Cursor neu, um die Änderungen zu übernehmen
Alternative: Befehlsmodus
Alternativ können Sie Cursor für die Verwendung des Befehlsmodus konfigurieren, obwohl der URL-Modus zuverlässiger ist:
- Öffnen Sie Cursor und gehen Sie zu Einstellungen
- Navigieren Sie zu AI > MCP-Server
- Klicken Sie auf MCP-Server hinzufügen
- Geben Sie die folgenden Details ein:
- Name : GitHub Enterprise
- Befehl :
npx
- Argumente :
@ddukbg/github-enterprise-mcp
- Umgebungsvariablen :
GITHUB_ENTERPRISE_URL
: Ihre GitHub Enterprise API-URLGITHUB_TOKEN
: Ihr persönlicher GitHub-Zugriffstoken
Alternativ können Sie Ihre .cursor/mcp.json
Datei manuell bearbeiten, um Folgendes einzuschließen:
Sprachkonfiguration
Dieser MCP-Server unterstützt sowohl Englisch als auch Koreanisch. Sie können die Sprache wie folgt konfigurieren:
Umgebungsvariablen
Befehlszeilenargumente
Die Standardsprache ist Englisch, wenn nicht anders angegeben.
Zusätzliche Optionen im HTTP-Modus
--debug
: Debug-Protokollierung aktivieren--github-enterprise-url <URL>
: URL der GitHub Enterprise API festlegen--token <TOKEN>
: Persönliches GitHub-Zugriffstoken festlegen--language <LANG>
: Sprache festlegen (en oder ko, Standard: en)
Verfügbare MCP-Tools
Dieser MCP-Server bietet die folgenden Tools:
Werkzeugname | Beschreibung | Parameter | Erforderliche PAT-Berechtigungen |
---|---|---|---|
list-repositories | Abrufen der Repository-Liste für einen Benutzer oder eine Organisation | owner : Benutzername/Organisationsname. isOrg : Ob es sich um eine Organisation handelt. type : Repository-Typ. sort : Sortierkriterien. page : Seitenzahl. perPage : Elemente pro Seite. | repo |
get-repository | Erhalten Sie detaillierte Repository-Informationen | owner : Repository-Besitzer repo : Repository-Name | repo |
list-branches | Auflisten von Zweigen eines Repositorys | owner : Repository-Eigentümer repo : Repository-Name protected_only : Ob nur geschützte Zweige angezeigt werden sollen page : Seitenzahl perPage : Elemente pro Seite | repo |
get-content | Abrufen von Datei- oder Verzeichnisinhalten | owner : Repository-Besitzer repo : Repository-Name path : Datei-/Verzeichnispfad ref : Branch/Commit (optional) | repo |
list-pull-requests | Auflisten von Pull Requests in einem Repository | owner : Repository-Besitzer repo : Repository-Name state : PR-Status Filter sort : Sortierkriterien direction : Sortierrichtung page : per_page pro Seite: Elemente pro Seite | repo |
get-pull-request | Abrufen von Pull-Request-Details | owner : Repository-Besitzer repo : Repository-Name pull_number : Pull-Request-Nummer | repo |
create-pull-request | Erstellen einer neuen Pull-Anfrage | owner : Repository-Besitzer repo : Repository-Name title : PR-Titel head : Kopfzweig base : Basiszweig body : PR-Beschreibung draft : Als PR-Entwurf erstellen | repo |
merge-pull-request | Zusammenführen einer Pull-Anfrage | owner : Repository-Eigentümer repo : Repository-Name pull_number : Pull-Request-Nummer merge_method : Merge-Methode commit_title : Commit-Titel commit_message : Commit-Nachricht | repo |
list-issues | Auflisten von Problemen in einem Repository | owner : Repository-Besitzer repo : Repository-Name state : Problemstatus Filter sort : Sortierkriterien direction : Sortierrichtung page : per_page pro Seite: Elemente pro Seite | repo |
get-issue | Abrufen von Problemdetails | owner : Repository-Besitzer repo : Repository-Name issue_number : Problemnummer | repo |
list-issue-comments | Auflisten von Kommentaren zu einem Problem oder Pull Request | owner : Repository-Eigentümer repo : Repository-Name issue_number : Ausgabe-/PR-Nummer page : Seitenzahl per_page : Elemente pro Seite | repo |
create-issue | Neues Problem erstellen | owner : Repository-Besitzer repo : Repository-Name title : Problemtitel body : Inhalt des Problemtexts labels : Array von Beschriftungsnamen assignees : Array von Benutzeranmeldungen milestone : Meilenstein-ID | repo |
create-repository | Erstellen eines neuen Repositorys | name : Repository-Name description : Repository-Beschreibung private : Ob privat auto_init : Mit README initialisieren gitignore_template : .gitignore hinzufügen license_template : Lizenz hinzufügen org : Name der Organisation | repo |
update-repository | Aktualisieren der Repository-Einstellungen | owner : Repository-Eigentümer repo : Repository-Name description : Neue Beschreibung private : Datenschutz ändern default_branch : Standardzweig ändern has_issues : Probleme aktivieren/deaktivieren has_projects : Projekte aktivieren/deaktivieren has_wiki : Wiki aktivieren/deaktivieren archived : Archivieren/Dearchivieren | repo |
delete-repository | Löschen eines Repositorys | owner : Repository-Besitzer repo : Repository-Name confirm : Bestätigung (muss wahr sein) | delete_repo |
list-workflows | GitHub Actions-Workflows auflisten | owner : Repository-Besitzer repo : Repository-Name page : Seitenzahl perPage : Elemente pro Seite | actions:read |
list-workflow-runs | Auflisten von Workflow-Ausführungen | owner : Repository-Besitzer repo : Repository-Name workflow_id -ID: Workflow-ID/Dateiname branch : Nach Zweig filtern status : Nach Status filtern page : Seitenzahl pro perPage : Elemente pro Seite | actions:read |
trigger-workflow | Auslösen eines Workflows | owner : Repository-Eigentümer repo : Repository-Name workflow_id : Workflow-ID/Dateiname ref : Git-Referenz inputs : Workflow-Eingaben | actions:write |
get-license-info | Informationen zur GitHub Enterprise-Lizenz erhalten | - | Erfordert ein Site_Admin-Konto (Administrator) |
get-enterprise-stats | Holen Sie sich GitHub Enterprise-Systemstatistiken | - | Erfordert ein Site_Admin-Konto (Administrator) |
Hinweis : Für unternehmensspezifische Tools (
get-license-info
undget-enterprise-stats
) ist ein Benutzer mit Site-Administratorrechten erforderlich. Ein klassischer persönlicher Zugriffstoken wird empfohlen, da feinkörnige Token diese Berechtigungen auf Unternehmensebene möglicherweise nicht unterstützen.
Verwenden der Werkzeuge im Cursor
Sobald Sie den MCP-Server eingerichtet und Cursor für die Verbindung konfiguriert haben, können Sie die GitHub Enterprise-Tools direkt im KI-Chat von Cursor verwenden. Hier sind einige Beispiele:
Auflisten von Repositories
Abrufen von Repository-Informationen
Auflisten von Pull Requests
Probleme verwalten
Arbeiten mit Repository-Inhalten
Repository-Verwaltung
Benutzerverwaltung (nur Enterprise)
Diese Funktionen sind speziell für GitHub Enterprise Server-Umgebungen konzipiert und erfordern Administratorberechtigungen:
API-Verbesserungen
- Flexible API-URL-Konfiguration (unterstützt verschiedene Umgebungsvariablen und Befehlszeilenargumente)
- Verbesserte Fehlerbehandlung und Timeout-Verwaltung
- Benutzerfreundliche Antwortformatierung und Nachrichten
Beitragen
Beiträge sind willkommen! Senden Sie gerne einen Pull Request.
Lizenz
ISC
You must be authenticated.
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
Ein MCP-Server, der die Integration mit der GitHub Enterprise API ermöglicht und Benutzern den Zugriff auf Repository-Informationen sowie die Verwaltung von Problemen, Pull-Anfragen, Workflows und anderen GitHub-Funktionen über Cursor ermöglicht.
Related MCP Servers
- AsecurityAlicenseAqualityMCP Server for the GitHub API, enabling file operations, repository management, search functionality, and more.Last updated -1722,91244,966JavaScriptMIT License
- AsecurityFlicenseAqualityMCP Server for the GitHub API, providing features for file operations, repository management, and advanced search, with automatic branch creation and comprehensive error handling.Last updated -1843TypeScript
- AsecurityAlicenseAqualityAn 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, etcLast updated -38PythonMIT License
- AsecurityAlicenseAqualityA MCP server that provides access to GitHub trending repositories and developers data through a simple API interface.Last updated -21PythonMIT License