Git (reference server)とは?
Git サーバーは、MCP プロジェクトが保守する Python 製のリファレンスサーバーです。2026年10 月時点で、メインの modelcontextprotocol/servers リポジトリに残る 7 つのサーバーの 1 つです。アーカイブされた servers-archived リポジトリに移された、引退済みのリファレンスサーバーには含まれていません。保守は活発で、PyPI のバージョン 2026.10.19 で Python SDK 2.x 上に作り直され、現在は 2025-11-25 と 2026-07-28 の両方のプロトコル改訂に対応しています。
公開するツールは 12 個です。git_status、git_diff_unstaged、git_diff_staged、git_diff、git_commit、git_add、git_reset、git_log、git_create_branch、git_checkout、git_show、git_branch です。git_init はありません。2025年12月のアドバイザリで、以前の git_init がディスク上のどこにでもリポジトリを作成できることが示されたためです。
uvx mcp-server-git --repository path/to/repo、pip、または mcp/git の Docker イメージで実行します。対象はローカルリポジトリのみで、ネットワーク関連のツールはなく、GitHub などのホストとは通信しません。
Git (reference server)のインストール方法
uvx mcp-server-git --repository path/to/repoGit (reference server)は使う価値があるか?
このサーバーが役に立つのは 1 つの場面です。Claude Desktop のように、シェルコマンドは実行できないものの、差分を読んでコミットできるべきクライアントです。その場面では、型付きの入力とプレーンテキストの出力で仕事をこなし、呼び出しが失敗するとモデルが読んで修正できるエラーメッセージを返します。Claude Code や Cursor など、ターミナルを持つエージェントでは、選択肢の少ない git の重複にすぎません。
範囲はローカルの作業ツリーで終わります。push、pull、fetch、merge、rebase、stash はないので、モデルは作業を準備してコミットできますが、公開するのは人です。これを安全機能と見るチームもあるでしょう。README は今もサーバーを初期開発段階としており、ツールが変わる可能性があると警告しています。実際に変わりました。2026年10月の作り直しで、未知のツール名の報告方法が変わり、ツール呼び出しは 1 つずつ実行されるようになりました。
セキュリティの経緯を見ると、最新版を保つべきです。mcp-server-git には 4 件のアドバイザリが公開されています。2025年12月の深刻度中の 3 件は、git_diff と git_checkout での引数インジェクション、--repository のパス検証の欠如、制限のない git_init ツールに関するもので、2026年2月の 1 件は、リポジトリ外のファイルをステージできる git_add のパストラバーサルでした。いずれも修正とともに公開され、10月のリリースでは上流のアドバイザリに対応するため GitPython 3.1.60 以降も必須になりました。
範囲の指定は、フラグの印象より粗いものです。--repository はリポジトリのルートまでさかのぼるため、サブフォルダーを指定してもリポジトリ全体が対象になります。フラグがなければ、各呼び出しでマシン上の任意の repo_path を指定できます。git_reset はステージ解除しかしませんが、git_checkout は保存していない作業があるエディターの下でブランチを切り替えられ、サーバーは確認を求めません。そこはクライアントの承認プロンプトの役目です。ここでモデルが読むのは自分の履歴とファイルなので、Web ページを取得するサーバーに比べてプロンプトインジェクションの攻撃面ははるかに小さくなります。
真価を発揮する場面
Claude Desktop からドキュメントリポジトリを編集するプロダクトマネージャー
先週からの変更を確認し、文言の修正をコミットする
start_timestamp を '1 week ago' にした git_log、main に対する git_diff、続いて git_add と git_commit を使います。無料です。主なリスクは違うブランチにコミットすることなので、書き込みには承認プロンプトを有効にしておきます。
シェルを使わない社内コードレビューエージェントを作るプラットフォームチーム
チェックアウト済みのリポジトリで、エージェントに差分と履歴を読ませ、それ以外はさせない
そのリポジトリだけをマウントして mcp/git の Docker イメージを実行し、クライアントでは読み取りツール(status、diff、log、show、branch)だけを許可します。シェルをサンドボックス化する必要がなく、push は CI に任せたままです。
導入前に確認すること
- 導入
- uvx mcp-server-git --repository /path/to/repo、pip install mcp-server-git、またはリポジトリをバインドマウントした mcp/git の Docker イメージを使います。README には Claude Desktop、VS Code、Zed、Zencoder の設定があり、クライアントを再起動するとツールが表示されます。
- 連携
- ツールは 12 個です。読み取りは git_status、git_diff_unstaged、git_diff_staged、git_diff、git_log、git_show、git_branch。書き込みは git_add、git_commit、git_reset(ステージ解除のみ)、git_create_branch、git_checkout です。
- データとプライバシー
- ユーザーのファイル権限でローカルに実行され、ネットワーク通信はしません。ただし返す差分とファイル内容は、クライアントが使うモデルプロバイダーに送られます。2025年12月から 2026年2月までの 4 件のアドバイザリは、引数インジェクション、パストラバーサル、未検証のリポジトリパスを扱っていました。
- 大規模利用時のコスト
- 無料のオープンソースです。コストはコンテキストです。git_diff と git_show は全文を返すため、大きな差分はそのままコンテキストウィンドウに入ります。サイズを抑える手段は context_lines と max_count だけです。
- 制限
- リモート操作、stash、merge、blame、tag のツールはありません。stdio のみなのでリモートサーバーとして共有できません。ツール呼び出しは直列化され、並列の呼び出しは順番待ちになります。
良い点
- status、差分、コミット、ブランチ、ログ用の型付きツールが 12 個
- サーバー自身はネットワーク通信をしない
- 保守が活発で、2025-11-25 と 2026-07-28 の両方のプロトコルバージョンに対応
- 公開されたアドバイザリは速やかに修正された
気になる点
- push、pull、merge、rebase、stash がない
- --repository はリポジトリ全体が範囲になり、省略すると任意のパスを許す
- 今も初期開発段階とされ、リリース間で挙動が変わってきた
- ターミナルを持つエージェントには不要
おすすめの人
チャット型の MCP クライアントを使い、シェルを使わずにローカルの変更をモデルに確認・コミットさせたい人。
Git (reference server)の代替
Git (reference server):よくある質問
- Git (reference server)は使う価値があるか?
- シェルを使えないチャットクライアントに Git を与える 、整っていてパッチもよく当たった方法です。ただし、ターミナルを持つエージェントにはすでにもっと良い手段があります。 評価は5点満点中3.8点です。
- Git (reference server)の料金は?
- 無料のオープンソースです。
- Git (reference server)の欠点は?
- push、pull、merge、rebase、stash がない; --repository はリポジトリ全体が範囲になり、省略すると任意のパスを許す; 今も初期開発段階とされ、リリース間で挙動が変わってきた; ターミナルを持つエージェントには不要.
- Git (reference server)は誰に向いているか?
- チャット型の MCP クライアントを使い、シェルを使わずにローカルの変更をモデルに確認・コミットさせたい人。
- チームや本番環境でGit (reference server)を使うと費用はいくらか?
- 無料のオープンソースです。コストはコンテキストです。git_diff と git_show は全文を返すため、大きな差分はそのままコンテキストウィンドウに入ります。サイズを抑える手段は context_lines と max_count だけです。
- Git (reference server)は企業データを扱っても安全か?
- ユーザーのファイル権限でローカルに実行され、ネットワーク通信はしません。ただし返す差分とファイル内容は、クライアントが使うモデルプロバイダーに送られます。2025年12月から 2026年2月まで の 4 件のアドバイザリは、引数インジェクション、パストラバーサル、未検証のリポジトリパスを扱っていました。
- Git (reference server)の代わりになるものは?
- 当サイトでレビューした中で最も近い代替はGitHub MCP Server 、 Filesystem (reference server)です。
回答確認日:2026年10月23日
