Gitrama Mcp について
Gitrama Mcp は、15 個の MCP ツールを通じて Git とリポジトリのワークフロー操作を AI アシスタントに提供します。MCP 対応の IDE やクライアントを使う開発者向けで、リポジトリ分析、レビュー、差分、コミット、ブランチ、プッシュ、PR 説明、変更履歴、ストリーム管理を行えます。
主な機能
- 01Git ワークフロー向けの 15 ツール
- 02コミットメッセージとブランチ名の生成
- 03リポジトリへの質問と構造スキャン
- 04リスク注釈付き差分とコードレビュー
- 05PR 説明と変更履歴の生成
- 06ワークフローストリームの管理
活用シーン
- 01プッシュ前の変更レビュー
- 02ステージ済み変更からのコミット生成
- 03タスク説明からのブランチ作成
- 04PR 説明と変更履歴の準備
MCP 対応
Gitrama CLI の 15 ツールを MCP クライアントに公開し、Git 操作、リポジトリ分析、レビュー、ワークフロー管理を提供します。stdio と streamable HTTP のトランスポートに対応します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
🌿 Gitrama MCP サーバー
IDE 向けの AI を活用した Git インテリジェンス — スマートコミット、ブランチ名、PR の説明、差分、コードレビュー、プッシュ、ワークフロー管理に対応します。
これは何ですか?
Gitrama MCP サーバーは、Gitrama の CLI を、あらゆる AI アシスタントが使える 15 個の MCP ツールとして公開します。ターミナルで gtr commit と入力する代わりに、AI アシスタントがツールを直接呼び出し、コードの変更を分析してコミットメッセージを生成したり、ブランチ名を提案したり、コードをレビューしたりできます。
対応環境: Cursor · Claude Desktop · Claude Code · Windsurf · VS Code · Zed · MCP 対応のあらゆるクライアント
v1.3.2 の新機能
- 5 つの新しいツール —
gitrama_scan、gitrama_diff、gitrama_review、gitrama_status、gitrama_push - ヘルスチェックでバージョンを表示 —
gitrama_healthが MCP サーバーのバージョンを返すようになり、実行中のバージョンを正確に確認できます - インタラクティブな HTML 差分パネル —
gitrama_diffはブラウザパネルを起動し、リスク注釈付きの差分、変更頻度、結合のコンテキスト、コントリビューター情報を変更された各ファイルに重ねて表示します - チャットからプッシュ —
gitrama_pushはアップストリーム追跡、force-with-lease に対応し、現在のブランチを自動解決します - ツール数を 10 から 15 に更新
インストール(60 秒未満)
ステップ 1:パッケージをインストール
pip install gitrama-mcp
または uv を使用:
uv pip install gitrama-mcp
これにより、MCP サーバーと gitrama CLI の両方がインストールされます。
ステップ 2:IDE に接続
Cursor
プロジェクト内の .cursor/mcp.json(またはグローバル設定)に追加します:
{
"mcpServers": {
"gitrama": {
"command": "gitrama-mcp"
}
}
}
Claude Desktop
claude_desktop_config.json に追加します:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"gitrama": {
"command": "gitrama-mcp"
}
}
}
Claude Code
claude mcp add gitrama gitrama-mcp
VS Code
.vscode/mcp.json に追加します:
{
"mcpServers": {
"gitrama": {
"command": "gitrama-mcp"
}
}
}
Windsurf
~/.codeium/windsurf/mcp_config.json に追加します:
{
"mcpServers": {
"gitrama": {
"command": "gitrama-mcp"
}
}
}
Zed
Zed の設定(⌘,)に追加します:
{
"context_servers": {
"gitrama": {
"command": {
"path": "gitrama-mcp"
}
}
}
}
ステップ 3:完了です。
AI に 「ステージングした変更をコミットして」 と頼むと、gitrama_commit が呼び出されます。
ツール(15 個)
ヘルスチェックと診断
| ツール | 説明 |
|---|---|
gitrama_health | AI サーバーの状態を確認し、MCP サーバーのバージョンを確認します |
リポジトリのインテリジェンス
| ツール | 説明 |
|---|---|
gitrama_ask | リポジトリについて質問できます — 所有状況、履歴、リスク、変更 |
gitrama_scan | 構造全体のヘルススキャン — 継続性リスク、境界のエントロピー、再発パターン |
gitrama_status | AI による解釈付きでワーキングツリーの状態を表示します |
コードレビューと差分
| ツール | 説明 |
|---|---|
gitrama_diff | インタラクティブな HTML パネル付きのリスク注釈付き差分 — 変更頻度、結合、コントリビューターのコンテキスト |
gitrama_review | プッシュ前の AI コードレビュー — セキュリティ、正確性、リスク、結合 |
コミットインテリジェンス
| ツール | 説明 |
|---|---|
gitrama_commit | ステージングした変更の AI コミットメッセージを生成します |
gitrama_stage_and_commit | ファイルのステージングとコミットを 1 回の操作で行います |
gitrama_unstage | 変更を破棄せずに、ファイルをステージングから外します |
ブランチとプッシュの管理
| ツール | 説明 |
|---|---|
gitrama_branch | 自然言語による説明からブランチを作成します |
gitrama_push | アップストリームおよび force-with-lease に対応し、現在のブランチをリモートにプッシュします |
PR と変更履歴
| ツール | 説明 |
|---|---|
gitrama_pr | ブランチの差分から PR の説明を生成します |
gitrama_changelog | 指定した参照間の変更履歴を生成します |
ストリーム(ワークフロー)の管理
| ツール | 説明 |
|---|---|
gitrama_stream_status | 現在のワークフローストリームを表示します |
gitrama_stream_switch | 別のストリームに切り替えます |
gitrama_stream_list | リポジトリ内のすべてのストリームを一覧表示します |
ツールの詳細
gitrama_health
AI サーバーへの接続を確認し、実行中の MCP サーバーのバージョンを確認します。
プロンプトの例: 「gitrama のヘルスチェックを実行して」
出力例:
✅ AI server is healthy!
🤖 Model: grok-4.20-reasoning
🌐 Connected to: https://api.x.ai/v1
🔖 Gitrama MCP Server: v1.3.2
gitrama_scan
リポジトリの構造的な健全性を全面的にスキャンします。各ファイルについて、連続性のリスク、境界エントロピー、繰り返しパターンをスコア化します。結果は last_scan.json にキャッシュされ、gtr diff と gtr review で使用されます。
プロンプトの例: 「リポジトリ全体を gitrama でスキャンして」
gitrama_diff
現在の変更のリスク注釈付き差分を表示します。Gitrama の構造分析情報(リスクスコア、変更頻度、結合のギャップ、変更された各ファイルの貢献者情報)を重ねて表示するインタラクティブな HTML ブラウザーパネルを開きます。
パラメーター:
| パラメーター | 型 | デフォルト | 説明 |
|---|---|---|---|
target | string | "" | 差分の比較対象となるブランチまたはコミット |
staged | bool | false | ステージ済みの変更のみを差分表示します |
プロンプトの例:
- 「ステージ済みの変更の差分を表示して」
- 「ブランチと main の差分を表示して」
gitrama_review
コミット前に、現在の変更を AI でコードレビューします。セキュリティ、正確性、リスク、結合に関する重要度別の指摘に加え、判定と推奨するコミットメッセージを返します。
パラメーター:
| パラメーター | 型 | デフォルト | 説明 |
|---|---|---|---|
mode | string | "staged" | "staged"、"uncommitted"、"quick"、"full" |
プロンプトの例:
- 「ステージ済みの変更をレビューして」
- 「未コミットの変更をすべて完全にレビューして」
gitrama_push
現在のブランチをリモートリポジトリにプッシュします。安全な強制プッシュには --force-with-lease を使用し、ブランチが指定されていない場合は現在のブランチを自動的に解決します。
パラメーター:
| パラメーター | 型 | デフォルト | 説明 |
|---|---|---|---|
remote | string | "origin" | プッシュ先のリモート |
branch | string | "" | プッシュするブランチ(デフォルト:現在のブランチ) |
force | bool | false | --force-with-lease を使って強制プッシュします |
set_upstream | bool | false | アップストリーム追跡ブランチを設定します(-u) |
プロンプトの例:
- 「変更をプッシュして」
- 「このブランチをプッシュして、アップストリームも設定して」
- 「現在のブランチを強制プッシュして」
gitrama_status
ステージ済み、未ステージ、未追跡のファイルについて AI による解釈を加えて、作業ツリーの状態を表示します。
プロンプトの例: 「現在の git の状態は?」
gitrama_ask
リポジトリについて自然言語で質問できます。Gitrama はコミット履歴、ファイル構造、blame データ、差分を分析して回答します。
パラメーター:
| パラメーター | 型 | デフォルト | 説明 |
|---|---|---|---|
question | string | 必須 | リポジトリに関する任意の質問 |
stream | string | "" | 任意のストリームコンテキストの上書き |
deep | bool | false | リポジトリ全体の履歴へのアクセスを有効にします |
プロンプトの例:
- 「認証モジュールの担当者は誰?」
- 「このリポジトリで最もリスクの高いファイルは?」
- 「過去 3 日間で何が変更された?」
- 「src/utils/retry.py の目的を説明して」
gitrama_commit
ステージ済みの変更に対する AI 生成のコミットメッセージを作成します。
パラメーター:
| パラメーター | 型 | デフォルト | 説明 |
|---|---|---|---|
message | string | "" | 任意のカスタムメッセージ(指定すると AI による生成をスキップします) |
プロンプトの例: 「ステージ済みの変更をコミットして」
gitrama_stage_and_commit
ファイルをステージングして、1 回の操作でコミットします。
パラメーター:
| パラメーター | 型 | デフォルト | 説明 |
|---|---|---|---|
files | string | "." | ステージングするファイル(すべての場合は .、またはスペース区切りのパス) |
message | string | "" | 任意のカスタムメッセージ |
プロンプトの例: 「変更をすべてステージングしてコミットして」
gitrama_unstage
変更を破棄せずに、ファイルをステージングエリアから削除します。
パラメーター:
| パラメーター | 型 | デフォルト | 説明 |
|---|---|---|---|
files | string | "" | ステージング解除するファイルパス(スペース区切り) |
all_files | bool | false | 現在ステージングされているすべてのファイルのステージングを解除します |
プロンプトの例: 「src/auth.py のステージングを解除して」
gitrama_branch
説明から AI を活用したブランチ名を生成し、必要に応じてブランチを作成します。
パラメーター:
| パラメーター | 型 | デフォルト | 説明 |
|---|---|---|---|
description | string | 必須 | 作業内容 |
create | bool | true | ブランチを作成して切り替えます |
プロンプトの例:
- 「OAuth2 サポートを追加するブランチを作成して」
- 「支払いタイムアウトを修正するブランチ名を提案して。作成はしないで」
gitrama_pr
現在のブランチとベースブランチの差分から PR の説明を生成します。
パラメーター:
| パラメーター | 型 | デフォルト | 説明 |
|---|---|---|---|
base | string | "" | 対象ブランチ(デフォルト:main/master) |
プロンプトの例: 「このブランチの PR の説明を書いて」
gitrama_changelog
参照間の変更履歴を生成します。
パラメーター:
| パラメーター | 型 | デフォルト | 説明 |
|---|---|---|---|
since | string | "" | 開始参照(タグ、ブランチ、ハッシュ) |
until | string | "" | 終了参照(デフォルト:HEAD) |
format | string | "markdown" | "markdown" または "json" |
プロンプトの例: 「v1.1.4 以降の変更履歴を生成して」
ストリームツール
| ツール | パラメーター | プロンプトの例 |
|---|---|---|
gitrama_stream_status | なし | 「今どのストリームにいる?」 |
gitrama_stream_switch | name, description | 「hotfix ストリームに切り替えて」 |
gitrama_stream_list | なし | 「gitrama のストリームをすべて一覧表示して」 |
v1.3.2 のワークフロー
15 個のツールすべてを接続すると、チャットから開発の全工程を実行できます。
describe intent → stream switch
write code
ask gitrama what changed → diff (HTML panel)
review before push
commit with AI message
push
PR description generated
ターミナルも、手動の git コマンドも不要です。
設定
環境変数
| 変数 | デフォルト | 説明 |
|---|---|---|
GTR_CWD | os.getcwd() | git 操作の作業ディレクトリ |
GTR_MCP_TRANSPORT | "stdio" | トランスポート:"stdio" または "streamable-http" |
GTR_MCP_HOST | "0.0.0.0" | HTTP ホスト(streamable-http 使用時) |
GTR_MCP_PORT | "8765" | HTTP ポート(streamable-http 使用時) |
HTTP トランスポート(CI/CD 向け)
GTR_MCP_TRANSPORT=streamable-http GTR_MCP_PORT=8765 gitrama-mcp
その後、クライアントを http://localhost:8765/mcp に接続します。
必要条件
- Python 3.10+
- Git がインストールされ、PATH に設定されていること
- Gitrama API キーまたはローカルの Ollama インスタンス
API キーを設定します:
gtr config --key YOUR_API_KEY
または、ローカルモデルを使用します:
gtr config --provider ollama --model llama3
開発
git clone https://github.com/ahmaxdev/gitrama-mcp.git
cd gitrama-mcp
pip install -e ".[dev]"
# Test with MCP Inspector
mcp dev src/gitrama_mcp/server.py
ライセンス
プロプライエタリ — LICENSE を参照してください。
Alfonso Harding によって作成 · gitrama.ai
🌿
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。