Skip to main content
Glama

GitHub Enterprise MCP Server

GitHub Enterprise MCP Server

Bild

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

Install Server
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
                  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
                  1
                  4
                  TypeScript
                  • Linux
                  • Apple
                • A
                  security
                  F
                  license
                  A
                  quality
                  An MCP server that allows Claude and other MCP-compatible LLMs to interact with the GitHub API, supporting features like creating issues, getting repository information, listing issues, and searching repositories.
                  Last updated -
                  4
                  TypeScript
                • 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
                  13
                  Python
                  MIT License
                  • Apple
                • -
                  security
                  A
                  license
                  -
                  quality
                  An MCP server that wraps around the GitHub CLI tool, allowing AI assistants to interact with GitHub repositories through commands for pull requests, issues, and repository operations.
                  Last updated -
                  5
                  TypeScript
                  MIT License
                  • Linux
                  • Apple

                View all related MCP servers

                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/ddukbg/github-enterprise-mcp'

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