Git Mcp について
Git Mcpは、ローカルのGitリポジトリを管理するMCPサーバーです。リポジトリやタグ、コミットの確認に加え、タグの作成・プッシュやリポジトリの更新を行えます。
主な機能
- 01指定ディレクトリ内のリポジトリ一覧
- 02最新タグと日付の確認
- 03最新タグ以降のコミット一覧
- 04Gitタグの作成とプッシュ
- 05ブランチの切り替えとリポジトリのプル
活用シーン
- 01リリースタグ以降のコミット確認
- 02リリースタグの作成とリモートへのプッシュ
- 03リモートからのローカルリポジトリ更新
MCP 対応
MCPクライアントにGitリポジトリ操作のツールを提供し、`GIT_REPOS_PATH`でリポジトリの場所を指定します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Git MCP
ローカルリポジトリで Git 操作を管理する MCP サーバーです。
インストール
Smithery 経由でのインストール
Smithery 経由で Claude Desktop 用の Git MCP を自動的にインストールするには:
npx -y @smithery/cli install @kjozsa/git-mcp --client claude
手動でのインストール
uvx install git-mcp
設定
次の JSON 設定スニペットを使用して MCP サーバーを追加します。
{
"mcpServers": {
"git-mcp": {
"command": "uvx",
"args": ["git-mcp"],
"env": {
"GIT_REPOS_PATH": "/path/to/your/git/repositories"
}
}
}
}
機能と使い方
環境変数
GIT_REPOS_PATH:Git リポジトリを含むディレクトリへのパス(必須)
環境変数として設定するか、サーバーを実行するディレクトリに .env ファイルを作成します。
利用可能なメソッド
list_repositories
設定されたパスにあるすべての Git リポジトリを一覧表示します。
- パラメーター:なし
- 戻り値:リポジトリ名の一覧
get_last_git_tag
指定したリポジトリの最後の Git タグを検索します。
- パラメーター:
repo_name(Git リポジトリ名) - 戻り値:
version(タグ名)とdate(タグ作成日)を含む辞書
list_commits_since_last_tag
最後の Git タグから HEAD までのコミットメッセージを一覧表示します。
- パラメーター:
repo_name:Git リポジトリ名max_count(任意):返すコミットの最大数
- 戻り値:
hash、author、date、messageを含む辞書の一覧
create_git_tag
指定したリポジトリに新しい git タグを作成します。
- パラメーター:
repo_name:git リポジトリ名tag_name:作成するタグの名前message(任意):注釈付きタグのメッセージ(指定しない場合は軽量タグを作成します)
- 戻り値:
status、version(タグ名)、date(タグ作成日)、type(注釈付きまたは軽量)を含む辞書
push_git_tag
既存の git タグをデフォルトのリモートリポジトリにプッシュします。
- パラメーター:
repo_name:git リポジトリ名tag_name:プッシュするタグの名前
- 戻り値:
status、remote(リモート名)、tag(タグ名)、message(成功メッセージ)を含む辞書
refresh_repository
リポジトリを更新するために、main ブランチ(なければ master)をチェックアウトし、すべてのリモートからプルします。
- パラメーター:
repo_name:Git リポジトリ名
- 戻り値:
status、repository、branch、pull_results(各リモートの結果)を含む辞書
トラブルシューティング
- リポジトリが見つからない:
GIT_REPOS_PATHが正しく設定され、リポジトリが存在することを確認してください - タグが見つからない:リポジトリにはまだタグがありません
開発
# Install dependencies
uv pip install -r requirements.txt
# Run in dev mode with Inspector
mcp dev git_mcp/server.py
テスト
このプロジェクトには、2 つのテストスクリプトが含まれています。
test_git_mcp.py- MCP サーバーを使わずに、基盤となる Git コマンドの機能を直接テストします。test_mcp_server.py- サーバーインスタンスを起動して呼び出しを行い、MCP サーバーの機能をテストします。
テストを実行するには:
# Test the Git command functionality
python test_git_mcp.py
# Test the MCP server (requires the git-mcp package to be installed)
python test_mcp_server.py
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。