Git Stuff Server について
Git Stuff Serverは、Gitのマージコミットと第1親との差分を取得するNode.js製MCPサーバーです。単一のツールでマージ変更を確認したいクライアント向けです。
主な機能
- 01マージコミットの差分生成
- 02第1親との比較
- 03クライアントへの差分テキスト返却
活用シーン
- 01マージで導入された変更の確認
- 02MCPクライアントからのマージコミット調査
MCP 対応
stdioで動作するMCPサーバーで、`get_git_merge_diff`ツールを提供します。このツールはマージコミットのハッシュを受け取り、差分テキストを返します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Git Stuff Server
このリポジトリには、Git 関連の機能を提供する MCP(Model Context Protocol)サーバーとして動作する Node.js アプリケーションが含まれています。現在は、Git のマージコミットとその最初の親コミットとの差分を生成するツールを提供しています。
機能
- MCP サーバー: 通信に stdio を使用する標準的な MCP サーバーとして動作します。
get_git_merge_diffツール:- Git のマージコミットハッシュを受け取ります。
GenerateMergeDiff.ps1PowerShell スクリプトを実行します。git show -m --first-parent <commitHash>で生成されたテキスト形式の差分コンテンツを返します。
前提条件
- Node.js(ES Modules に対応したバージョン。package.json に
enginesが指定されている場合はそれを確認し、指定されていない場合はtsconfig.jsonのターゲット(ES2022)を確認してください) - npm(通常は Node.js に付属しています)
- Git がインストールされ、システムの PATH からアクセスできること。
- PowerShell(Windows)または
pwsh(Linux/macOS)がインストールされ、システムの PATH からアクセスできること。
インストール
- リポジトリをクローンします:
git clone <your-repo-url> cd GitStuffServer - 依存関係をインストールします:
npm install
使用方法
-
TypeScript コードをビルドします:
npm run buildこれにより、
src/の TypeScript コードがbuild/の JavaScript にコンパイルされます。 -
サーバーを実行します:
- コンパイル済みのコードを実行するには:
npm start - 開発モードでビルドして実行するには:
npm run dev
- コンパイル済みのコードを実行するには:
サーバーが起動し、標準入力/出力で MCP リクエストを待ち受けます。
get_git_merge_diff ツールの使用
MCP クライアント経由で接続すると、次の入力を指定して get_git_merge_diff ツールを呼び出せます。
commitHash(文字列):差分を取得するマージコミットの Git コミットハッシュ(SHA)。
ツールは差分コンテンツをテキストとして返します。
仕組み
- MCP サーバー(
src/index.ts)がget_git_merge_diffツールのリクエストを受け取ります。 commitHashの入力を検証します。commitHashを渡してGenerateMergeDiff.ps1PowerShell スクリプトを実行します。- PowerShell スクリプトが
git show -m --first-parent <commitHash>を実行し、出力(エラーを含む)をサーバーの現在の作業ディレクトリにあるmerge_changes.diffという一時ファイルに保存します。 - Node.js サーバーが
merge_changes.diffの内容を読み取ります。 - サーバーが一時ファイル
merge_changes.diffを削除します。 - サーバーが差分コンテンツ(またはエラーメッセージ)を MCP クライアントに返します。
設定
主な設定項目は、src/index.ts 内の定数として定義されています。
SERVER_NAME:MCP サーバーに登録される名前。SCRIPT_NAME:実行する PowerShell スクリプトのファイル名。OUTPUT_DIFF_FILE:スクリプトが作成する一時差分ファイルの名前。
ライセンス
このプロジェクトは MIT ライセンスのもとで公開されています。詳細については、package.json ファイルを参照してください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。