ツールリスト
コンテンツ詳細
代替品
インストール
🚀 MCP Git Commit Generator
このツールは、Model Context Protocol (MCP) を利用して、Gitのステージングされた変更からコンベンショナルなコミットメッセージを自動生成します。
🚀 クイックスタート
MCP Git Commit Generatorを使用するには、以下の手順に従ってください。
- パッケージのインストール: 以下のいずれかの方法でインストールします。
- 推奨:
uvx mcp-git-commit-generator(またはMCPクライアントで設定) - 代替:
pip install mcp-git-commit-generator - Docker: 上記のDocker設定を使用します。
- 推奨:
- MCPクライアントの設定: 上記の設定のいずれかを使用して、MCPクライアントを設定します。
- Gitリポジトリで変更をステージングする:
git add <files> - MCPクライアントを通じてツールを使用する:
check_git_statusを使用して、現在のリポジトリの状態を確認します。generate_commit_messageを使用して、コンベンショナルなコミットメッセージを作成します。
- 生成されたメッセージで変更をコミットする
✨ 主な機能
- ステージングされたGitの差分に基づく自動コミットメッセージ生成
- Conventional Commits のサポート
- stdio (デフォルト) とSSEトランスポートオプションを備えたMCPサーバー
- インタラクティブな検査用のインスペクターUI (MCPインスペクター経由)
📦 インストール
MCP Git Commit Generatorは、複数の方法でインストールして使用することができます。
オプション1: uvxを使用する (推奨)
パッケージを使用する最も簡単な方法は、仮想環境を自動的に管理する uvx を使用することです。
uvx mcp-git-commit-generator
オプション2: PyPIからインストール
pip install mcp-git-commit-generator
またはuvを使用する場合:
uv pip install mcp-git-commit-generator
オプション3: Dockerを使用する
GitHub Container Registryから事前構築されたDockerイメージを使用します (インストール不要)。
docker run -i --rm --mount type=bind,src=${HOME},dst=${HOME} ghcr.io/theoklitosbam7/mcp-git-commit-generator:latest
🛠️ 利用可能なツール
このMCPサーバーは、コンベンショナルなコミットメッセージを生成するのに役立つ以下のツールを提供します。
generate_commit_message
ステージングされたGitの変更に基づいて、コンベンショナルなコミットメッセージを生成します。
パラメーター:
repo_path(文字列、オプション): Gitリポジトリへのパス。省略した場合、現在のディレクトリが使用されます。commit_type(文字列、オプション): コンベンショナルなコミットタイプ (例:feat,fix,docs,style,refactor,perf,build,ci,test,chore,revert)。省略した場合、タイプは自動検出されます。scope(文字列、オプション): 変更のスコープ (例: ファイルまたはモジュール名)。省略した場合、スコープは変更されたファイルに基づいて自動検出されます。
使用方法:
- 変更をステージングする:
git add <files> - MCPクライアントを通じてツールを使用して、コミットメッセージを生成する
- ツールはステージングされた変更を分析し、適切なコンベンショナルなコミットメッセージを生成する
check_git_status
現在のGitリポジトリの状態を確認します。ステージングされたファイル、ステージングされていないファイル、追跡されていないファイルが含まれます。
パラメーター:
repo_path(文字列、オプション): Gitリポジトリへのパス。省略した場合、現在のディレクトリが使用されます。
使用方法:
コミットメッセージを生成する前に、現在のGitリポジトリの状態の概要を取得するためにこのツールを使用します。
🧩 MCPクライアントの設定
お好みのMCPクライアントでMCP Git Commit Generatorを設定します。いくつかのオプションがあります。
VS Code
VS Codeの mcp.json ファイル (通常はワークスペースの .vscode/mcp.json にあります) に以下の設定のいずれかを追加します。
uvxを使用する (推奨)
{
"servers": {
"mcp-git-commit-generator": {
"command": "uvx",
"args": ["mcp-git-commit-generator"]
}
}
}
Dockerを使用する
{
"servers": {
"mcp-git-commit-generator": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"--mount",
"type=bind,src=${userHome},dst=${userHome}",
"ghcr.io/theoklitosbam7/mcp-git-commit-generator:latest"
]
}
}
}
設定をユーザーの settings.json ファイルに入れたい場合は、以下を追加します。
{
"mcp": {
"servers": {
"mcp-git-commit-generator": {
"command": "uvx",
"args": ["mcp-git-commit-generator"]
}
}
}
}
Cursor
CursorのMCP設定ファイル (通常は ~/.cursor/mcp.json にあります) に以下のいずれかを追加します。
uvxを使用するCursor (推奨)
{
"mcpServers": {
"mcp-git-commit-generator": {
"command": "uvx",
"args": ["mcp-git-commit-generator"]
}
}
}
Dockerを使用するCursor
{
"mcpServers": {
"mcp-git-commit-generator": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"--mount",
"type=bind,src=${userHome},dst=${userHome}",
"ghcr.io/theoklitosbam7/mcp-git-commit-generator:latest"
]
}
}
}
Windsurf
Windsurfを以下のMCPサーバー設定のいずれかで設定します (通常は ~/.codeium/windsurf/mcp_config.json にあります)。
uvxを使用するWindsurf (推奨)
{
"mcpServers": {
"mcp-git-commit-generator": {
"command": "uvx",
"args": ["mcp-git-commit-generator"]
}
}
}
Dockerを使用するWindsurf
{
"mcpServers": {
"mcp-git-commit-generator": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"--mount",
"type=bind,src=${userHome},dst=${userHome}",
"ghcr.io/theoklitosbam7/mcp-git-commit-generator:latest"
]
}
}
}
Claude Desktop
Claude Desktopの設定ファイル (macOSでは通常 ~/Library/Application Support/Claude/claude_desktop_config.json にあります) に以下のいずれかを追加します。
uvxを使用するClaude Desktop (推奨)
{
"mcpServers": {
"mcp-git-commit-generator": {
"command": "uvx",
"args": ["mcp-git-commit-generator"]
}
}
}
Dockerを使用するClaude Desktop
{
"mcpServers": {
"mcp-git-commit-generator": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"--mount",
"type=bind,src=${userHome},dst=${userHome}",
"ghcr.io/theoklitosbam7/mcp-git-commit-generator:latest"
]
}
}
}
注意: Docker設定の
--mountオプションにより、Dockerコンテナがホームディレクトリにアクセスできるようになり、ファイルシステム内のどこにあるGitリポジトリでも動作できます。uvxまたはpipインストールを使用する場合、このマウントは必要ありません。Dockerを使用する場合、リポジトリが他の場所にある場合はマウントパスを調整してください。
👨💻 開発者ガイド
以下のセクションは、MCP Git Commit Generatorに貢献または変更を加えたい開発者を対象としています。
ローカル開発環境のセットアップ 🛠️
開発にDockerを使用したくない場合は、サーバーをローカルで実行することができます。
必要条件:
- Python >= 3.13.5
- MCP CLI >= 1.10.1
- uv (依存関係管理用、オプションですが推奨)
- Node.js (インスペクターUI用、オプション)
- Python Debugger Extension (デバッグ用、オプション)
インストール:
-
リポジトリをクローンする:
git clone https://github.com/theoklitosBam7/mcp-git-commit-generator.git cd mcp-git-commit-generator -
環境を準備する:
このプロジェクトの環境を設定するには、2つのアプローチがあります。好みに応じていずれかを選択できます。
注意: 仮想環境を作成した後、VSCodeまたはターミナルを再読み込みして、仮想環境のPythonが使用されるようにしてください。
アプローチ 手順 uvを使用する1. 仮想環境を作成する: uv venv
2. VSCodeコマンド "Python: Select Interpreter" を実行し、作成した仮想環境のPythonを選択する
3. 依存関係 (開発用依存関係を含む) をインストールする:uv pip install -r pyproject.toml --group dev
4.mcp-git-commit-generatorを以下のコマンドでインストールする:uv pip install -e .。pipを使用する1. 仮想環境を作成する: python -m venv .venv
2. VSCodeコマンド "Python: Select Interpreter" を実行し、作成した仮想環境のPythonを選択する
3. 依存関係をインストールする:pip install -e .。
4. pipの開発用依存関係をインストールする:pip install -r requirements-dev.txt。 -
(オプション) インスペクターの依存関係をインストールする:
cd inspector npm install
📦 PyPIへの公開
このプロジェクトには自動化されたPyPI公開ワークフロー (.github/workflows/pypi-publish.yml) が含まれています。
- トリガー条件:
v*.*.*パターンに一致するタグのプッシュ、手動のワークフローディスパッチ、またはmainへのプルリクエスト - ビルド:
buildパッケージを使用してPythonパッケージの配布物をビルドする - 公開: タグがプッシュされたときに、信頼できる公開 (OIDC) を使用して自動的にPyPIに公開する
新しいバージョンを公開するには:
pyproject.tomlのバージョンを更新する- Gitタグを作成してプッシュする:
git tag vX.Y.Z && git push origin vX.Y.Z - ワークフローが自動的にビルドしてPyPIに公開する
🐳 Dockerでのビルドと実行
Dockerを使用してMCP Git Commit Generatorをビルドして実行することができます。提供されているDockerfileは、依存関係管理に uv を使用したマルチステージビルドを行い、セキュリティのためにサーバーを非ルートユーザーとして実行します。
Dockerイメージをビルドする
docker build -t mcp-git-commit-generator .
コンテナ内でサーバーを実行する (デフォルト: stdioトランスポート)
GitHub Container Registryから公開されているイメージを直接実行することができます。
docker run -d \
--name mcp-git-commit-generator \
ghcr.io/theoklitosbam7/mcp-git-commit-generator:latest
デフォルトでは、コンテナは以下を実行します。
mcp-git-commit-generator --transport stdio
SSEトランスポートを使用したい場合 (インスペクターUIまたはリモートアクセス用)、エントリーポイントをオーバーライドするか、手動で実行します。
docker run -d \
--name mcp-git-commit-generator \
-p 3001:3001 \
--entrypoint mcp-git-commit-generator \
ghcr.io/theoklitosbam7/mcp-git-commit-generator:latest --transport sse --host 0.0.0.0 --port 3001
SSEを使用する場合、サーバーは http://localhost:3001 で利用可能になります。
🖥️ サーバーをローカルで実行する
ローカルで実行するには (Dockerを使用せずに):
- ローカル開発環境のセットアップセクションで説明されているように、uvまたはPython環境を設定します。
- プロジェクトのルートから、以下を実行します。
mcp-git-commit-generator
# 環境にmcp-git-commit-generatorがインストールされている場合 (デフォルト: stdio)
mcp-git-commit-generator
SSEトランスポートを使用するmcp-git-commit-generator
mcp-git-commit-generator --transport sse
uvを使用する
uv run -m mcp_git_commit_generator --transport sse
Pythonを直接使用する
python -m mcp_git_commit_generator --transport sse
他のオプションを指定することもできます。例えば:
python -m mcp_git_commit_generator --transport sse --host 0.0.0.0 --port 3001 -v
SSEを使用する場合、サーバーはデフォルトで
0.0.0.0:3001でリッスンします。または、上記のオプションで指定した通りになります。
注意:
- CLIエントリーポイントを使用する場合は、パッケージがインストールされていて、環境がアクティブであることを確認してください。
- 位置引数 (例:
python -m mcp_git_commit_generator sse) を使用しないでください。常に--transport sseのようなオプションを使用してください。 - 利用可能な引数とその値は以下の通りです。
--transport: トランスポートタイプ (例:stdio(デフォルト),sse)。--host: サーバーをバインドするホスト (デフォルト:0.0.0.0)。--port: サーバーをバインドするポート (デフォルト:3001)。-v,--verbose: 詳細レベル (例:-v,-vv)。
🔎 インスペクターUIを起動する
inspector ディレクトリから:
npm run dev:inspector
インスペクターUIは
http://localhost:5173で利用可能になります。
🗂️ プロジェクト構造
.
├── .github/ # GitHubワークフローとイシューテンプレート
├── .gitignore
├── .markdownlint.jsonc
├── .python-version
├── .vscode/ # VSCode設定
├── LICENSE
├── README.md
├── pyproject.toml # Pythonプロジェクト設定
├── requirements-dev.txt # 開発用依存関係
├── uv.lock # Python依存関係のロックファイル
├── Dockerfile # Dockerビルドファイル
├── build/ # ビルドアーティファクト
├── src/ # Pythonソースコード
│ └── mcp_git_commit_generator/
│ ├── __init__.py # メインエントリーポイント
│ ├── __main__.py # CLIエントリーポイント
│ └── server.py # メインサーバーの実装
└── inspector/ # インスペクター関連ファイル
├── package.json # Node.js依存関係
└── package-lock.json
⚙️ 開発用の高度なMCPサーバー設定
.vscode/mcp.json ファイルは、VS Codeや関連ツールがMCP Git Commit Generatorサーバーに接続する方法を設定します。このファイルは利用可能なサーバートランスポートとその接続詳細を定義し、開発とデバッグのために異なるモード (デフォルトはstdio、オプションはSSE) を簡単に切り替えることができます。
開発用の mcp.json の例
{
"servers": {
"mcp-git-commit-generator": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"--mount",
"type=bind,src=${userHome},dst=${userHome}",
"ghcr.io/theoklitosbam7/mcp-git-commit-generator:latest"
]
},
"sse-mcp-git-commit-generator": {
"type": "sse",
"url": "http://localhost:3001/sse"
},
"stdio-mcp-git-commit-generator": {
"type": "stdio",
"command": "${command:python.interpreterPath}",
"args": ["-m", "mcp_git_commit_generator", "--transport", "stdio"]
},
"uvx-mcp-git-commit-generator": {
"command": "uvx",
"args": ["mcp-git-commit-generator"]
}
}
}
- mcp-git-commit-generator: 公開されているイメージを使用して、Dockerコンテナ内でサーバーを実行します (デフォルト: stdioトランスポート)。
- sse-mcp-git-commit-generator:
http://localhost:3001/sseでServer-Sent Events (SSE) を使用してMCPサーバーに接続します。サーバーを--transport sseで実行した場合にのみ有効です。 - stdio-mcp-git-commit-generator: 標準入出力 (stdio) を使用して接続し、サーバーをサブプロセスとして実行します。これはデフォルトで、ローカル開発とデバッグに推奨されます。
- uvx-mcp-git-commit-generator: uvxを使用して、PyPIからパッケージを自動的にインストールして実行します。
🐞 MCPサーバーのデバッグ
注意:
- MCP Inspector は、MCPサーバーをテストおよびデバッグするための視覚的な開発ツールです。
- すべてのデバッグモードでブレークポイントがサポートされているため、ツールの実装コードにブレークポイントを追加することができます。
- インスペクターUIでツールの引数を直接テストできます: インスペクターを使用するときは、ツールを選択し、入力フィールドに引数を入力して、実際の使用方法をシミュレートし、引数の処理をデバッグすることができます。
| デバッグモード | 説明 | デバッグ手順 |
|---|---|---|
| MCPインスペクター | MCPインスペクターを使用してMCPサーバーをデバッグします。 | 1. Node.js をインストールする 2. インスペクターをセットアップする: cd inspector && npm install 3. VS Codeのデバッグパネルを開く。 Debug in Inspector (Edge) または Debug in Inspector (Chrome) を選択する。F5を押してデバッグを開始する。4. MCPインスペクターがブラウザで起動したら、 Connect ボタンをクリックしてこのMCPサーバーに接続する。5. その後、 List Tools をクリックし、ツールを選択し、パラメーターを入力し (上記の引数を参照)、Run Tool をクリックしてサーバーコードをデバッグする。 |
⚙️ デフォルトのポートとカスタマイズ
| デバッグモード | ポート | 定義 | カスタマイズ | 注意 |
|---|---|---|---|---|
| MCPインスペクター | 3001 (サーバー、SSEのみ); 5173および3000 (インスペクター) | tasks.json | launch.json, tasks.json, __init__.py, mcp.json を編集して、上記のポートを変更します。 | N/A |
💬 フィードバック
フィードバックや提案がある場合は、MCP Git Commit GeneratorのGitHubリポジトリ でイシューを開いてください。
📄 ライセンス
MIT ライセンス © 2025 Theoklitos Bampouris
代替品









