mcpField
G
Git Prompts MCP Server

Git Prompts MCP Server

ローカル
github.com/ceshineバージョン管理230 週間前に更新

Git Prompts MCP Server について

Git Prompts MCP Serverは、Gitリポジトリから差分やコミット履歴を取得し、PR説明やコミットメッセージを作るプロンプトとツールを提供します。MCPクライアントやGemini CLIで変更を扱う開発者向けです。

主な機能

  1. 01コミットやブランチの比較
  2. 02ステージ済み・未ステージ差分の取得
  3. 03コミットメッセージの取得
  4. 04PR説明とコミット文の生成
  5. 05差分対象パスの除外

活用シーン

  1. 01変更内容からPR説明を作成
  2. 02ステージ済みファイルからコミット文を作成
  3. 03ブランチとの変更点を確認
  4. 04最近のリポジトリ履歴を調査

MCP 対応

MCPサーバーとしてGit差分とコミット履歴のツール、およびPR説明やコミット文を生成するプロンプトを提供します。MCPクライアントから利用でき、Gemini CLI拡張としても導入できます。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"git-prompts": {
"command": "uvx",
"args": [
"git+https://github.com/ceshine/git-prompts-mcp-server.git"
]
}
}
}
起動コマンドuvx 'git+https://github.com/ceshine/git-prompts-mcp-server.git'

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
pypigit+https://github.com/ceshine/git-prompts-mcp-server.git

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

Git Prompts MCP Server

このリポジトリは、Git リポジトリの内容に基づいてプロンプトを生成する複数のコマンドを提供する Model Context Protocol(MCP)サーバーです。

Tests

Git Prompts Server MCP server

MseeP.ai Security Assessment Badge

謝辞

使い方

前提条件:Python 3.12 以降およびuv

Zed Editor の MCP サーバーとして使用する

settings.jsonに以下を追加します。

"context_servers": {
  "git_prompt_mcp": {
    "command": "uvx",
    "args": [
      "--from",
      "git+https://github.com/ceshine/git-prompts-mcp-server.git",
      "git-prompts-mcp-server",
      "/path/to/repo/", // parent folder of the .git directory
      "--excludes", // Exclude files and directories from diff results (the server uses pathlib.PurePath behind the scenes)
      "**/uv.lock",
      "--format", // format for diff results
      "json"  // options: json, text
    ],
    "env": {}
  }
}
Gemini CLI 拡張機能として使用する

このサーバーが提供するコマンドとツールを Gemini CLI で有効にするには、次の手順を実行します。

  1. 拡張機能をインストールする:
    gemini extension install https://github.com/ceshine/git-prompts-mcp-server.git --auto-update
    
    このコマンドはgit-prompts-mcp-serverを Gemini CLI 拡張機能としてインストールし、そのプロンプトとツールを使用できるようにします。
  2. 使い方: インストールすると、Git リポジトリ内で実行した場合に、プロンプト(例:/git-diff、/generate-pr-desc)とツール(例:git_diff、git_cached_diff)が Gemini CLI のセッションで自動的に使用可能になります。

重要な注意事項: この拡張機能は、現在の作業ディレクトリが Git リポジトリの一部であること(つまり、.gitサブフォルダーを含むこと)を前提としています。Gemini CLI を Git プロジェクトのルートから実行しない場合、拡張機能のコマンドやツールが想定どおりに動作しないことがあります。

コマンド

サーバーは次のコマンドに応答します。

  1. /git-diff <ancestor_branch_or_commit>:HEAD と指定された祖先ブランチまたはコミットの差分結果を取得します。
  2. /generate-pr-desc <ancestor_branch_or_commit>:HEAD と指定された祖先ブランチまたはコミットの差分結果およびコミット履歴に基づいて、プルリクエストの説明を生成します。
  3. /git-cached-diff:ステージされた変更と HEAD の差分結果を取得します。
  4. /git-commit-messages <ancestor_branch_or_commit>:祖先と HEAD の間のコミットメッセージを取得します。
  5. /generate-commit-message [num_commits]:ステージング領域(インデックス)のファイルと HEAD の差分に基づいて、コミットメッセージを生成します。さらに、出力の最後に変更に潜在する問題を指摘します。num_commitsの既定値は 5 です。コミット履歴を含めない場合は 0 に設定します。

例:

  1. /generate-pr-desc main
  2. /git-diff dev
  3. /git-cached-diff
  4. /git-commit-messages main
  5. /generate-commit-messageまたは/generate-commit-message 3
ツール

このサーバーは、MCP 対応クライアント向けに次のツールも提供します。

  • git-diff:HEAD と祖先ブランチまたはコミットの差分を取得します。
  • git-cached-diff:ステージング領域(インデックス)のファイルと HEAD の差分を取得します。
  • git-unstaged-diff:作業ツリーとステージング領域の差分を取得します(git diffと同等です)。
  • git-commit-messages:祖先と HEAD の間のコミットメッセージを取得します。
環境変数

サーバーは以下の環境変数で設定できます。これらは Zed の settings.json の env セクションで設定できます。

  • GIT_REPOSITORY:Git リポジトリへのパスです。Zed によって自動的に渡されます。
  • GIT_EXCLUDES:差分の結果から除外するファイルパターンをカンマ区切りで指定します(例:"*/uv.lock,*.log")。
  • GIT_OUTPUT_FORMAT:差分の結果の出力形式です。json(デフォルト)または text を指定できます。

開発

  1. このリポジトリをクローンします
  2. 依存関係をインストールします:uv sync --frozen

リリースノート

0.3.4 (2026-03-24)
  • 作業ツリーの変更(git diff と同等)を公開する git-unstaged-diff MCP ツールと、それに対応する tool-git-unstaged-diff CLI コマンドを追加しました。
  • pyproject.toml に git-prompts-mcp-cli のインストール済みスクリプトエントリーポイントを追加し、uv run python -m を経由せずにインストール後、CLI を直接実行できるようにしました。
0.3.3 (2026-01-18)
  • 除外ロジックを fnmatch から pathlib.PurePath に移行し、より堅牢で慣用的なパス照合を実現しました。古い Python バージョンでルートレベルのファイルを照合する際の回避策も含まれます。
  • テンプレートベースのワークフロー(例:OpenCode)に対応するため、プロンプトで $1 プレースホルダーを使用できるようにしました。これらのケースにはデフォルト値が用意されています。
  • プロンプトとツールのラッパー全体でログ記録と可観測性を強化し、より詳細なデバッグレベルおよび情報レベルのメッセージを追加しました。
  • パス除外パターンを検証するための新しいテストスイートを追加しました。
0.3.2 (2026-01-02)
  • FastMCP のプロンプト引数の型ヒントを Annotated[..., Field(...)] に更新し、クライアントがオプション引数の値を指定しない場合に、FastMCP がデフォルト値を正しく適用できるようにしました。
  • /generate-commit-message プロンプトを使ってコミットメッセージを生成する新しい CLI コマンド prompt-generate-commit-message を追加しました。--num-commits は任意で指定できます。
  • GIT_METHOD_COLLETION の誤字を GIT_METHOD_COLLECTION に修正し、ログ記録を追加するとともに、負の num_commits を拒否する検証を追加しました。
0.3.1 (2025-12-10)
  • ステージ済みの変更と最近のコミット履歴に基づいてコミットメッセージを生成する新しいプロンプト /generate-commit-message を追加しました。変更内容に潜在的な問題がある場合は、それも示します。
  • Gemini CLI 拡張機能として直接インストールできるよう、gemini-extension.json を追加しました。
  • 開発用に .pre-commit-config.yaml のサポートを追加しました。
0.3.0 (2025-09-05)
  • 3 つの MCP プロンプト git-diff、generate-pr-desc、git-cached-diff の MCP ツール版を実装しました。これにより、MCP 対応クライアントとの統合がさらに進みました。
  • 指定した祖先コミットから HEAD までのコミットメッセージを取得する新しいコマンド /git-commit-messages を追加しました。

ライセンス

MIT ライセンスです。詳細は LICENSE を参照してください。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。