GitHub Enterprise MCP Server

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
  1. Erstellen Sie das Docker-Image:
    docker build -t github-enterprise-mcp .
  2. Führen Sie den Docker-Container mit Umgebungsvariablen aus:
    docker run -p 3000:3000 \ -e GITHUB_TOKEN="your_github_token" \ -e GITHUB_ENTERPRISE_URL="https://github.your-company.com/api/v3" \ -e DEBUG=true \ github-enterprise-mcp

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:

docker run -p 3000:3000 \ -e GITHUB_TOKEN="your_github_token" \ -e GITHUB_ENTERPRISE_URL="https://github.your-company.com/api/v3" \ -e DEBUG=true \ github-enterprise-mcp node dist/index.js --transport http --debug
Option 2: Verwenden von Docker Compose
  1. Erstellen Sie im Projektstammverzeichnis eine .env Datei mit den erforderlichen Umgebungsvariablen:
    GITHUB_ENTERPRISE_URL=https://github.your-company.com/api/v3 GITHUB_TOKEN=your_github_token DEBUG=true
  2. Starten Sie den Container mit Docker Compose:
    docker-compose up -d
  3. Überprüfen Sie die Protokolle:
    docker-compose logs -f
  4. Stoppen Sie den Container:
    docker-compose down

Installation und Einrichtung

Lokale Entwicklung (unter Verwendung des Parallelmodus)

Diese Methode wird für die aktive Entwicklung mit automatischer Neukompilierung und Serverneustarts empfohlen:

  1. Klonen Sie das Repository und installieren Sie die erforderlichen Pakete:
    git clone https://github.com/ddukbg/github-enterprise-mcp.git cd github-enterprise-mcp npm install
  2. Führen Sie den Entwicklungsserver aus:
    export GITHUB_TOKEN="your_github_token" export GITHUB_ENTERPRISE_URL="https://github.your-company.com/api/v3" npm run dev
    Dies wird:
    • 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
  3. 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:

  1. Klonen Sie das Repository und installieren Sie die erforderlichen Pakete:
    git clone https://github.com/ddukbg/github-enterprise-mcp.git cd github-enterprise-mcp npm install
  2. Erstellen Sie das Projekt:
    npm run build chmod +x dist/index.js
  3. Führen Sie den Server aus:
    export GITHUB_TOKEN="your_github_token" export GITHUB_ENTERPRISE_URL="https://github.your-company.com/api/v3" node dist/index.js --transport http --debug
  4. Stellen Sie im URL-Modus eine Verbindung zum Cursor her:
    • Fügen Sie der Datei .cursor/mcp.json Ihres Cursors Folgendes hinzu:
    { "mcpServers": { "github-enterprise": { "url": "http://localhost:3000/sse" } } }

Diese Methode ist für die lokale Entwicklung nützlich:

# After cloning the repository git clone https://github.com/ddukbg/github-enterprise-mcp.git cd github-enterprise-mcp # Install required packages npm install # Build npm run build chmod +x dist/index.js # Link globally npm link # Run as a global command export GITHUB_TOKEN="your_github_token" export GITHUB_ENTERPRISE_URL="https://github.your-company.com/api/v3" github-enterprise-mcp --transport=http --debug
Option 3: Verwenden von npx (wenn das Paket veröffentlicht ist)

Wenn das Paket im öffentlichen npm-Register veröffentlicht wird:

npx @ddukbg/github-enterprise-mcp --token=your_github_token --github-enterprise-url=https://github.your-company.com/api/v3

Integration mit KI-Tools

Claude Desktop

Fügen Sie Ihrer claude_desktop_config.json Folgendes hinzu:

{ "mcpServers": { "github-enterprise": { "command": "npx", "args": ["-y", "@ddukbg/github-enterprise-mcp", "--token=YOUR_GITHUB_TOKEN", "--github-enterprise-url=YOUR_GITHUB_ENTERPRISE_URL"] } } }

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:

  1. Starten Sie den Server in einem separaten Terminalfenster:
    cd /path/to/github-enterprise-mcp GITHUB_ENTERPRISE_URL="https://github.your-company.com/api/v3" GITHUB_TOKEN="your_github_token" node dist/index.js --transport http
  2. 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:
    { "mcpServers": { "github-enterprise": { "url": "http://localhost:3000/sse" } } }
  3. 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:

  1. Öffnen Sie Cursor und gehen Sie zu Einstellungen
  2. Navigieren Sie zu AI > MCP-Server
  3. Klicken Sie auf MCP-Server hinzufügen
  4. Geben Sie die folgenden Details ein:
    • Name : GitHub Enterprise
    • Befehl : npx
    • Argumente : @ddukbg/github-enterprise-mcp
    • Umgebungsvariablen :
      • GITHUB_ENTERPRISE_URL : Ihre GitHub Enterprise API-URL
      • GITHUB_TOKEN : Ihr persönlicher GitHub-Zugriffstoken

Alternativ können Sie Ihre .cursor/mcp.json Datei manuell bearbeiten, um Folgendes einzuschließen:

{ "mcpServers": { "github-enterprise": { "command": "npx", "args": [ "@ddukbg/github-enterprise-mcp" ], "env": { "GITHUB_ENTERPRISE_URL": "https://github.your-company.com/api/v3", "GITHUB_TOKEN": "your_github_token" } } } }

Sprachkonfiguration

Dieser MCP-Server unterstützt sowohl Englisch als auch Koreanisch. Sie können die Sprache wie folgt konfigurieren:

Umgebungsvariablen

# Set language to Korean export LANGUAGE=ko # Or in .env file LANGUAGE=ko

Befehlszeilenargumente

# Set language to Korean node dist/index.js --language ko

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:

WerkzeugnameBeschreibungParameterErforderliche PAT-Berechtigungen
list-repositoriesAbrufen der Repository-Liste für einen Benutzer oder eine Organisationowner : Benutzername/Organisationsname. isOrg : Ob es sich um eine Organisation handelt. type : Repository-Typ. sort : Sortierkriterien. page : Seitenzahl. perPage : Elemente pro Seite.repo
get-repositoryErhalten Sie detaillierte Repository-Informationenowner : Repository-Besitzer repo : Repository-Namerepo
list-branchesAuflisten von Zweigen eines Repositorysowner : Repository-Eigentümer repo : Repository-Name protected_only : Ob nur geschützte Zweige angezeigt werden sollen page : Seitenzahl perPage : Elemente pro Seiterepo
get-contentAbrufen von Datei- oder Verzeichnisinhaltenowner : Repository-Besitzer repo : Repository-Name path : Datei-/Verzeichnispfad ref : Branch/Commit (optional)repo
list-pull-requestsAuflisten von Pull Requests in einem Repositoryowner : Repository-Besitzer repo : Repository-Name state : PR-Status Filter sort : Sortierkriterien direction : Sortierrichtung page : per_page pro Seite: Elemente pro Seiterepo
get-pull-requestAbrufen von Pull-Request-Detailsowner : Repository-Besitzer repo : Repository-Name pull_number : Pull-Request-Nummerrepo
create-pull-requestErstellen einer neuen Pull-Anfrageowner : Repository-Besitzer repo : Repository-Name title : PR-Titel head : Kopfzweig base : Basiszweig body : PR-Beschreibung draft : Als PR-Entwurf erstellenrepo
merge-pull-requestZusammenführen einer Pull-Anfrageowner : Repository-Eigentümer repo : Repository-Name pull_number : Pull-Request-Nummer merge_method : Merge-Methode commit_title : Commit-Titel commit_message : Commit-Nachrichtrepo
list-issuesAuflisten von Problemen in einem Repositoryowner : Repository-Besitzer repo : Repository-Name state : Problemstatus Filter sort : Sortierkriterien direction : Sortierrichtung page : per_page pro Seite: Elemente pro Seiterepo
get-issueAbrufen von Problemdetailsowner : Repository-Besitzer repo : Repository-Name issue_number : Problemnummerrepo
list-issue-commentsAuflisten von Kommentaren zu einem Problem oder Pull Requestowner : Repository-Eigentümer repo : Repository-Name issue_number : Ausgabe-/PR-Nummer page : Seitenzahl per_page : Elemente pro Seiterepo
create-issueNeues Problem erstellenowner : Repository-Besitzer repo : Repository-Name title : Problemtitel body : Inhalt des Problemtexts labels : Array von Beschriftungsnamen assignees : Array von Benutzeranmeldungen milestone : Meilenstein-IDrepo
create-repositoryErstellen eines neuen Repositorysname : 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 Organisationrepo
update-repositoryAktualisieren der Repository-Einstellungenowner : 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/Dearchivierenrepo
delete-repositoryLöschen eines Repositorysowner : Repository-Besitzer repo : Repository-Name confirm : Bestätigung (muss wahr sein)delete_repo
list-workflowsGitHub Actions-Workflows auflistenowner : Repository-Besitzer repo : Repository-Name page : Seitenzahl perPage : Elemente pro Seiteactions:read
list-workflow-runsAuflisten von Workflow-Ausführungenowner : 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 Seiteactions:read
trigger-workflowAuslösen eines Workflowsowner : Repository-Eigentümer repo : Repository-Name workflow_id : Workflow-ID/Dateiname ref : Git-Referenz inputs : Workflow-Eingabenactions:write
get-license-infoInformationen zur GitHub Enterprise-Lizenz erhalten-Erfordert ein Site_Admin-Konto (Administrator)
get-enterprise-statsHolen Sie sich GitHub Enterprise-Systemstatistiken-Erfordert ein Site_Admin-Konto (Administrator)

Hinweis : Für unternehmensspezifische Tools ( get-license-info und get-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

mcp_github_enterprise_list_repositories(owner="octocat")

Abrufen von Repository-Informationen

mcp_github_enterprise_get_repository(owner="octocat", repo="hello-world")

Auflisten von Pull Requests

mcp_github_enterprise_list_pull_requests(owner="octocat", repo="hello-world", state="open")

Probleme verwalten

# List issues mcp_github_enterprise_list_issues(owner="octocat", repo="hello-world", state="all") # Get issue details mcp_github_enterprise_get_issue(owner="octocat", repo="hello-world", issue_number=1) # Get issue/PR comments mcp_github_enterprise_list_issue_comments(owner="octocat", repo="hello-world", issue_number=1) # Create a new issue mcp_github_enterprise_create_issue( owner="octocat", repo="hello-world", title="Found a bug", body="Here is a description of the bug", labels=["bug", "important"] )

Arbeiten mit Repository-Inhalten

mcp_github_enterprise_get_content(owner="octocat", repo="hello-world", path="README.md")

Repository-Verwaltung

# Create a new repository mcp_github_enterprise_create_repository( name="new-project", description="This is a new project", private=true, auto_init=true ) # Update repository settings mcp_github_enterprise_update_repository( owner="octocat", repo="hello-world", description="Updated description", has_issues=true )

Benutzerverwaltung (nur Enterprise)

Diese Funktionen sind speziell für GitHub Enterprise Server-Umgebungen konzipiert und erfordern Administratorberechtigungen:

# List all users in the GitHub Enterprise instance mcp_github_enterprise_list_users(filter="active", per_page=100) # Get a specific user's details mcp_github_enterprise_get_user(username="octocat") # Create a new user (Enterprise only) mcp_github_enterprise_create_user( login="newuser", email="newuser@example.com", name="New User", company="ACME Inc." ) # Update a user's information (Enterprise only) mcp_github_enterprise_update_user( username="octocat", email="updated-email@example.com", location="San Francisco" ) # Suspend a user (Enterprise only) mcp_github_enterprise_suspend_user( username="octocat", reason="Violation of terms of service" ) # Unsuspend a user (Enterprise only) mcp_github_enterprise_unsuspend_user(username="octocat") # List organizations a user belongs to mcp_github_enterprise_list_user_orgs(username="octocat")

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.

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.

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.

  1. Kompatibilität
    1. Hauptmerkmale
      1. Erste Schritte
        1. Voraussetzungen
        2. Docker-Installation und -Einrichtung
        3. Installation und Einrichtung
        4. Installation und Einrichtung für die Produktion
      2. Integration mit KI-Tools
        1. Claude Desktop
        2. Cursor
      3. Sprachkonfiguration
        1. Umgebungsvariablen
        2. Befehlszeilenargumente
      4. Zusätzliche Optionen im HTTP-Modus
        1. Verfügbare MCP-Tools
          1. Verwenden der Werkzeuge im Cursor
            1. Auflisten von Repositories
            2. Abrufen von Repository-Informationen
            3. Auflisten von Pull Requests
            4. Probleme verwalten
            5. Arbeiten mit Repository-Inhalten
            6. Repository-Verwaltung
            7. Benutzerverwaltung (nur Enterprise)
          2. API-Verbesserungen
            1. Beitragen
              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,966
                  JavaScript
                  MIT License
                • A
                  security
                  F
                  license
                  A
                  quality
                  MCP 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 -
                  18
                  4
                  3
                  TypeScript
                  • Linux
                  • Apple
                • 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
                  A
                  license
                  A
                  quality
                  A MCP server that provides access to GitHub trending repositories and developers data through a simple API interface.
                  Last updated -
                  2
                  1
                  Python
                  MIT License
                  • Apple

                View all related MCP servers

                ID: 27uwbz7hqw