mcpField
G
Git Mcp

Git Mcp

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

Git Mcp について

Git Mcpは、ローカルのGitリポジトリを管理するMCPサーバーです。リポジトリやタグ、コミットの確認に加え、タグの作成・プッシュやリポジトリの更新を行えます。

主な機能

  1. 01指定ディレクトリ内のリポジトリ一覧
  2. 02最新タグと日付の確認
  3. 03最新タグ以降のコミット一覧
  4. 04Gitタグの作成とプッシュ
  5. 05ブランチの切り替えとリポジトリのプル

活用シーン

  1. 01リリースタグ以降のコミット確認
  2. 02リリースタグの作成とリモートへのプッシュ
  3. 03リモートからのローカルリポジトリ更新

MCP 対応

MCPクライアントにGitリポジトリ操作のツールを提供し、`GIT_REPOS_PATH`でリポジトリの場所を指定します。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"git-mcp-kjozsa": {
"command": "npx",
"args": [
"-y",
"@smithery/cli"
]
}
}
}
起動コマンドnpx -y @smithery/cli

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

パッケージ
npm@smithery/cli

ツール

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

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

詳細

Git MCP

smithery badge ローカルリポジトリで 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 つのテストスクリプトが含まれています。

  1. test_git_mcp.py - MCP サーバーを使わずに、基盤となる Git コマンドの機能を直接テストします。
  2. 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

コメント

MCP は初めてですか?

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

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