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.
Related MCP server: GitHub MCP Server Plus
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:
docker build -t github-enterprise-mcp .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 httpkonfiguriert. 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 --debugOption 2: Verwenden von Docker Compose
Erstellen Sie im Projektstammverzeichnis eine
.envDatei mit den erforderlichen Umgebungsvariablen:GITHUB_ENTERPRISE_URL=https://github.your-company.com/api/v3 GITHUB_TOKEN=your_github_token DEBUG=trueStarten Sie den Container mit Docker Compose:
docker-compose up -dÜberprüfen Sie die Protokolle:
docker-compose logs -fStoppen 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:
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 installFühren Sie den Entwicklungsserver aus:
export GITHUB_TOKEN="your_github_token" export GITHUB_ENTERPRISE_URL="https://github.your-company.com/api/v3" npm run devDies 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
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:
git clone https://github.com/ddukbg/github-enterprise-mcp.git cd github-enterprise-mcp npm installErstellen Sie das Projekt:
npm run build chmod +x dist/index.jsFü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 --debugStellen Sie im URL-Modus eine Verbindung zum Cursor her:
Fügen Sie der Datei
.cursor/mcp.jsonIhres Cursors Folgendes hinzu:
{ "mcpServers": { "github-enterprise": { "url": "http://localhost:3000/sse" } } }
Option 2: Als globalen Befehl installieren (npm-Link)
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 --debugOption 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/v3Integration 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:
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 httpKonfigurieren 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" } } }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 :
npxArgumente :
@ddukbg/github-enterprise-mcpUmgebungsvariablen :
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:
{
"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=koBefehlszeilenargumente
# Set language to Korean
node dist/index.js --language koDie 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 |
| Abrufen der Repository-Liste für einen Benutzer oder eine Organisation |
|
|
| Erhalten Sie detaillierte Repository-Informationen |
|
|
| Auflisten von Zweigen eines Repositorys |
|
|
| Abrufen von Datei- oder Verzeichnisinhalten |
|
|
| Auflisten von Pull Requests in einem Repository |
|
|
| Abrufen von Pull-Request-Details |
|
|
| Erstellen einer neuen Pull-Anfrage |
|
|
| Zusammenführen einer Pull-Anfrage |
|
|
| Auflisten von Problemen in einem Repository |
|
|
| Abrufen von Problemdetails |
|
|
| Auflisten von Kommentaren zu einem Problem oder Pull Request |
|
|
| Neues Problem erstellen |
|
|
| Erstellen eines neuen Repositorys |
|
|
| Aktualisieren der Repository-Einstellungen |
|
|
| Löschen eines Repositorys |
|
|
| GitHub Actions-Workflows auflisten |
|
|
| Auflisten von Workflow-Ausführungen |
|
|
| Auslösen eines Workflows |
|
|
| Informationen zur GitHub Enterprise-Lizenz erhalten | - | Erfordert ein Site_Admin-Konto (Administrator) |
| Holen Sie sich GitHub Enterprise-Systemstatistiken | - | Erfordert ein Site_Admin-Konto (Administrator) |
Hinweis : Für unternehmensspezifische Tools (
get-license-infoundget-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