MCPサーバ - Git

提供: MochiuWiki : SUSE, EC, PCB

📢 Webサイト閉鎖と移転のお知らせ
このWebサイトは2026年9月に閉鎖いたします。
新しい記事は移転先で追加しております。(旧サイトでは記事を追加しておりません)

概要

Git MCP Server (mcp-server-git) は、Anthropicが開発したModel Context Protocol (MCP) の公式リファレンス実装の1つであり、
AIアシスタントがGitリポジトリと対話するための標準化されたインターフェースを提供するサーバである。

Python (uv) で実装されており、uvx コマンドを使用してインストール不要で直接実行できる。
Claude Desktop、Claude Code、VS Code、Cursor、Zed等の主要なMCPクライアントに対応している。

Windows、MacOS、Linuxの主要なOSに対応する。

このサーバを使用することにより、AIアシスタントが自然言語による指示でGitリポジトリの状態確認、差分表示、コミット履歴の確認、
ファイルのステージング・コミット、ブランチの作成・切り替え等の操作を自動化できるようになる。

提供されるツールは以下の4カテゴリ、合計12個である。

Gitツール一覧
ツール名 説明
リポジトリ状態確認ツール ワーキングツリーの状態確認と差分表示
(git_status、git_diff_unstaged、git_diff_staged、git_diff)
コミット履歴・検査ツール コミット履歴の表示と特定コミットの詳細確認
(git_log、git_show)
ファイル・コミット管理ツール ファイルのステージング、コミット、リセット
(git_add、git_commit、git_reset)
ブランチ操作ツール ブランチの一覧表示、作成、切り替え
(git_branch、git_create_branch、git_checkout)



動作要件

前提条件

Git MCP Serverを使用するために必要な前提条件を以下に示す。

  • Python 3.10以降
    MCPサーバの実行環境として必要
  • uv (Astralが提供するPythonパッケージマネージャ)
    uvx コマンドを使用してMCPサーバを実行するために必要
  • Git
    Gitリポジトリへのアクセスに必要
    事前にインストールされていること



インストール

uvのインストール

MCPサーバの実行に必要なuvをインストールする。

Windowsの場合

PowerShellを使用する場合は、以下に示すコマンドを実行する。

powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"


WinGetを使用する場合は、以下に示すコマンドを実行する。

winget install --id=astral-sh.uv -e


MacOSの場合

Homebrewを使用する場合は、以下に示すコマンドを実行する。

brew install uv


curlを使用する場合は、以下に示すコマンドを実行する。

curl -LsSf https://astral.sh/uv/install.sh | sh


Linuxの場合

curlを使用する場合は、以下に示すコマンドを実行する。

curl -LsSf https://astral.sh/uv/install.sh | sh


wgetを使用する場合は、以下に示すコマンドを実行する。

wget -qO- https://astral.sh/uv/install.sh | sh


pip経由 (全てのOSで対応)

pipを使用してインストールする場合は、以下に示すコマンドを実行する。

pip install uv


Pythonのインストール

uv コマンドを使用してPython 3.10以降をインストールする。

uv python install 3.10


mcp-server-gitのインストール

uvx コマンドを実行する場合は、インストール不要で直接実行できる。(推奨)
以下に示すコマンドを実行して、Git MCP Serverを起動する。

uvx mcp-server-git --repository /path/to/repo


pip コマンドを実行してインストールする場合は、以下に示すコマンドを実行する。

pip install mcp-server-git


インストール後は、以下のコマンドで起動する。

python -m mcp_server_git


コマンドラインオプション

下表に、Git MCP Serverが受け付けるコマンドラインオプションを示す。

コマンドラインオプション一覧
オプション 説明
--repository 対象Gitリポジトリのパスを指定する。(省略時はカレントディレクトリを使用する)



MCPクライアントの設定

設定ファイルの場所

各MCPクライアントの設定ファイルの場所は以下の通りである。

Claude Desktopの設定ファイルを以下に示す。

  • Linux
    ~/.config/Claude/claude_desktop_config.json
  • MacOS
    ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows
    %APPDATA%\Claude\claude_desktop_config.json


Claude Codeの設定ファイルを以下に示す。

  • ローカルスコープ
    .mcp.json (プロジェクトルート) : claude mcp add コマンドで生成される。
  • ユーザスコープ
    ~/.claude.json (ホームディレクトリ)


VS Codeの設定ファイルを以下に示す。

  • .vscode/mcp.json (プロジェクトルート)


Cursorの設定ファイルを以下に示す。

  • グローバル設定
    ~/.cursor/mcp.json
  • プロジェクト設定
    .cursor/mcp.json


Claude Desktopの設定

claude_desktop_config.json ファイルに以下に示す内容を設定する。

 {
   "mcpServers": {
     "git": {
       "command": "uvx",
       "args": ["mcp-server-git", "--repository", "/path/to/repo"]
     }
   }
 }


設定ファイルを保存した後、Claude Desktopを再起動して設定を反映する。

Claude Codeの設定

Claude Codeでは、claude mcp add コマンドを使用してGit MCP Serverを追加できる。

以に示すコマンドでMCPサーバをClaude Codeに登録する。

claude mcp add git -- uvx mcp-server-git --repository /path/to/repo


プロジェクトスコープで設定する場合は、--scope project オプションを追加する。
設定は、.mcp.json ファイルに保存される。

claude mcp add --scope project git -- uvx mcp-server-git --repository /path/to/repo


上記コマンドにより生成される .mcp.json の内容を以下に示す。

 {
   "mcpServers": {
     "git": {
       "command": "uvx",
       "args": ["mcp-server-git", "--repository", "/path/to/repo"]
     }
   }
 }


VS Code / Cursorの設定

.vscode/mcp.json または .cursor/mcp.json ファイルに以下に示す内容を設定する。

 {
   "mcpServers": {
     "git": {
       "command": "uvx",
       "args": ["mcp-server-git", "--repository", "/path/to/repo"]
     }
   }
 }



提供ツールの一覧

Git MCP Serverは、Gitリポジトリを操作するための12個のツールを4カテゴリに分けて提供する。

リポジトリ状態確認ツール

下表に、ワーキングツリーの状態確認および差分表示に関するツールを示す。

リポジトリ状態確認ツールの一覧
ツール 説明
git_status ワーキングツリーの状態を表示する。(変更ファイル、未追跡ファイル等)
git_diff_unstaged ステージング前の変更内容を差分表示する。
git_diff_staged ステージング済みの変更内容を差分表示する。
git_diff ブランチ間またはコミット間の差分を表示する。


コミット履歴・検査ツール

下表に、コミット履歴の表示と特定コミットの詳細確認に関するツールを示す。

コミット履歴・検査ツールの一覧
ツール 説明
git_log コミット履歴を表示する。
日付範囲フィルタリング対応。ISO 8601形式または相対日付で指定可能
git_show 特定のコミットの詳細内容を表示する。
コミットハッシュ、ブランチ名、タグ等で指定可能


ファイル・コミット管理ツール

下表に、ファイルのステージング、コミット、リセットに関するツールを示す。

ファイル・コミット管理ツールの一覧
ツール 説明
git_add ファイルをステージング領域に追加する。
git_commit ステージング済みの変更をコミットする。
git_reset ステージング済みの変更をリセットする。


ブランチ操作ツール

下表に、ブランチの一覧表示、作成、切り替えに関するツールを示す。

ブランチ操作ツールの一覧
ツール 説明
git_branch ブランチを一覧表示する。
ローカル、リモート、全てを指定可能
git_create_branch 新しいブランチを作成する。
ベースブランチの指定が可能
git_checkout 指定したブランチに切り替える。



使用方法

Git MCP Serverを設定後、AIアシスタントに自然言語で指示するだけで、対応するツールが自動的に呼び出される。

リポジトリ状態の確認

リポジトリの状態や変更内容を確認する場合の操作例を以下に示す。

  • ワーキングツリーの状態を確認する場合
     # プロンプト例 :
     
     リポジトリの現在のステータスを確認してください。
    

  • ステージング前の変更内容を確認する場合
     # プロンプト例 :
     
     ステージング前の変更内容を見せてください。
    

  • 2つのブランチ間の差分を確認する場合
     # プロンプト例 :
     
     mainブランチとdevelopブランチの差分を表示してください。
    


コミット履歴の確認

コミット履歴を確認する場合の操作例を以下に示す。

  • 過去1ヶ月のコミット履歴を確認する場合
     # プロンプト例 :
     
     過去1ヶ月のコミット履歴を表示してください。
    

  • 特定のコミットの詳細を確認する場合
     # プロンプト例 :
     
     コミットハッシュ abc1234 の詳細内容を表示してください。
    


ファイルのステージングとコミット

ファイルをステージングしてコミットする場合の操作例を以下に示す。

  • 変更ファイルを全てステージングしてコミットする場合
     # プロンプト例 :
     
     変更ファイルをすべてステージングして、"Fix: typo in README" というメッセージでコミットしてください。
    


ブランチの操作

ブランチを作成して切り替える場合の操作例を以下に示す。

  • 新しいブランチを作成して切り替える場合
     # プロンプト例 :
     
     developブランチから feature/new-api ブランチを作成して切り替えてください。
    

  • ブランチの一覧を確認する場合
     # プロンプト例 :
     
     ローカルブランチの一覧を表示してください。
    



トラブルシューティング

共通の問題

下表に、OS問わず発生する可能性がある問題と対処法を示す。

共通トラブルシューティング
問題 対処法
uvxコマンドが見つからない PATHの設定を確認する。
シェルの設定ファイル (~/.bashrc 等) を再読み込み または uvを再インストールする。
Pythonバージョンが不足している uv python install 3.10 コマンドを実行して、Python 3.10以降をインストールする。
Gitがインストールされていない パッケージ管理システムを使用して、Gitをインストールする。
--repository パスが不正 相対パスではなく絶対パスを指定することを推奨する。
パスにスペースが含まれる場合は、クォートで囲む。
パーミッションエラーが発生する chmod または chown コマンドを実行して、リポジトリのアクセス権限を調整する。
JSON設定ファイルの構文エラーが発生する JSONバリデータを使用して設定ファイルの構文を確認する。
修正後、MCPクライアントを再起動して設定を反映する。
サーバが起動しない MCPクライアントを再起動する。
ログファイルを確認してエラーの詳細を調べる。


Linuxでの問題

下表に、Linux環境で発生する可能性がある問題と対処法を示す。

Linuxのトラブルシューティング
問題 対処法
uvコマンドが見つからない ~/.profile ファイル等に環境変数 PATH が正しく設定されているか確認する。
パーミッションエラーが発生する 実行権限を付与する。
例: chmod +x ~/.local/bin/uv


MacOSでの問題

下表に、MacOS環境で発生する可能性がある問題と対処法を示す。

MacOSのトラブルシューティング
問題 対処法
Apple Silicon環境で、uvコマンドが見つからない Homebrewを使用して、uvを再インストールする。
brew install uv コマンドを実行する。


Windowsでの問題

下表に、Windows環境で発生する可能性がある問題と対処法を示す。

Windowsのトラブルシューティング
問題 対処法
ENOENTエラーが発生する 設定ファイルに環境変数 (PATH 等) を明示的に指定する。
パスの区切り文字に関するエラーが発生する Windowsのパス区切り文字 (\) を使用する。
または、スラッシュ (/) に統一して指定する。