mcpField
C
commit-check MCP

commit-check MCP

ローカル
github.com/commit-checkバージョン管理16 日前に更新

commit-check MCP について

commit-check MCP はリポジトリのコミットポリシーをコーディングエージェントに提供し、設定ルールに基づいてコミットメッセージ、ブランチ名、作者、プッシュの安全性を検証します。作業ツリーやコミットを変更せず、対処可能な失敗と修正案を返します。

主な機能

  1. 01コミットメッセージのポリシー検証
  2. 02ブランチ名とリベース先の検証
  3. 03作者名とメールアドレスの検証
  4. 04プッシュ安全性の検証
  5. 05統合済みルールと設定の報告
  6. 06対処可能な検証結果

活用シーン

  1. 01コミット作成前の内容確認
  2. 02プッシュ前のリポジトリ状態の検証
  3. 03エージェント変更へのリポジトリ固有ルールの適用

MCP 対応

コミットメッセージ、ブランチ、作者、リポジトリ状態、プッシュ安全性を検証する MCP ツールに加え、有効なルールとサーバーの状態を確認するツールを提供します。MCP クライアントが stdio 経由で起動します。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"commit-check-commit-check": {
"command": "uvx",
"args": [
"commit-check-mcp"
]
}
}
}
起動コマンドuvx commit-check-mcp

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

パッケージ
pypicommit-check-mcp0.1.12

ツール

8

掲載時のツール一覧 · 2 週間前に更新

このツールにパラメーターはありません。

詳細

Commit Check

マージ前に、不適切なコミットを AI エージェント内で検出します。

PyPI CI Coverage MCP Registry Glama

ドキュメント · ルール · CLI · GitHub Action · GitHub App

Commit Check の Model Context Protocol サーバーです。チームや AI エージェント向けに、コミットポリシーをコードとして管理します。CI が適用するルールをコーディングエージェントに提供します。エージェントはコミットやプッシュの前に、コミットメッセージ、ブランチ名、作成者を検証します。修正方法が明確な場合は、適用すべき修正も提示します。

クイックスタート

claude mcp add commit-check -- uvx commit-check-mcp

ほかのすべてのクライアントでも同じコマンドを起動します。登録するオブジェクトは次のとおりです。

{
  "mcpServers": {
    "commit-check": {
      "command": "uvx",
      "args": ["commit-check-mcp"]
    }
  }
}

まだ uv をインストールしていませんか?curl -LsSf https://astral.sh/uv/install.sh | sh を実行するか、下の最後の行にあるように pip install commit-check-mcp を使用してください。

各クライアントでの設定場所
クライアント設定場所備考
Claude Codeclaude mcp add commit-check -- uvx commit-check-mcp共有可能な .mcp.json をリポジトリのルートに書き込むには、--scope project を追加します(--scope user を指定すると、すべてのプロジェクトで利用できるようになります)。上記のブロックを含む .mcp.json をコミットすることもできます。サーバーオブジェクト内に "type": "stdio" を追加してもかまいません。MCP サーバーは ~/.claude/settings.json では設定しません。
Claude DesktopmacOS ~/Library/Application Support/Claude/claude_desktop_config.json;Windows %APPDATA%\Claude\claude_desktop_config.json上記のブロックをそのまま使用します。Claude Desktop を再起動してください。
Cursorプロジェクトの .cursor/mcp.json またはグローバルの ~/.cursor/mcp.json上記のブロックをそのまま使用します(または Settings → Cursor Settings → MCP → Add new MCP server で、コマンド uvx commit-check-mcp を指定します)。
VS Code(Copilot エージェントモード).vscode/mcp.jsonキーが異なります:{"servers": {"commit-check": {"type": "stdio", "command": "uvx", "args": ["commit-check-mcp"]}}}
ClineMCP Servers パネル → Configure → cline_mcp_settings.json(クライアントのドキュメントを確認してください)上記のブロックをそのまま使用します。
Roo Codeプロジェクトの .roo/mcp.json またはグローバルの mcp_settings.json(Edit Global MCP)上記のブロックをそのまま使用します。必要に応じて "alwaysAllow": [...] を追加できます。
Windsurf~/.codeium/windsurf/mcp_config.json(クライアントのドキュメントを確認してください)上記のブロックをそのまま使用します。
Continueconfig.yaml(または .continue/mcpServers/ 内のファイル)mcpServers: の下にYAML リストを記述します。下記を参照してください。Continue は、上記の JSON ブロックを .continue/mcpServers/ に配置した場合も読み込みます。
Zed~/.config/zed/settings.jsonキーが異なります:{"context_servers": {"commit-check": {"command": "uvx", "args": ["commit-check-mcp"]}}}
その他のクライアントクライアントの MCP 設定クライアントで uvx を実行できない場合:pip install commit-check-mcp を実行し、"command" にインストールしたバイナリの絶対パスを設定して、args を削除します。which commit-check-mcp(macOS/Linux)、where commit-check-mcp(Windows cmd)、または Get-Command commit-check-mcp | Select-Object -ExpandProperty Source(PowerShell)で確認できます。

Continue の config.yaml エントリー全体です(name、version、schema は Continue で必須です。既存ファイルに mcpServers フラグメントのみを追加する場合はこれらを削除するか、.continue/mcpServers/ 内の単独ファイルとして保存してください)。

name: commit-check
version: 0.0.1
schema: v1
mcpServers:
  - name: commit-check
    command: uvx
    args: ["commit-check-mcp"]

ツール

ツールチェック内容引数
validate_commit_messageコミットメッセージ:Conventional Commits、件名の長さと大文字・小文字、本文、サインオフ、WIP と fixup のマーカー、AI の帰属情報message
validate_branch_nameブランチ名、またはチェックアウト中のブランチ名と、設定されている場合はそのリベース先branch?
validate_author_info作成者名とメールアドレス。省略した場合はリポジトリの git config から読み取りますauthor_name? author_email?
validate_commit_contextメッセージ、ブランチ、作成者を 1 回の呼び出しでチェックします。渡された項目が対象ですmessage? branch? author_name? author_email?
validate_push_safety強制プッシュではないこと(CC301)push_refs? — pre-push の行。省略すると、ブランチとその上流ブランチを比較します
validate_repository_state最新のコミットのメッセージと作成者、チェックアウト中のブランチ、任意でプッシュinclude_message include_branch include_author(デフォルトは true)、include_push(デフォルトは false)
describe_validation_rulesなし:統合された設定と、それによって有効になるルールを返します—
server_healthなし:サーバー、コミットチェック、MCP SDK のバージョンを返します—

server_health を除くすべてのツールは、次の引数も受け取ります。

  • repo_path — cchk.toml / commit-check.toml が適用されるリポジトリです。 ツールが git の状態を読み取る場合は git リポジトリである必要があります。すべての値を自分で渡す場合は、設定ファイルを含む通常のディレクトリで十分です。
  • config_path — リポジトリ独自の設定の代わりに使用する設定ファイルです。 相対パスは repo_path を起点に解決されます。
  • config — インラインのオーバーライドです。上位の設定に統合されます。例:{"commit": {"require_body": true}}。

どのツールも作業ツリーやコミットを変更しません。validate_push_safety と validate_repository_state は SHA を解決するために git fetch を実行する場合があるため、読み取り専用ではないと注釈されているのはこの 2 つだけです。MCP ツールのヒントに基づいて許可を制御するクライアントは、残り 6 つを自動承認できます。

引数の例

リポジトリのルールに従ってメッセージを検証します。

{
  "message": "feat(api): add MCP validation tool",
  "repo_path": "/path/to/repo"
}

プッシュも含め、現在のリポジトリの状態をチェックします。

{
  "repo_path": "/path/to/repo",
  "include_push": true
}

git の pre-push ref メタデータ(<local_ref> <local_sha> <remote_ref> <remote_sha>)を使って、プッシュの安全性を検証します。

{
  "repo_path": "/path/to/repo",
  "push_refs": "refs/heads/main abc123 refs/heads/main def456"
}

オーバーライドを統合した場合に適用されるルールを確認します。

{
  "repo_path": "/path/to/repo",
  "config": {
    "commit": {
      "require_body": true
    }
  }
}

結果

すべての validate_* ツールは、commit-check --format json が出力する形式を返します。

{
  "status": "pass|fail|skip",
  "warnings": 0,
  "checks": [
    {
      "rule_id": "CC001",
      "check": "message",
      "status": "pass|fail|warn|skip",
      "value": "...",
      "error": "...",
      "suggest": "...",
      "fix": "...",
      "docs_url": "https://commit-check.com/rules/#cc001",
      "reason": ""
    }
  ]
}
  • 拒否となるのは fail だけです。skip は何も検証されなかったことを意味し、承認として扱ってはいけません。warn は実行を失敗させずに報告されます。commit-check 2.19.0 以降では、スキップされたチェックの理由が reason に示されます。例:"author dependabot[bot] is in [commit].ignore_authors"。それより古いリリースでは、このフィールドは出力されません。
  • fail の場合、空でない fix があればその内容をそのまま適用し、そうでなければ suggest に従ってから、もう一度検証してください。サーバーの指示により、エージェントはこの手順を実行します。
  • 呼び出し自体を実行できない場合(空の message、存在しない repo_path、必要な場面で git リポジトリではない repo_path、無効な設定、解決できない push_refs の SHA など)は、問題を示す MCP ツールエラーが返されます。合格として返されることはありません。

開発

pip install -e .[dev]
python -m pytest

サーバーは stdio で通信するため、MCP クライアントが起動します。起動を確認する場合に限り、手動で uvx commit-check-mcp を実行してください。

コミュニティ

質問やアイデアはディスカッションへ、バグはイシューへお寄せください。 リリースにはセマンティック バージョニングを採用しています。MIT ライセンスの下でリリースされています。


mcp-name: io.github.commit-check/commit-check-mcp

コメント

MCP は初めてですか?

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

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