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 集成