git-mcp について
git-mcp は Git リポジトリを MCP 経由で操作するサーバーです。リポジトリの状態や履歴を確認したい開発者向けに、コミット、変更ファイル、差分、ファイル単位の履歴を調べる機能を提供します。
主な機能
- 01作者、日付、メッセージを含むコミット表示
- 02指定範囲で変更されたファイルの一覧
- 03コミット間のファイル差分の確認
- 04個別ファイルのコミット履歴表示
活用シーン
- 01リポジトリの最近のコミットを確認
- 02指定範囲で変更されたファイルを特定
- 03ファイルの差分と履歴を調査
MCP 対応
Git リポジトリ管理に加え、履歴、変更ファイル、差分を調べるツールを MCP クライアントに公開します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
git-mcp
このプロジェクトは、Git リポジトリと連携するために設計された Model Context Protocol(MCP)サーバーです。MCP ツールを通じて、Git リポジトリを管理し、操作する機能を提供します。
🚀 特長
✅ Git リポジトリ管理:Git 操作を実行し、リポジトリを管理します。
✅ リポジトリ履歴:コミット履歴と、時間の経過に伴うファイルの変更を表示します。
✅ ファイル追跡:ファイルの変更を追跡し、ファイル履歴を表示します。
✅ 差分操作:コミット間のファイルの詳細な差分を表示します。
📋 必要条件
- Go 1.23.0 以降
- システムに Git がインストールされていること
- Git リポジトリへのアクセス権
⚙️ セットアップ
1️⃣ パッケージをインストールする
go install github.com/wricardo/git-mcp@latest
2️⃣ MCP クライアントの設定
次の設定を MCP の設定に追加します:
"git-mcp": {
"command": "git-mcp",
"env": {
"WORKDIR": "/path/to/your/git/repository"
},
"disabled": false,
"autoApprove": []
}
▶️ 使用方法
MCP サーバーを実行します:
git-mcp
🛠️ ツール
🔹 git-log
コミットハッシュ、作成者、日付、メッセージを含む Git のコミット履歴を表示します。
📌 パラメーター:
limit(任意):表示するコミット数(デフォルト:10)
📌 応答例:
[
{
"hash": "1234567890abcdef",
"author": "John Doe",
"date": "2024-03-20",
"message": "Initial commit"
}
]
🔹 git-changed-files
HEAD と、指定した数だけ前のコミットとの間で変更されたファイルを一覧表示します。
📌 パラメーター:
commits_back(必須):HEAD から遡るコミット数
📌 応答例:
[
{
"path": "README.md",
"changeType": "modified"
}
]
🔹 git-file-diff
コミット間のファイルの詳細な差分を表示します。
📌 パラメーター:
file_path(必須):差分を表示するファイルへのパスcommits_back(必須):HEAD から遡るコミット数
📌 応答例:
{
"path": "README.md",
"changes": [
{
"type": "add",
"content": "New line added",
"lineNumber": 42
}
]
}
🔹 git-file-history
特定のファイルのコミット履歴を表示します。
📌 パラメーター:
file_path(必須):履歴を表示するファイルへのパスlimit(任意):表示するコミット数(デフォルト:10)
📌 応答例:
[
{
"hash": "1234567890abcdef",
"author": "John Doe",
"date": "2024-03-20",
"message": "Update README.md"
}
]
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。