Gi について
Giは、開発者やコーディングエージェント向けのMCPサーバー兼コマンドラインツールです。行、ファイル、ブランチ単位でGit履歴を調べ、コードの担当者や関連変更、PRの背景を確認できます。
主な機能
- 01行単位のblameを作者別に集計
- 02行やコミットからPRを特定
- 03同時に変更されたファイルを検索
- 04ブランチの状態や古さを確認
- 05作者の最近の作業を要約
- 06コミットや課題の背景を取得
活用シーン
- 01コード領域の担当者を確認
- 02行を導入したPRを特定
- 03整理が必要なブランチを発見
- 04最近のコミットをまとめる
MCP 対応
stdio MCPサーバーとして動作し、MCP対応クライアントにGit履歴を調べるツールを提供します。GitHubのPRや課題の検索にはGitHubトークンが必要ですが、ローカルGitのツールはトークンなしで使えます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
git-insight-mcp
MCP を介したセマンティックな Git クエリです。git log の先へ進み、任意の行、ファイル、ブランチについて、誰が、何を、いつ、なぜ変更したかに答えます。

terminal-history-mcp および localhost-mcp と組み合わせて使えます。これらを合わせることで、実行した内容、現在実行中のもの、変更した内容を把握できます。
理由
開発者は常に次のような質問をしますが、git ではうまく答えられません。
- 「この関数を最後に変更したのは誰ですか?」—
git blameが示すのは行だけで、領域ごとの作成者はわかりません。 - 「この行を導入した PR はどれですか?」— 手動で blame → コミット SHA → GitHub を検索します。
- 「常に一緒に変更されるファイルはどれですか?」— 組み込み機能はありません。
- 「30 日以上前に作成され、まだマージされていないブランチを表示してください」— bash のワンライナーを駆使する必要があります。
- 「先週取り組んだ内容は何ですか?」— 手動でログを調べる必要があります。
LLM エージェントが安全に編集するには、こうしたコンテキストが必要です。現状では git log -n 5 を実行するだけで、情報を見落としています。
インストール
npm install -g git-insight-mcp
Claude Code に接続します。
claude mcp add --scope user git-insight -- git-insight-mcp
または、MCP 対応クライアントを使用できます。stdio MCP サーバーとして動作します。
PR/Issue を検索する場合は、GitHub トークンを設定してください。
export GH_TOKEN=ghp_...
トークンがなくても、ローカル Git のツールは引き続き動作します。PR との関連付けはスキップされます。
ツール
| ツール | 用途 |
|---|---|
who_touched | blame を作成者ごとにグループ化します。行、コミット、最終変更者、主な所有者を表示します。行範囲を指定して絞り込むこともできます。 |
introducing_pr | 行(またはコミット)を導入した PR を検索します。まずマージメッセージを解析し、見つからない場合は GitHub API を使用します。 |
co_change | 入力ファイルと最も頻繁に一緒に変更されるファイルを表示します。 |
branch_hygiene | 先行/遅延コミット数、最終コミット、マージ状態、古さのフラグとともにブランチを一覧表示します。 |
recent_work | 朝会用ヘルパーです。指定期間内の作成者のコミット、ファイル、追加/削除数を表示します。 |
commit_context | コミットの完全なコンテキストを表示します。件名、本文、ファイル、PR、関連 Issue が含まれます。 |
出力例(who_touched)
{
"file": "src/auth.ts",
"total_lines": 124,
"authors": [
{ "name": "alice", "email": "[email protected]", "lines": 87, "commits": 12, "last_commit_date": "2026-04-12T10:33:01.000Z" },
{ "name": "bob", "email": "[email protected]", "lines": 37, "commits": 4, "last_commit_date": "2026-01-03T18:14:55.000Z" }
],
"primary_owner": "alice"
}
CLI の使用方法(動作確認)
git-insight-mcp who-touched src/auth.ts
git-insight-mcp co-change src/auth.ts
git-insight-mcp branches
git-insight-mcp recent alice
git-insight-mcp commit a3e577e
git-insight-mcp intro-pr src/auth.ts:42
git-insight-mcp intro-pr a3e577e
git-insight-mcp # MCP stdio server
ソースからビルド
git clone https://github.com/HasanJahidul/git-insight-mcp.git
cd git-insight-mcp
npm install
npm run build
node dist/cli.js branches
制限事項(v0.1)
- GitHub のみ対応しています(GitLab/Bitbucket は未対応です)。
co_changeの計算量は O(ウィンドウ × コミットあたりのファイル数)です。デフォルトではコミット数が 1000 件に制限されます。- 関数レベルの blame は AST ではなく行範囲に基づきます。名前変更はまだ追跡されません。
- GitHub API のレート制限が適用されます(認証済みの場合は 5000/h)。このバージョンでは PR の検索結果はキャッシュされません。
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。