GitHub MCP Server ist der von GitHub offiziell gepflegte Model Context Protocol-Server. Er ermöglicht AI-Hosts wie Cursor, Claude Desktop und VS Code Copilot den standardisierten Zugriff auf die GitHub REST- und GraphQL-APIs – Repositories abfragen, Issues lesen, PRs eröffnen, Code durchsuchen, ohne gh-Ausgaben immer wieder in den Chat zu kopieren.
Dieser Artikel folgt der Reihenfolge „zuerst auswählen, dann die Umgebung einrichten, zuletzt in die IDE integrieren“ und deckt Installationspfade für Windows, Linux und macOS ab – inklusive kopierfertiger Konfigurationsausschnitte und einer Fehlerbehebungs-Checkliste.
Seit April 2025 ist das frühere Community-npm-Paket
@modelcontextprotocol/server-githubveraltet; das einzige offiziell unterstützte lokale Image istghcr.io/github/github-mcp-server, der remote gehostete Endpunkt lautethttps://api.githubcopilot.com/mcp/.
Welche Bereitstellungsart passt?
Bevor Sie Software installieren, orientieren Sie sich an der folgenden Tabelle, welchen Weg Sie gehen möchten:
| Methode | Lokaler Prozess nötig? | Geeignet für | Plattformanforderungen |
|---|---|---|---|
| Remote gehostet | Nein (HTTP direkt) | Kein Docker lokal, Netzwerkzugriff auf GitHub | Beliebig (Host muss Streamable HTTP unterstützen) |
| Docker lokal | Ja (Container stdio) | Für die meisten Nutzer die erste Wahl – konsistente Versionen, einfache Updates | Win / Linux / macOS benötigen Docker |
| Go aus Quellcode | Ja (native Binärdatei) | Ohne Docker, angepasstes Toolset oder Unternehmens-Intranet | Auf allen drei Plattformen per go build |
Die Authentifizierung ist bei allen drei Methoden gleich: Entweder ein Personal Access Token (PAT) konfigurieren oder im lokalen Docker-/Binärmodus OAuth per Browser nutzen (Token nur im Arbeitsspeicher, nicht auf der Festplatte).
Allgemeine Vorbereitung
Unabhängig vom gewählten Pfad empfiehlt sich diese Vier-Schritte-Vorbereitung:
-
GitHub-PAT anlegen
Öffnen Sie die Seite zur Erstellung eines Fine-grained PAT und aktivieren Sie die Berechtigungen passend zu Ihren Tools. Zum reinen Lesen von Repositories reichen meistContents: ReadundMetadata: Read; für PRs oder Issues schreiben Sie zusätzliche Schreibrechte frei. -
Host-Version prüfen
- Cursor: Remote Streamable HTTP erst ab v0.48.0
- Claude Desktop / VS Code: jeweilige MCP-Dokumentation beachten -
(Lokales Docker) Docker installieren und starten
- Windows / macOS: Docker Desktop
- Linux: Docker Engine + aktuellen Benutzer zur Gruppedockerhinzufügen -
Image vorab ziehen (optional, empfohlen)
docker pull ghcr.io/github/github-mcp-server
Bei unauthorized beim Pull: docker logout ghcr.io ausführen und erneut versuchen – manchmal stört ein abgelaufener ghcr-Login.
Methode 1: Remote gehostet (am wenigsten Aufwand)
GitHub stellt unter https://api.githubcopilot.com/mcp/ einen gehosteten MCP-Endpunkt bereit – ohne Docker auf dem Rechner. Geeignet für Linux-Server, schlanke Windows-Umgebungen oder wenn Unternehmensrichtlinien Container verbieten.
Cursor-Konfigurationsbeispiel
Globale Konfiguration bearbeiten: ~/.cursor/mcp.json (unter Windows: %USERPROFILE%\.cursor\mcp.json):
{
"mcpServers": {
"github": {
"url": "https://api.githubcopilot.com/mcp/",
"headers": {
"Authorization": "Bearer YOUR_GITHUB_PAT"
}
}
}
}
YOUR_GITHUB_PAT durch das echte Token ersetzen, speichern und Cursor vollständig neu starten. Unter Settings → Tools & Integrations → MCP Tools sollte ein grüner Online-Indikator erscheinen; in Composer reicht zur Prüfung die Frage „Liste meine GitHub-Repositories“.
Hinweise
- Im Remote-Modus dominiert derzeit PAT-Authentifizierung; OAuth-Unterstützung ist bei einigen Hosts noch in Arbeit.
- Firmenproxy / Firewall müssen HTTPS-Ausgang zu
api.githubcopilot.comerlauben. - PAT nicht ins Repository schreiben; bei projektweiser
.cursor/mcp.jsonin.gitignoreaufnehmen.
Methode 2: Docker lokal (offiziell empfohlen)
Die Docker-Variante kommuniziert per stdio mit dem Host: Der Host startet docker run -i ..., der Containerprozess liest und schreibt über Standard-Ein-/Ausgabe. Das ist auch der Standardbefehl hinter Ein-Klick-Installation in Claude Desktop, Windsurf und Cursor.
Installation unter macOS
- Docker Desktop for Mac installieren (Apple Silicon: ARM64-Version).
- Im Menüleisten-Walsymbol Running anzeigen.
- Im Terminal prüfen:
docker run --rm ghcr.io/github/github-mcp-server --help
- In
~/.cursor/mcp.jsoneintragen:
{
"mcpServers": {
"github": {
"command": "docker",
"args": [
"run", "-i", "--rm",
"-e", "GITHUB_PERSONAL_ACCESS_TOKEN",
"ghcr.io/github/github-mcp-server"
],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "YOUR_GITHUB_PAT"
}
}
}
}
Installation unter Linux
- Je nach Distribution Docker Engine installieren (Ubuntu-Beispiel:
sudo apt install docker.io). - Benutzer zur docker-Gruppe hinzufügen, um
sudozu vermeiden:
sudo usermod -aG docker "$USER"
newgrp docker
- Docker-Daemon starten:
sudo systemctl enable --now docker. - MCP-Konfiguration identisch mit macOS – Pfad weiterhin
~/.cursor/mcp.json.
Auf einem Linux-Server ohne grafische Oberfläche können Sie statt PAT im Klartext in der Konfiguration eine Umgebungsvariable setzen:
export GITHUB_PERSONAL_ACCESS_TOKEN="ghp_xxxx"
Im env-Block von mcp.json dieselbe Variable referenzieren (manche Hosts unterstützen ${env:GITHUB_PERSONAL_ACCESS_TOKEN} – Host-Dokumentation beachten).
Installation unter Windows
- Docker Desktop for Windows installieren.
- WSL-2-Backend empfohlen (Settings → General → Use WSL 2 based engine). - Prüfen, dass das Docker-Desktop-Symbol in der Taskleiste läuft.
- Konfigurationspfad:
%USERPROFILE%\.cursor\mcp.json. - JSON-Inhalt wie unter macOS;
commandbleibtdocker(Docker Desktop fügt die CLI dem PATH hinzu).
Typische Windows-Falle: In WSL läuft docker, aber Cursor unter Windows liest die Windows-seitige mcp.json – Konfigurationen nicht vermischen. Läuft Cursor unter Windows und das Projekt in WSL, MCP bevorzugt im Windows-Benutzerverzeichnis konfigurieren.
OAuth-Anmeldung (ohne PAT von Hand)
Das offizielle Image enthält OAuth-App-Anmeldedaten. Im Docker-Modus den Callback-Port auf die lokale Loopback-Adresse mappen:
{
"mcpServers": {
"github": {
"command": "docker",
"args": [
"run", "-i", "--rm",
"-p", "127.0.0.1:8085:8085",
"-e", "GITHUB_OAUTH_CALLBACK_PORT",
"ghcr.io/github/github-mcp-server"
],
"env": {
"GITHUB_OAUTH_CALLBACK_PORT": "8085"
}
}
}
}
Beim ersten Verbindungsaufbau öffnet sich der Browser zur GitHub-Anmeldung; das Token liegt im Speicher und verfällt beim Containerende. Für Headless-Server siehe den Device-Code-Fallback in der offiziellen Dokumentation.
Methode 3: Go aus Quellcode (ohne Docker)
Geeignet ohne Docker oder wenn das Toolset eingeschränkt werden soll (nur Teil der API-Funktionen).
Gemeinsame Schritte auf allen Plattformen
Voraussetzung: Go 1.24+ installieren.
git clone https://github.com/github/github-mcp-server.git
cd github-mcp-server
go build -o github-mcp-server cmd/github-mcp-server/main.go
Der Name der Binärdatei ist frei wählbar; im Folgenden ./github-mcp-server.
Start mit PAT (stdio-Modus):
export GITHUB_PERSONAL_ACCESS_TOKEN="ghp_xxxx"
./github-mcp-server stdio
Cursor mit lokaler Binärdatei:
{
"mcpServers": {
"github": {
"command": "/绝对路径/github-mcp-server",
"args": ["stdio"],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "YOUR_GITHUB_PAT"
}
}
}
}
| Plattform | Beispielpfad zur Binärdatei | Hinweis |
|---|---|---|
| macOS | /Users/you/bin/github-mcp-server |
Nach chmod +x z. B. in ~/bin ablegen |
| Linux | /home/you/.local/bin/github-mcp-server |
Lang laufenden Prozess per systemd-User-Service möglich |
| Windows | C:\\Tools\\github-mcp-server.exe |
Backslashes in JSON als \\ schreiben |
Zum Aktualisieren erneut git pull && go build – kein Warten auf ein neues Docker-Image.
Andere IDEs und CLI anbinden
Die Konfigurationsschlüssel variieren je nach Host, der Docker-Befehlskern bleibt gleich:
docker run -i --rm \
-e GITHUB_PERSONAL_ACCESS_TOKEN \
ghcr.io/github/github-mcp-server
- Claude Desktop: Block
mcpServersinclaude_desktop_config.json, Struktur wie bei Cursor. - VS Code Copilot: Remote und lokal; lokal ebenfalls Docker-Image empfohlen.
- Claude Code CLI: eher schlanke Binärdatei, weniger Container-Overhead.
Vollständige Beispiele je Host im Verzeichnis docs/installation-guides/ des offiziellen Repositories.
Sicherheit und Betrieb
- PAT mit Minimalrechten: Berechtigungen passend zum Toolset, regelmäßig rotieren.
- Konfigurationsdateirechte:
chmod 600 ~/.cursor/mcp.json(Linux / macOS). - Nur-Lesen-Modus: Startparameter können read-only aktivieren, damit die KI das Repo nicht versehentlich ändert.
- GitHub Enterprise Server: Eigene OAuth App / GitHub App nötig, Standard-OAuth von github.com nicht nutzbar – siehe offizielles
docs/oauth-login.md.
Plattformunterschiede im Detail
Pfade und Umgebungsvariablen
~/.cursor/mcp.json- Globale MCP-Konfiguration unter macOS und Linux; unter Windows entspricht das
%USERPROFILE%\.cursor\mcp.json. GITHUB_PERSONAL_ACCESS_TOKEN- Name der PAT-Umgebungsvariable im Docker- bzw. Binärmodus; hat Vorrang vor dem OAuth-Flow.
GITHUB_OAUTH_CALLBACK_PORT- Port für den OAuth-Browser-Callback; in Docker-Szenarien meist fest 8085.
Tastenkürzel und Gewohnheiten
In Cursor Composer öffnet Cmd+Shift+P (Windows: Ctrl+Shift+P) die Befehlspalette für MCP-Einstellungen. Früher nutzten manche npx @modelcontextprotocol/server-github in einer Zeile – diese Methode ist veraltet; stattdessen Docker oder den Remote-Endpunkt aus diesem Artikel verwenden.
In Produktion PAT in Umgebungsvariablen oder einem Secrets-Manager ablegen, nicht in git-getrackten Projektdateien.
Prüfliste (vor dem Rollout)
- Grüner Punkt im MCP-Panel
- Toolliste mit Einträgen zum Präfix
github_* - Schreibgeschützte Aktion (z. B. Repos auflisten) erfolgreich
Hinweis zu Logdateien
Cursor-Logs: Help → Toggle Developer Tools → Console, nach MCP filtern; Claude Desktop je nach Plattform unterschiedlich – vollständige Liste im offiziellen Troubleshooting-Abschnitt.
Fehlerbehebung auf einen Blick
| Symptom | Mögliche Ursache | Maßnahme |
|---|---|---|
| MCP roter Punkt / leere Toolliste | JSON-Syntaxfehler oder Host nicht neu gestartet | JSON prüfen, Cursor vollständig beenden und neu öffnen |
docker: command not found |
Docker nicht installiert oder nicht im PATH | Docker Desktop / Engine neu installieren |
pull access denied |
Abgelaufener ghcr-Login | docker logout ghcr.io, dann erneut pullen |
| 401 / 403 | PAT unzureichend oder abgelaufen | Neuen PAT ausstellen und Konfiguration aktualisieren |
| OAuth-Callback schlägt fehl | Port 8085 nicht gemappt | -p 127.0.0.1:8085:8085 prüfen |
| Remote HTTP nicht erreichbar | Proxy blockiert | Systemproxy setzen oder lokales Docker nutzen |
Schnelltest lokal: Docker-Befehl im Terminal manuell ausführen und stderr auf sofortige Fehler prüfen; mit dem MCP-Startbefehl in den IDE-Logs abgleichen.
Kurzfassung
- Schnellster Einstieg: Remote
https://api.githubcopilot.com/mcp/+ PAT, Cursor v0.48+ miturlkonfigurieren. - Stabil und reproduzierbar: Auf allen Plattformen einheitlich
docker run -i --rm ... ghcr.io/github/github-mcp-server. - Maximal schlank oder anpassbar:
go buildzur Binärdatei, Anbindung perstdio.
Nach dem Setup spart MCP Zeit, wenn Sie GitHub in natürlicher Sprache steuern – z. B. „Fasse die letzten 5 offenen Issues im kvmkit-Repo zusammen“. Wer parallel CI/CD-Pipelines oder 24/7 Cloud-Mac-Build-Knoten aufbaut, kann MCP-gestützte Entwicklung und automatisierte Releases in einer Toolchain planen.
FAQ
Muss ich Docker für den GitHub MCP Server verwenden?
Nein. Docker wird wegen Konsistenz und einfacher Updates empfohlen, aber Sie können auch den gehosteten Endpunkt https://api.githubcopilot.com/mcp/ nutzen oder die Go-Binary lokal bauen und per stdio ausführen.
Kann ich noch das npm-Paket @modelcontextprotocol/server-github verwenden?
Nein. Das Paket wird seit April 2025 nicht mehr gepflegt. Verwenden Sie das offizielle Docker-Image ghcr.io/github/github-mcp-server oder bauen Sie aus dem Repository github/github-mcp-server.
Was passiert unter Windows, wenn Docker Desktop nicht läuft?
Hosts wie Cursor zeigen im MCP-Panel einen roten Punkt oder Verbindungsfehler. Starten Sie Docker Desktop und prüfen Sie mit docker pull ghcr.io/github/github-mcp-server, ob das Image gezogen werden kann.
Welche Berechtigungen braucht ein Personal Access Token?
Das hängt von den aktivierten Toolsets ab. Nur-Lesen für Repos erfordert typischerweise Contents- und Metadata-Lesezugriff; Issues, PRs oder Push benötigen zusätzliche Schreibrechte. Erstellen Sie ein Fine-grained PAT mit minimalen Rechten.
CI/CD auf M4 Mac mini — am unkompliziertesten
Xcode, Fastlane, CocoaPods, and SPM are first-class on macOS. Mac mini M4 unified memory keeps signing and archiving smooth; ~4W standby power suits 24/7 build nodes.