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_diff
Akzeptiert einen Git-Merge-Commit-Hash.
Führt das PowerShell-Skript
GenerateMergeDiff.ps1
aus.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
engines
in 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
commitHash
Eingabe.Es führt das PowerShell-Skript
GenerateMergeDiff.ps1
aus 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.diff
im 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 .
local-only server
The server can only run on the client's local machine because it depends on local resources.
MCP-Server, der Git-bezogene Funktionen bereitstellt, in erster Linie ein Tool zum Generieren von Diffs für Git-Merge-Commits gegenüber ihrem ersten übergeordneten Element.
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 -21396