Valida mensajes de commit, nombres de ramas e información del autor según las políticas del equipo para asegurar el cumplimiento antes de subir código.
También conocido como commit-check/commit-check-mcp, commit-check-mcp
- Stars
- 1
- Herramientas
- 11
- Descargas, 30 días
- 346
- Última versión
- 0.1.13
- Último commit
- 12 nov 2026
- Licencia
- MIT
¿Qué es commit-check MCP?
commit-check es un MCP server. Valida mensajes de commit, nombres de ramas e información del autor según las políticas del equipo para asegurar el cumplimiento antes de subir código. Expone 11 herramientas, como validate_commit_message, validate_branch_name, validate_author_info.
Resumen generado a partir del README del proyecto
Acerca del MCP server de commit-check
Commit-check MCP ofrece una forma para que los agentes de programación sigan las políticas de git específicas de un equipo mediante la validación de mensajes de commit, nombres de ramas e información del autor. Actúa como un puente local entre tu agente de IA y las reglas que normalmente aplican los sistemas de integración continua. Al usar este servidor, un agente puede verificar que su propio trabajo cumpla con las normas antes de intentar hacer commit o push de código a un repositorio.
Los desarrolladores pueden integrar este servidor en varios clientes, incluyendo Claude Desktop, Cursor, VS Code y Zed usando el comando uvx. El servidor opera vía stdio y puede configurarse para usar ajustes específicos del repositorio o sobrescrituras en línea. Incluye herramientas especializadas como validate_commit_message para verificar Conventional Commits y validate_push_safety para prevenir force pushes accidentales. Cuando una validación falla, el servidor proporciona correcciones específicas que un agente puede aplicar para resolver el problema automáticamente.
Qué puedes hacer con él
- 1Validar el cumplimiento de los mensajes de commitPide a tu agente de IA que compruebe si un mensaje de commit propuesto sigue las reglas de Conventional Commits y los requisitos de longitud.
Escrito a partir del README del proyecto. Cada caso de uso se verifica con una cita del mismo.
Cómo instalar commit-check MCP
Formatos verificados el 10 nov 2026Instalar commit-check MCP en Claude Code
$ claude mcp add commit-check-mcp -- uvx commit-check-mcpInstalar commit-check MCP en Cursor
~/.cursor/mcp.json
{
"mcpServers": {
"commit-check-mcp": {
"command": "uvx",
"args": [
"commit-check-mcp"
]
}
}
}Instalar commit-check MCP en VS Code
.vscode/mcp.json
{
"servers": {
"commit-check-mcp": {
"type": "stdio",
"command": "uvx",
"args": [
"commit-check-mcp"
]
}
}
}Instalar commit-check MCP en Claude Desktop
claude_desktop_config.json
{
"mcpServers": {
"commit-check-mcp": {
"command": "uvx",
"args": [
"commit-check-mcp"
]
}
}
}Instalar commit-check MCP en Codex
~/.codex/config.toml
[mcp_servers.commit-check-mcp] command = "uvx" args = ["commit-check-mcp"]
Instalar commit-check MCP en Gemini CLI
~/.gemini/settings.json
{
"mcpServers": {
"commit-check-mcp": {
"command": "uvx",
"args": [
"commit-check-mcp"
]
}
}
}Herramientas de commit-check MCP 11
Detectado desde el READMEvalidate_commit_messagevalidate_branch_namevalidate_author_infovalidate_commit_contextvalidate_push_safetyvalidate_repository_statedescribe_validation_rulesserver_healthrepo_pathconfig_pathconfig
| validate_commit_message | — | |
| validate_branch_name | — | |
| validate_author_info | — | |
| validate_commit_context | — | |
| validate_push_safety | — | |
| validate_repository_state | — | |
| describe_validation_rules | — | |
| server_health | — | |
| repo_path | — | |
| config_path | — | |
| config | — |
Verificaciones automáticas
Ejecutado 12 nov 2026Informe completo →Pasó nuestras verificaciones automáticas. Esto no es una auditoría de seguridad: lee el código y dale al servidor el acceso más limitado que necesite. Cómo funcionan las verificaciones
- Repositorio de origen vinculado y accesibleAprobado
- Licencia de código abierto (OSI)Aprobado
- Commit o lanzamiento en el último añoAprobado
- El nombre del paquete no es similar a un paquete popularAprobado
- El endpoint remoto usa HTTPSNo verificado
- Las herramientas destructivas están etiquetadasAprobado
- Sin instrucciones ocultas para el modeloAprobado
- Sin avisos críticos en el paquete ni en sus dependenciasAprobado
README
Ver en GitHubCatch bad commits before they merge — inside your AI agent.
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
claude mcp add commit-check -- uvx commit-check-mcp
Every other client launches the same command. This is the object to register:
{
"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
| Client | Where it goes | Notes |
|---|---|---|
| Claude Code | claude mcp add commit-check -- uvx commit-check-mcp |
Add --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 Desktop | macOS ~/Library/Application Support/Claude/claude_desktop_config.json; Windows %APPDATA%\Claude\claude_desktop_config.json |
Block above as-is; restart Claude Desktop. |
| Cursor | project .cursor/mcp.json or global ~/.cursor/mcp.json |
Block 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.json |
Different key: {"servers": {"commit-check": {"type": "stdio", "command": "uvx", "args": ["commit-check-mcp"]}}} |
| Cline | MCP Servers panel → Configure → cline_mcp_settings.json (check your client's docs) |
Block above as-is. |
| Roo Code | project .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. |
| Continue | config.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.json |
Different key: {"context_servers": {"commit-check": {"command": "uvx", "args": ["commit-check-mcp"]}}} |
| Anything else | your client's MCP config | If 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/):
name: commit-check
version: 0.0.1
schema: v1
mcpServers:
- name: commit-check
command: uvx
args: ["commit-check-mcp"]
Tools
| Tool | What it checks | Arguments |
|---|---|---|
validate_commit_message |
A commit message: Conventional Commits, subject length and case, body, sign-off, WIP and fixup markers, AI attribution | message |
validate_branch_name |
A branch name, or the checked-out one, and its rebase target when configured | branch? |
validate_author_info |
Author name and email, and whether an AI tool is the author (CC017); read from the repository's git config when omitted | author_name? author_email? |
validate_commit_context |
Message, branch and author in one call, for whichever you pass | message? branch? author_name? author_email? |
validate_push_safety |
That a push is not a force push (CC301) | push_refs? — pre-push lines; omit to compare the branch with its upstream |
validate_repository_state |
The latest commit's message and author, the checked-out branch and, optionally, the push | include_message include_branch include_author (default true), include_push (default false) |
describe_validation_rules |
Nothing: returns the merged config and the rules it enables | — |
server_health |
Nothing: returns the server, commit-check and MCP SDK versions | — |
Every tool but server_health also takes:
repo_path— the repository whosecchk.toml/commit-check.tomlapplies. 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 fromrepo_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.
Validate a message with the repository's rules:
{
"message": "feat(api): add MCP validation tool",
"repo_path": "/path/to/repo"
}
Check the repository as it stands, including the push:
{
"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>):
{
"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:
{
"repo_path": "/path/to/repo",
"config": {
"commit": {
"require_body": true
}
}
}
Results
Every validate_* tool returns the shape commit-check --format json prints:
{
"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
failis a rejection.skipmeans nothing was validated — never read it as approval — andwarnis reported without failing the run. With commit-check 2.19.0 or later, a skipped check names why inreason, e.g."author dependabot[bot] is in [commit].ignore_authors"; older releases leave the field out. - On
fail, apply a non-emptyfixverbatim, otherwise followsuggest, then validate again. The server's instructions teach the agent this loop. - A call that cannot run at all — an empty
message, arepo_paththat does not exist or is not a git repository where one is needed, an invalid config, apush_refsSHA that cannot be resolved — comes back as an MCP tool error that names the problem, never as a pass.
Development
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
Preguntas sobre commit-check MCP
¿Cómo agrego commit-check MCP a Claude Code?
Ejecuta claude mcp add commit-check-mcp -- uvx commit-check-mcp en tu terminal. Añade --scope user para que esté disponible en todos los proyectos.
¿Cómo agrego commit-check MCP a Cursor?
Abre ~/.cursor/mcp.json y añade el servidor en mcpServers, usando la configuración de Cursor que se muestra en la sección de instalación de arriba.
¿Qué herramientas proporciona commit-check MCP?
Expone 11 herramientas, incluidas validate_commit_message, validate_branch_name, validate_author_info, validate_commit_context, validate_push_safety.
¿Qué valida este servidor?
Valida mensajes de commit, nombres de ramas, información del autor y la seguridad al hacer push (como evitar force pushes).
¿El servidor cambia mi código o mis commits?
No, las herramientas son de solo lectura y no modifican el working tree ni los commits.
¿Cómo puede un agente de IA solucionar una validación fallida?
Cuando una validación falla, el servidor proporciona un 'fix' que el agente puede aplicar textualmente para resolver el problema.