git-mcp-server
Git MCP Server
Ein MCP-Server (Model Context Protocol), der Tools für die Interaktion mit Git-Repositories bereitstellt. Ermöglicht LLMs und KI-Agenten die Durchführung von Git-Operationen wie Klonen, Commit, Push, Pull, Branch, Diff, Log, Status und mehr über den MCP-Standard.
Dieser Server basiert auf der cyanheads/mcp-ts-template und folgt einer modularen Architektur:
Hinweis für Entwickler : Dieses Repository enthält eine .clinerules- Datei, die als Spickzettel für Entwickler für Ihren LLM-Codierungsagenten mit einer Kurzreferenz für die Codebasismuster, Dateispeicherorte und Codeausschnitte dient.
Inhaltsverzeichnis
| Übersicht | Funktionen | Installation |
| Konfiguration | Projektstruktur |
| Tools | Ressourcen | Entwicklung | Lizenz |
Related MCP server: GIT MCP Server
Überblick
Stärken Sie Ihre KI-Agenten und Entwicklungstools mit nahtloser Git-Integration!
Der Git-MCP-Server fungiert als Brücke und ermöglicht Anwendungen (MCP-Clients), die das Model Context Protocol (MCP) verstehen – wie erweiterte KI-Assistenten (LLMs), IDE-Erweiterungen oder benutzerdefinierte Skripte –, direkt und sicher mit lokalen Git-Repositorys zu interagieren.
Anstelle komplexer Skripts oder manueller CLI können Ihre Tools diesen Server für Folgendes nutzen:
Automatisieren Sie Git-Workflows : Klonen Sie Repositories, erstellen Sie Zweige, stellen Sie Änderungen bereit, committen Sie Arbeit, pushen Sie Updates und verwalten Sie Tags programmgesteuert.
Erhalten Sie Einblicke in das Repository : Überprüfen Sie den Status, zeigen Sie Protokolle und Diff-Änderungen an und untersuchen Sie Git-Objekte, ohne die Hostanwendung zu verlassen.
Integrieren Sie Git in die KI-gesteuerte Entwicklung : Ermöglichen Sie LLMs die Verwaltung der Versionskontrolle als Teil ihrer Codierungs- oder Refactoring-Aufgaben.
Dieser Server basiert auf dem robusten mcp-ts-template und bietet eine standardisierte, sichere und effiziente Möglichkeit, Git-Funktionen über den MCP-Standard bereitzustellen. Dies wird durch die sichere Ausführung des auf dem System installierten Standard- git Kommandozeilentools mithilfe des child_process Moduls von Node.js erreicht. Dies gewährleistet Kompatibilität und nutzt die volle Leistungsfähigkeit von Git.
Merkmale
Kerndienstprogramme (aus Vorlage)
Nutzt die robusten Dienstprogramme der mcp-ts-template :
Protokollierung : Strukturierte, konfigurierbare Protokollierung (Dateirotation, Konsole, MCP-Benachrichtigungen) mit Schwärzung sensibler Daten.
Fehlerbehandlung : Zentralisierte Fehlerverarbeitung, standardisierte Fehlertypen (
McpError) und automatische Protokollierung.Konfiguration : Laden von Umgebungsvariablen (
dotenv).Eingabevalidierung/-bereinigung : Verwendet
zodzur Schemavalidierung und benutzerdefinierten Bereinigungslogik (entscheidend für Pfade).Anforderungskontext : Verfolgung und Korrelation von Vorgängen über eindeutige Anforderungs-IDs.
Typsicherheit : Starke Typisierung wird durch TypeScript- und Zod-Schemas erzwungen.
HTTP-Transportoption : Integrierter Express-Server mit SSE, Sitzungsverwaltung und CORS-Unterstützung.
Git-Operationen
Direkte Git-CLI-Ausführung : Interagiert mit Git durch sichere Ausführung des Standard
git-Befehlszeilentools über Node.jschild_processund gewährleistet so vollständige Kompatibilität und Zugriff auf die Funktionen von Git.Umfassende Befehlsabdeckung : Stellt eine große Bandbreite an Git-Befehlen als MCP-Tools bereit (siehe Abschnitt „Tools “).
Repository-Interaktion : Unterstützt Statusprüfung, Verzweigung, Staging, Commit, Abrufen, Pullen, Pushen, Diffing, Protokollieren, Zurücksetzen, Taggen und mehr.
Arbeitsverzeichnisverwaltung : Ermöglicht das Festlegen und Löschen eines sitzungsspezifischen Arbeitsverzeichnisses für die Kontextpersistenz über mehrere Git-Vorgänge hinweg.
Sicherheitsfunktionen : Beinhaltet Prüfungen und erfordert eine ausdrückliche Bestätigung für potenziell zerstörerische Vorgänge wie
git cleanundgit reset --hard.Commit-Signierung : Unterstützt GPG- oder SSH-Signierung für verifizierte Commits, gesteuert über die Umgebungsvariable
GIT_SIGN_COMMITSund die serverseitige Git-Konfiguration. Enthält einen optionalen Tool-Parameter, um bei fehlgeschlagener Signierung auf nicht signierte Commits zurückzugreifen.
Installation
Voraussetzungen
Installation über npm
Installieren Sie das Paket global:
npm install @cyanheads/git-mcp-server
Von der Quelle installieren
Klonen Sie das Repository:
git clone https://github.com/cyanheads/git-mcp-server.git cd git-mcp-serverInstallieren Sie Abhängigkeiten:
npm installErstellen Sie das Projekt:
npm run build (or `npm run rebuild`)Dadurch wird der TypeScript-Code im Verzeichnis
dist/in JavaScript kompiliert und der Einstiegspunkt ausführbar gemacht.
Konfiguration
Umgebungsvariablen
Konfigurieren Sie den Server mithilfe von Umgebungsvariablen. Erstellen Sie eine .env Datei im Projektstamm (Kopie aus .env.example ) oder legen Sie sie in Ihrer Umgebung fest.
Variable | Beschreibung | Standard |
| Transportmechanismus: |
|
| Port für den HTTP-Server (wenn |
|
| Hostadresse für den HTTP-Server (wenn |
|
| Durch Kommas getrennte Liste zulässiger Ursprünge für CORS (wenn | (keiner) |
| Protokollierungsebene ( |
|
| Auf |
|
| Geheimer Schlüssel zum Signieren/Verifizieren von Authentifizierungstoken (erforderlich, wenn die Authentifizierung in Zukunft aktiviert wird). |
|
MCP-Client-Einstellungen
Fügen Sie zu Ihren MCP-Clienteinstellungen hinzu (z. B. cline_mcp_settings.json ):
{
"mcpServers": {
"git-mcp-server": {
// Use a descriptive name
"command": "node", // Use node to run the script
"args": ["/path/to/your/git-mcp-server/dist/index.js"], // Absolute path to the built entry point
"env": {
// "MCP_TRANSPORT_TYPE": "http", // Optional: if using http
// "MCP_HTTP_PORT": "3010", // Optional: if using http and non-default port
// "GIT_SIGN_COMMITS": "true" // Optional: Enable commit signing attempts if server is configured
},
"disabled": false,
"autoApprove": [] // Configure auto-approval rules if desired
}
}
}Projektstruktur
Die Codebasis folgt einer modularen Struktur innerhalb des src/ -Verzeichnisses:
src/
├── index.ts # Entry point: Initializes and starts the server
├── config/ # Configuration loading (env vars, package info)
│ └── index.ts
├── mcp-server/ # Core MCP server logic and capability registration
│ ├── server.ts # Server setup, capability registration
│ ├── transports/ # Transport handling (stdio, http)
│ ├── resources/ # MCP Resource implementations (currently none)
│ └── tools/ # MCP Tool implementations (subdirs per tool)
├── types-global/ # Shared TypeScript type definitions
└── utils/ # Common utility functions (logger, error handler, etc.)Für einen detaillierten Dateibaum führen Sie npm run tree aus oder sehen Sie sich docs/tree.md an.
Werkzeuge
Der Git MCP-Server bietet eine Reihe von Tools für die Interaktion mit Git-Repositorys, die über das Model Context Protocol aufgerufen werden können.
Werkzeugname | Beschreibung | Hauptargumente |
| Stellt bestimmte Dateien oder Muster bereit. |
|
| Verwaltet Zweige (auflisten, erstellen, löschen, umbenennen, aktuelle anzeigen). |
|
| Wechselt Zweige oder stellt Arbeitsbaumdateien wieder her. |
|
| Wendet durch vorhandene Commits eingeführte Änderungen an. |
|
| Entfernt nicht verfolgte Dateien. Erfordert |
|
| Löscht das sitzungsspezifische Arbeitsverzeichnis. | (keiner) |
| Klont ein Repository in einen angegebenen absoluten Pfad. |
|
| Übernimmt stufenweise Änderungen. Unterstützt Autorüberschreibung und Signaturkontrolle. |
|
| Zeigt Änderungen zwischen Commits, Arbeitsbaum usw. an. |
|
| Lädt Objekte und Referenzen aus anderen Repositories herunter. |
|
| Initialisiert ein neues Git-Repository unter dem angegebenen absoluten Pfad. Der Standardwert für den ersten Zweig ist „main“. |
|
| Zeigt Commit-Protokolle an. |
|
| Führt den angegebenen Zweig mit dem aktuellen Zweig zusammen. |
|
| Ruft Daten aus einem anderen Repository oder lokalen Zweig ab und integriert diese. |
|
| Aktualisiert Remote-Refs mithilfe lokaler Refs. |
|
| Wendet Commits erneut auf einem anderen Basistipp an. |
|
| Verwaltet Remote-Repositorys (auflisten, hinzufügen, entfernen, anzeigen). |
|
| Setzt den aktuellen HEAD auf einen angegebenen Zustand zurück. Unterstützt Soft-, Mixed- und Hard-Modi. Verwenden Sie „hard“ mit Vorsicht . |
|
| Legt das Standardarbeitsverzeichnis fest. Kann optional das Repository initialisieren, falls nicht vorhanden. Erfordert absoluten Pfad. |
|
| Zeigt Informationen zu Git-Objekten (Commits, Tags usw.) an. |
|
| Verwaltet gespeicherte Änderungen (Auflisten, Anwenden, Pop, Drop, Speichern). |
|
| Ruft den Repository-Status ab (Zweig, bereitgestellte, geänderte, nicht verfolgte Dateien). |
|
| Verwaltet Tags (Auflisten, Erstellen mit Anmerkungen/leichtgewichtig, Löschen). |
|
| Verwaltet Git-Arbeitsbäume (auflisten, hinzufügen, entfernen, verschieben, bereinigen). |
|
Hinweis: Der path ist für die meisten Tools standardmäßig das Arbeitsverzeichnis der Sitzung, wenn er über git_set_working_dir festgelegt wird.
Ressourcen
MCP-Ressourcen sind in dieser Version (v2.0.12) nicht implementiert.
Diese Version konzentriert sich auf die überarbeitete Implementierung der Git-Tools basierend auf der neuesten mcp-ts-template und dem MCP SDK v1.12.0. Zuvor verfügbare Ressourcenfunktionen wurden im Rahmen dieses umfangreichen Updates vorübergehend entfernt.
Wenn Sie Zugriff auf MCP-Ressourcen benötigen (z. B. zum Lesen von Dateiinhalten direkt über den Server), verwenden Sie bitte die stabile Version v1.2.4 .
Zukünftige Entwicklungen können die Ressourcenfunktionen in einer nachfolgenden Version wieder einführen.
Hinweis: Diese Version (v2.0.0) konzentriert sich auf die Refaktorierung und Aktualisierung der wichtigsten Git-Tools basierend auf dem neuesten MCP SDK. MCP-Ressourcenfunktionen sind in dieser Version nicht implementiert. Für den Ressourcenzugriff verwenden Sie bitte v1.2.4 .
Entwicklung
Erstellen und Testen
# Build the project (compile TS to JS in dist/ and make executable)
npm run build
# Test the server locally using the MCP inspector tool (stdio transport)
npm run inspector
# Test the server locally using the MCP inspector tool (http transport)
npm run inspector:http
# Clean build artifacts (runs scripts/clean.ts)
npm run clean
# Generate a file tree representation for documentation (runs scripts/tree.ts)
npm run tree
# Clean build artifacts and then rebuild the project
npm run rebuild
# Start the server using stdio (default)
npm start
# Or explicitly:
npm run start:stdio
# Start the server using HTTP transport
npm run start:httpLizenz
Dieses Projekt ist unter der Apache-Lizenz 2.0 lizenziert – Einzelheiten finden Sie in der Datei LICENSE .
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseBqualityAmaintenanceA Model Context Protocol server for Git repository interaction and automation. This server provides tools to read, search, and manipulate Git repositories via Large Language Models.1289,405MIT
- AlicenseCqualityCmaintenanceNode.js server implementing Model Context Protocol for git operations, enabling AI assistants to manage git repositories through natural language commands.11159MIT
- AlicenseBqualityDmaintenanceA Model Context Protocol server that enables LLMs to interact with Git repositories, providing tools to read, search, and manipulate Git repositories through commands like status, diff, commit, and branch management.12MIT
- AlicenseCqualityBmaintenanceA Model Context Protocol server that enables LLMs to interact with Git repositories, providing tools to read, search, and manipulate Git repositories through commands like status, diff, commit, and branch operations.224MIT
Related MCP Connectors
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
A Model Context Protocol server for Wix AI tools
A MCP server built for developers enabling Git based project management with project and personal…
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/cyanheads/git-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server