ツールリスト
コンテンツ詳細
代替品
インストール
🚀 MCP Git Commit Generator
Model Context Protocol (MCP) を使用して、ステージングされた Git の変更からコンベンショナルなコミットメッセージを生成します。
✨ 主な機能
- ステージングされた Git の差分に基づく自動コミットメッセージ生成。
- Conventional Commits をサポート。
- stdio(デフォルト)と SSE の両方のトランスポートオプションを持つ MCP サーバー。
- 対話型の検査用のインスペクター UI(MCP インスペクター経由)。
📦 必要条件
- Docker を使用する場合:Docker(サーバーをコンテナ内で実行するため)
- PyPI/uvx を使用する場合:Python >= 3.13.5 と uv(推奨)または pip
- Git(バージョン管理用)
- MCP 互換クライアント(MCP 拡張機能付きの VS Code、Claude Desktop、Cursor、Windsurf など)
📦 インストール
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 を使用する際にリポジトリが別の場所にある場合は、マウントパスを調整してください。
🚀 クイックスタートガイド
-
パッケージをインストールする:上記の方法のいずれかを使用します。
- 推奨:
uvx mcp-git-commit-generator(または MCP クライアントで設定) - 代替案:
pip install mcp-git-commit-generator - Docker: 上記の Docker 設定を使用する
- 推奨:
-
MCP クライアントを設定する:上記の設定のいずれかを使用します。
-
Git リポジトリで変更をステージングする:
git add <files> -
MCP クライアントを通じてツールを使用する:
check_git_statusを使用して、現在のリポジトリの状態を確認します。generate_commit_messageを使用して、コンベンショナルなコミットメッセージを作成します。
-
生成されたメッセージで変更をコミットする
👨💻 開発者ガイド
以下のセクションは、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
代替品








