Git Stuff Server
Dieses Repository enthält eine Node.js-Anwendung, die als MCP-Server (Model Context Protocol) fungiert und Git-bezogene Funktionen bereitstellt. Derzeit bietet es ein Tool zum Generieren des Diffs für einen Git-Merge-Commit gegenüber dem ersten übergeordneten Element.
Merkmale
MCP-Server: Läuft als Standard-MCP-Server und verwendet stdio zur Kommunikation.
get_git_merge_diffAkzeptiert einen Git-Merge-Commit-Hash.
Führt das PowerShell-Skript
GenerateMergeDiff.ps1aus.Gibt den von
git show -m --first-parent <commitHash>generierten textuellen Diff-Inhalt zurück.
Voraussetzungen
Node.js (Version, die ES-Module unterstützt, prüfen Sie
enginesin package.json , falls angegeben, andernfalls prüfen Sie das Zieltsconfig.json– ES2022)npm (wird normalerweise mit Node.js geliefert)
Git ist im PATH des Systems installiert und zugänglich.
PowerShell (Windows) oder
pwsh(Linux/macOS) ist installiert und im PATH des Systems zugänglich.
Installation
Klonen Sie das Repository:
git clone <your-repo-url> cd GitStuffServerInstallieren Sie Abhängigkeiten:
npm install
Verwendung
Erstellen Sie den TypeScript-Code:
npm run buildDadurch wird der TypeScript-Code von
src/in JavaScript inbuild/kompiliert.Führen Sie den Server aus:
So führen Sie den kompilierten Code aus:
npm startSo erstellen und führen Sie den Entwicklungsmodus aus:
npm run dev
Der Server wird gestartet und wartet auf MCP-Anfragen auf der Standardeingabe/-ausgabe.
Verwenden des Tools get_git_merge_diff
Wenn Sie über einen MCP-Client verbunden sind, können Sie das Tool get_git_merge_diff mit der folgenden Eingabe aufrufen:
commitHash(Zeichenfolge): Der Git-Commit-Hash (SHA) des Merge-Commits, den Sie vergleichen möchten.
Das Tool gibt den Diff-Inhalt als Text zurück.
So funktioniert es
Der MCP-Server (
src/index.ts) empfängt eine Anfrage für das Toolget_git_merge_diff.Es validiert die
commitHashEingabe.Es führt das PowerShell-Skript
GenerateMergeDiff.ps1aus und übergibt dencommitHash.Das PowerShell-Skript führt
git show -m --first-parent <commitHash>aus und speichert die Ausgabe (einschließlich aller Fehler) in einer temporären Datei namensmerge_changes.diffim aktuellen Arbeitsverzeichnis des Servers.Der Node.js-Server liest den Inhalt von
merge_changes.diff.Der Server löscht die temporäre Datei
merge_changes.diff.Der Server gibt den Diff-Inhalt (oder eine Fehlermeldung) an den MCP-Client zurück.
Konfiguration
Wichtige Konfigurationspunkte werden als Konstanten innerhalb von src/index.ts definiert:
SERVER_NAME: Der vom MCP-Server registrierte Name.SCRIPT_NAME: Der Dateiname des auszuführenden PowerShell-Skripts.OUTPUT_DIFF_FILE: Der Name der temporären Diff-Datei, die vom Skript erstellt wurde.
Lizenz
Dieses Projekt ist unter der MIT-Lizenz lizenziert – Einzelheiten finden Sie in der Datei package.json .
Related MCP Servers
- AsecurityFlicenseAqualityMCP 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 -1804
- AsecurityAlicenseAqualityA specialized MCP server for in-depth analysis of git repositories, offering tools for branch overview, time period analysis, file changes, and merge recommendations.Last updated -42Apache 2.0
- AsecurityFlicenseAqualityThe Git MCP Server allows AI assistants to perform enhanced Git operations via the Model Context Protocol, supporting core Git functions, branch and tag management, GitHub integration, and more.Last updated -21596