Integrations
Provides Git-related functionality, specifically a tool to generate the diff for a Git merge commit against its first parent by running 'git show -m --first-parent' on a specified commit hash.
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
-Tool:- 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:Copy
- Installieren Sie Abhängigkeiten:Copy
Verwendung
- Erstellen Sie den TypeScript-Code:Dadurch wird der TypeScript-Code vonCopy
src/
in JavaScript inbuild/
kompiliert. - Führen Sie den Server aus:
- So führen Sie den kompilierten Code aus:Copy
- So erstellen und führen Sie den Entwicklungsmodus aus:Copy
- So führen Sie den kompilierten Code aus:
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 .
You must be authenticated.
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 -1841TypeScript
- -securityAlicense-qualityA 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 -41JavaScriptApache 2.0
- AsecurityAlicenseAqualityMCP Tool Server for Gitee, supporting the management of repository files/branches, Issues, and Pull Requests.Last updated -20104TypeScriptMIT License
- AsecurityFlicenseAqualityMCP server for managing Git operations on local repositories, allowing users to list repositories, get and create tags, list commits, push tags, and refresh repositories through a standardized interface.Last updated -6Python