commit-check MCP

io.github.commit-check由 GitHub 帳號 commit-check 發布v0.1.12更新於 Oct 24, 2026

Commit policy as code for AI agents: check commit messages, branch names and authors before a push

發布方自己的服務:check.tattoo: tattoo size and placement guide

已驗證STDIO僅桌面開發者工具安全與監控

概覽

AI 產生的概覽

本機 MCP 伺服器,把 Commit Check 的提交策略規則交給編碼助理,在提交前檢查提交訊息、分支名稱、作者與推送安全性。

可以做什麼
  • 依 Conventional Commits、標題長度、內文、簽署、WIP/fixup 標記與 AI 署名規則檢查提交訊息
  • 檢查分支名稱及其 rebase 目標,以及作者姓名與電子郵件(可讀取 git config)
  • 一次檢查提交訊息、分支與作者,或檢視儲存庫最新提交、目前分支及可選的推送
  • 檢查推送安全性,辨識強制推送
  • 回傳合併後的設定與啟用的規則,並回報伺服器與 commit-check 版本
適用情境
適合在 CI 中強制提交策略的儲存庫裡,由編碼助理執行提交或推送的情境,讓助理先自行檢查提交訊息、分支與作者,並在修正明確時直接套用修正。
執行需求
以本機 stdio 程序由 MCP 用戶端啟動,通常透過 uvx commit-check-mcp 或已用 pip 安裝的 commit-check-mcp 執行檔。以儲存庫為基礎的檢查需要 git 儲存庫及其 cchk.toml 或 commit-check.toml 設定;未宣告任何驗證或環境變數。
安裝前請注意
沒有工具會更動工作區或提交,但 validate_push_safety 與 validate_repository_state 可能執行 git fetch,因此不算唯讀。skip 代表未進行任何檢查,不能視為通過。儲存庫路徑與設定會傳給本機伺服器。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 commit-check MCP,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

[Commit Check]

Catch bad commits before they merge — inside your AI agent.

[PyPI] [CI] [Coverage] [MCP Registry] [Glama]

Docs · Rules · CLI · GitHub Action · GitHub App

The Model Context Protocol server for Commit Check, commit policy as code for teams and AI agents. It gives your coding agent the rules your CI enforces: the agent validates its commit message, branch name and author before it commits or pushes, and when a correction is unambiguous it gets the fix to apply.

Quick start

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

Every other client launches the same command. This is the object to register:

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

No uv yet? curl -LsSf https://astral.sh/uv/install.sh | sh — or use pip install commit-check-mcp, as in the last row below.

Where each client keeps it

ClientWhere it goesNotes
Claude Codeclaude mcp add commit-check -- uvx commit-check-mcpAdd --scope project to write a shareable .mcp.json at the repo root (--scope user makes it available in all your projects). You can also commit a .mcp.json containing the block above; "type": "stdio" may be added inside the server object. MCP servers are not configured in ~/.claude/settings.json.
Claude DesktopmacOS ~/Library/Application Support/Claude/claude_desktop_config.json; Windows %APPDATA%\Claude\claude_desktop_config.jsonBlock above as-is; restart Claude Desktop.
Cursorproject .cursor/mcp.json or global ~/.cursor/mcp.jsonBlock above as-is (or Settings → Cursor Settings → MCP → Add new MCP server with command uvx commit-check-mcp).
VS Code (Copilot agent mode).vscode/mcp.jsonDifferent key: {"servers": {"commit-check": {"type": "stdio", "command": "uvx", "args": ["commit-check-mcp"]}}}
ClineMCP Servers panel → Configure → cline_mcp_settings.json (check your client's docs)Block above as-is.
Roo Codeproject .roo/mcp.json or global mcp_settings.json (Edit Global MCP)Block above as-is; optional "alwaysAllow": [...].
Windsurf~/.codeium/windsurf/mcp_config.json (check your client's docs)Block above as-is.
Continueconfig.yaml (or a file in .continue/mcpServers/)YAML list under mcpServers:, see below. Continue also picks up the JSON block above when dropped into .continue/mcpServers/.
Zed~/.config/zed/settings.jsonDifferent key: {"context_servers": {"commit-check": {"command": "uvx", "args": ["commit-check-mcp"]}}}
Anything elseyour client's MCP configIf the client cannot run uvx: pip install commit-check-mcp, then set "command" to the absolute path of the installed binary and drop args. Find it with which commit-check-mcp (macOS/Linux), where commit-check-mcp (Windows cmd) or Get-Command commit-check-mcp | Select-Object -ExpandProperty Source (PowerShell).

Continue's config.yaml entry in full (name, version and schema are required by Continue; drop them if you are adding only the mcpServers fragment to an existing file, or save this as a standalone file in .continue/mcpServers/):

yaml
name: commit-checkversion: 0.0.1schema: v1mcpServers:  - name: commit-check    command: uvx    args: ["commit-check-mcp"]

Tools

ToolWhat it checksArguments
validate_commit_messageA commit message: Conventional Commits, subject length and case, body, sign-off, WIP and fixup markers, AI attributionmessage
validate_branch_nameA branch name, or the checked-out one, and its rebase target when configuredbranch?
validate_author_infoAuthor name and email; read from the repository's git config when omittedauthor_name? author_email?
validate_commit_contextMessage, branch and author in one call, for whichever you passmessage? branch? author_name? author_email?
validate_push_safetyThat a push is not a force push (CC301)push_refs? — pre-push lines; omit to compare the branch with its upstream
validate_repository_stateThe latest commit's message and author, the checked-out branch and, optionally, the pushinclude_message include_branch include_author (default true), include_push (default false)
describe_validation_rulesNothing: returns the merged config and the rules it enables—
server_healthNothing: returns the server, commit-check and MCP SDK versions—

Every tool but server_health also takes:

  • repo_path — the repository whose cchk.toml / commit-check.toml applies. It must be a git repository when the tool reads git state; a plain directory holding a config file is enough when you pass every value yourself.
  • config_path — a config file to use instead of the repository's own; relative paths resolve from repo_path.
  • config — inline overrides merged on top, e.g. {"commit": {"require_body": true}}.

No tool changes the working tree or the commits. validate_push_safety and validate_repository_state may run git fetch to resolve a SHA, so only they are annotated as not read-only; a client that gates on MCP tool hints can auto-approve the other six.

Example arguments

Validate a message with the repository's rules:

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

Check the repository as it stands, including the push:

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

Validate push safety from git pre-push ref metadata (<local_ref> <local_sha> <remote_ref> <remote_sha>):

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

See which rules apply once an override is merged in:

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

Results

Every validate_* tool returns the shape commit-check --format json prints:

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": ""    }  ]}
  • Only fail is a rejection. skip means nothing was validated — never read it as approval — and warn is reported without failing the run. With commit-check 2.19.0 or later, a skipped check names why in reason, e.g. "author dependabot[bot] is in [commit].ignore_authors"; older releases leave the field out.
  • On fail, apply a non-empty fix verbatim, otherwise follow suggest, then validate again. The server's instructions teach the agent this loop.
  • A call that cannot run at all — an empty message, a repo_path that does not exist or is not a git repository where one is needed, an invalid config, a push_refs SHA that cannot be resolved — comes back as an MCP tool error that names the problem, never as a pass.

Development

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

The server speaks stdio, so an MCP client launches it; run uvx commit-check-mcp by hand only to see that it starts.

Community

Questions and ideas go to Discussions, bugs to Issues. Releases follow Semantic Versioning. Released under the MIT License.


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

來源:README.md,提交 3f391a8

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

2
  1. v0.1.12最新Oct 8, 2026
  2. v0.1.11Sep 16, 2026

評分

已滿足適用檢查項的 50%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分

其他 Check 整合