commit-check-mcp
OfficialThis server exposes commit-check Git validation tools via the Model Context Protocol (MCP), enabling MCP clients to validate various aspects of a Git repository.
Core capabilities:
server_health— Check server health and retrieve version information for the server and its dependencies.validate_commit_message— Validate a commit message against configured rules (e.g., conventional commits format).validate_branch_name— Validate a branch name against naming convention rules.validate_author_info— Validate a commit author's name and/or email against configured rules.validate_push_safety— Determine if a push operation is a force push.validate_commit_context— Run combined validations (message, branch, and author) in a single call.validate_repository_state— Validate the full state of a repository (latest commit, current branch, author info, and optionally push safety) in one call.describe_validation_rules— Inspect the effective, fully-merged validation rules (defaults + repo config + overrides) that will be applied during checks.
Common options available on most tools:
repo_path: Target a specific local git repository.config_path: Point to an explicit TOML config file.config: Pass inline ad-hoc config overrides on top of defaults and repo config.
Allows Codeium's Windsurf IDE to validate commit messages, branch names, author info, push safety, and repository state using commit-check.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@commit-check-mcpvalidate commit message 'fix: typo' in current repository"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
commit-check-mcp
Model Context Protocol (MCP) server for commit-check.
commit-check-mcp exposes commit-check as local MCP tools so an MCP client can validate commit messages, branch names, author info, push safety, and repository state.
Features
This MCP server exposes commit-check validations as MCP tools:
server_health— returns server/sdk versionsvalidate_commit_message— validates a commit messagevalidate_branch_name— validates a branch name or the current repo branchvalidate_push_safety— validates that a push is not a force pushvalidate_author_info— validates author name/email or the repo's git author configvalidate_commit_context— runs combined checks in one callvalidate_repository_state— validates latest commit, current branch, author state, and optional push safety for a repodescribe_validation_rules— returns the effective config and enabled rules after merging defaults and repo config
All validation tools return the same structured commit-check result shape:
{
"status": "pass|fail",
"checks": [
{
"check": "message",
"status": "pass|fail",
"value": "...",
"error": "...",
"suggest": "..."
}
]
}Related MCP server: mcp-commits
Installation
pip install commit-check-mcpThis installs the commit-check-mcp CLI entrypoint.
For local development from this repository:
pip install -e .Use With An MCP Client
This server runs over stdio, so it is meant to be launched by an MCP client rather than used as a long-running HTTP service.
With uvx (recommended — no install needed):
# Run once, no pip install required
uvx commit-check-mcpTip: If
uvis not installed, get it viacurl -LsSf https://astral.sh/uv/install.sh | sh.
Claude Desktop
{
"mcpServers": {
"commit-check": {
"command": "uvx",
"args": ["commit-check-mcp"]
}
}
}Claude Code CLI
{
"mcpServers": {
"commit-check": {
"command": "uvx",
"args": ["commit-check-mcp"]
}
}
}Add to your ~/.claude/settings.json or project-level .claude/settings.local.json.
Cursor
In Cursor, go to Settings → Cursor Settings → MCP → Add new MCP server and paste:
Field | Value |
Name |
|
Type |
|
Command |
|
Or add to your project's .cursor/mcp.json:
{
"mcpServers": {
"commit-check": {
"command": "uvx",
"args": ["commit-check-mcp"]
}
}
}Windsurf
Add to your ~/.codeium/windsurf/mcp_config.json:
{
"mcpServers": {
"commit-check": {
"command": "uvx",
"args": ["commit-check-mcp"]
}
}
}Cline (VS Code)
Add a new MCP server in the Cline extension settings:
{
"mcpServers": {
"commit-check": {
"command": "uvx",
"args": ["commit-check-mcp"]
}
}
}Continue.dev (VS Code / JetBrains)
Add to your ~/.continue/config.json:
{
"experimental": {
"mcpServers": {
"commit-check": {
"command": "uvx",
"args": ["commit-check-mcp"]
}
}
}
}Roo Code
Add to your Roo Code MCP settings:
{
"mcpServers": {
"commit-check": {
"command": "uvx",
"args": ["commit-check-mcp"]
}
}
}Zed
Add to your ~/.config/zed/settings.json:
{
"mcp_servers": {
"commit-check": {
"command": "uvx",
"args": ["commit-check-mcp"]
}
}
}Generic / Any MCP Client
If your client does not support uvx, use pip and the direct path:
pip install commit-check-mcp
which commit-check-mcpThen use the absolute path in your config:
{
"mcpServers": {
"commit-check": {
"command": "/path/to/commit-check-mcp"
}
}
}Run Manually
# If installed via pip
commit-check-mcp
# Or via uvx (no install needed)
uvx commit-check-mcpThe server uses stdio transport, which is the recommended MCP default for local tool integrations.
Tool Usage
After the client starts the server, it will expose these tools:
server_health: returns server, SDK, and dependency versionsvalidate_commit_message(message, config?, repo_path?, config_path?)validate_branch_name(branch?, config?, repo_path?, config_path?)validate_push_safety(push_refs?, config?, repo_path?, config_path?)validate_author_info(author_name?, author_email?, config?, repo_path?, config_path?)validate_commit_context(message?, branch?, author_name?, author_email?, config?, repo_path?, config_path?)validate_repository_state(repo_path?, config?, config_path?, include_message?, include_branch?, include_author?, include_push?)describe_validation_rules(config?, repo_path?, config_path?)
The common optional arguments are:
repo_path: repository directory to validate againstconfig_path: explicit TOML config file; relative paths resolve fromrepo_pathconfig: ad-hoc config overrides merged on top of defaults and repo config
Common Examples
Validate a commit message using repo-local rules:
{
"message": "feat(api): add MCP validation tool",
"repo_path": "/path/to/repo"
}Validate the current repository branch using an explicit config file:
{
"repo_path": "/path/to/repo",
"config_path": ".github/commit-check.toml"
}Validate the full repository state:
{
"repo_path": "/path/to/repo",
"include_message": true,
"include_branch": true,
"include_author": true
}Validate push safety from git pre-push hook ref metadata:
{
"repo_path": "/path/to/repo",
"push_refs": "refs/heads/main abc123 refs/heads/main def456"
}Inspect the final merged rules that will be applied:
{
"repo_path": "/path/to/repo",
"config": {
"commit": {
"require_body": true
}
}
}Repository-Aware Validation
commit-check is most useful when it runs against a real git repository and its cchk.toml or commit-check.toml file. This MCP server now supports that directly:
repo_path— run git-based validations against a specific repositoryconfig_path— point to an explicit TOML config file; relative paths are resolved fromrepo_pathconfig— apply ad-hoc overrides on top of defaults and repo config
Typical patterns:
Validate an explicit message with a repository's rules
Validate the current repository state without passing message/branch/author values manually
Validate push safety using pre-push ref metadata, or check the current branch against its upstream
Inspect which rules are actually enabled after config merging
Example payload for a repository-wide validation:
{
"repo_path": "/path/to/repo",
"include_message": true,
"include_branch": true,
"include_author": true,
"include_push": true
}Config precedence is:
commit-checkbuilt-in defaultsrepository config loaded from
repo_pathconfig_pathwhen explicitly providedinline
configoverrides passed to the tool
Published On
Directory | Link |
Official MCP Registry | |
Glama.ai | |
PyPI |
mcp-name: io.github.commit-check/commit-check-mcp
Available Tools
8 toolsdescribe_validation_rulesA
Return enabled commit-check rules after merging defaults, repo config, and inline overrides. Read-only, no side effects. Returns a dict with commit_check_version, the full merged config, supported check types, and enabled rules (each with check name, config, and pattern details).
Use this to inspect which validation rules are currently active before running any validation. Helps debug rule configuration and check which checks will be applied.
Parameters:
config (optional): Inline JSON config overrides on top of any loaded config file.
repo_path (optional): Path to the git repository for repo-relative config loading.
config_path (optional): Path to a custom commit-check TOML config file.
| Name | Required | Description | Default |
|---|---|---|---|
| config | No | ||
| repo_path | No | ||
| config_path | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and clearly states 'Read-only, no side effects.' It also details the return dict contents (commit_check_version, merged config, supported check types, enabled rules). This is transparent and accurate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the main action and return value. It uses two paragraphs and a bullet-like list for parameters. Every sentence adds value, though the parameter list could be more structured. Overall, it is appropriately sized.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that an output schema exists, the description already covers return values. It also explains the tool's use case, differentiates from siblings, and covers all three optional parameters. It is complete for this tool's complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must compensate. It explains each parameter: config (inline JSON overrides), repo_path (path to repo for config loading), config_path (path to custom config file). These explanations add meaning beyond the schema properties, which only have type and default.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Return enabled commit-check rules after merging defaults, repo config, and inline overrides.' It specifies the verb 'Return' and the resource 'enabled commit-check rules,' distinguishing it from sibling tools that perform actual validation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description says 'Use this to inspect which validation rules are currently active before running any validation. Helps debug rule configuration and check which checks will be applied.' It implies when to use and hints at alternatives (the validate_* tools), but does not explicitly state when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
server_healthA
Return server and dependency versions. Read-only, no side effects. Returns dict with server name, server version, commit-check version, and MCP SDK version. Useful as a first call to verify the server is running and check version compatibility.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses that the tool is read-only and has no side effects. Since annotations are absent, this provides necessary behavioral context. However, it does not cover potential rate limits or authentication requirements, but for a simple health check, this is adequate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, efficiently conveying the purpose, safety, return value, and recommended usage. No redundant information is present.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has no parameters and a simple output, the description fully captures its functionality. The existence of an output schema further reduces the need to detail return values.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has no parameters, so the description does not need to add parameter meaning. With 100% schema coverage and zero parameters, the baseline score of 4 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns server and dependency versions and is useful as a health check. It distinguishes itself from sibling tools, which are validation-related, by focusing on server status and version compatibility.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly recommends using this tool as a first call to verify server availability and version compatibility. While it does not mention when not to use it, the context makes its usage clear and distinct from siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validate_author_infoA
Validate commit author name and/or email with commit-check. Read-only validation. Returns a structured result with overall status and per-check results (check name, status, value, error, suggest).
Use this when you need to verify author metadata against configured rules (e.g., allowed email domains, name patterns). When both name and email are provided, both are validated. If neither is provided, both are checked against repo context. For combined validation, use validate_commit_context.
Parameters:
author_name (optional): The author name to validate.
author_email (optional): The author email to validate.
config (optional): Inline JSON config overrides.
repo_path (optional): Path to the git repository.
config_path (optional): Path to a custom commit-check TOML config file.
| Name | Required | Description | Default |
|---|---|---|---|
| config | No | ||
| repo_path | No | ||
| author_name | No | ||
| config_path | No | ||
| author_email | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It declares 'Read-only validation' and explains behavior when both or neither name/email are provided, as well as the return structure. However, it does not elaborate on potential errors or what constitutes a valid config, leaving minor gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise: a few sentences establishing purpose and behavior, followed by a bulleted list of parameters. It front-loads the main action and result, with no unnecessary words or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 5 optional parameters and an output schema (mentioned in context), the description adequately covers inputs with parameter descriptions and outputs with the return structure. It also references a sibling for combined validation, making it complete for an agent to use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must compensate. It lists all 5 parameters with brief explanations (e.g., config as 'Inline JSON config overrides', config_path as 'Path to a custom commit-check TOML config file'). This adds value beyond the schema's type-only information, though it lacks details on defaults or constraints.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool validates commit author name and/or email using commit-check, and specifies it is read-only. It also mentions returning a structured result. While it distinguishes from the sibling validate_commit_context by pointing out combined validation, it could be more explicit about which rules are applied.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says 'Use this when you need to verify author metadata against configured rules' and directs users to 'use validate_commit_context' for combined validation. This provides clear when-to-use guidance and an alternative, fulfilling the dimension criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validate_branch_nameA
Validate branch naming conventions with commit-check. Read-only validation. Returns a structured result with overall status ('pass'/'fail') and per-check results (check name, status, value, error, suggest).
Use this when you need to verify a branch name follows configured convention rules (e.g., feature/, bugfix/). For combined message+branch+author validation, use validate_commit_context.
Parameters:
branch (optional): The branch name to validate. If omitted, detected from the current repo.
config (optional): Inline JSON config overrides.
repo_path (optional): Path to the git repository.
config_path (optional): Path to a custom commit-check TOML config file.
| Name | Required | Description | Default |
|---|---|---|---|
| branch | No | ||
| config | No | ||
| repo_path | No | ||
| config_path | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses read-only nature and return structure (overall status + per-check results). No annotations exist, so description covers key behavioral aspects. Could mention config handling implications but not required.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Concise: one summary sentence, usage guidance, and parameter list. Front-loaded with purpose. No unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given optional parameters, output schema existence, and sibling context, description covers usage, parameters, and return value adequately. No gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema has 0% description coverage; description thoroughly explains each parameter's purpose and default behavior (e.g., branch auto-detected if omitted, config as inline JSON).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clear verb 'validate' and specific resource 'branch name conventions'. Distinguishes from siblings by mentioning combined validation alternative.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states when to use (verify branch name follows conventions) and when not (use validate_commit_context for combined checks). Includes parameter behavior details.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validate_commit_contextA
Run combined commit-check validations for message, branch, and/or author in one call. Read-only validation. Returns a structured result with overall status and a unified list of per-check results (check name, status, value, error, suggest).
Use this when you need to validate multiple commit aspects simultaneously in a single call. At least one of message, branch, author_name, or author_email must be provided. For individual aspects, use the specific validate_commit_message, validate_branch_name, or validate_author_info tools.
Parameters:
message (optional): Commit message text to validate.
branch (optional): Branch name to validate.
author_name (optional): Author name to validate.
author_email (optional): Author email to validate.
config (optional): Inline JSON config overrides on top of any loaded config file.
repo_path (optional): Path to the git repository for repo-relative config loading.
config_path (optional): Path to a custom commit-check TOML config file.
| Name | Required | Description | Default |
|---|---|---|---|
| branch | No | ||
| config | No | ||
| message | No | ||
| repo_path | No | ||
| author_name | No | ||
| config_path | No | ||
| author_email | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Explicitly states 'Read-only validation' and describes the structured return format (overall status, per-check results with fields like check name, status, value, error, suggest). With no annotations, this provides good behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Well-structured: first sentence for purpose, then read-only note and return shape, then usage guidance, then parameter list. Front-loaded with core function. Slight redundancy with parameter list but justified.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no required parameters and 7 optional, description clarifies at least one must be provided. Mentions return structure fields. Siblings are listed in context. Sufficiently complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so description fully compensates. All 7 parameters are explained: message, branch, author_name, author_email, config (inline JSON overrides), repo_path (repo-relative config), config_path (custom TOML file). Adds meaning beyond names.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it runs combined commit-check validations for message, branch, and/or author in one call. It distinguishes itself from siblings by naming the specific tools for individual aspects.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says 'At least one of message, branch, author_name, or author_email must be provided' and directs users to specific validate_commit_message, validate_branch_name, or validate_author_info tools for individual aspects.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validate_commit_messageA
Validate a commit message against commit-check rules. Read-only validation. Returns a structured result with overall status ('pass'/'fail') and a list of per-check results. Each check includes the check name, status, value, error message (on failure), and suggestion (on failure).
Use this tool when you have a specific commit message string to validate. For batch validation of message, branch, and author together, use validate_commit_context instead.
Parameters:
message (required): The commit message text to validate.
config (optional): Inline JSON config overrides on top of any loaded config file.
repo_path (optional): Path to the git repository for repo-relative config loading.
config_path (optional): Path to a custom commit-check TOML config file.
| Name | Required | Description | Default |
|---|---|---|---|
| config | No | ||
| message | Yes | ||
| repo_path | No | ||
| config_path | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
States the tool is read-only validation, which is a key behavioral trait. Without annotations, the description fully covers behavior and describes the return structure (overall status and per-check results).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and well-structured: first paragraph states purpose and output, second provides usage guidance, third lists parameters. No superfluous content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (4 parameters, no annotations, with output schema), the description is complete, covering all parameters, usage context, and output format. It also differentiates from siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description compensates by explaining each parameter's purpose (message required, config for inline JSON overrides, repo_path for repo-relative config, config_path for custom config file), adding meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool validates a commit message against commit-check rules, specifies it is read-only, and distinguishes it from the sibling tool validate_commit_context by stating this tool is for a single message string.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says when to use this tool ('when you have a specific commit message string') and when not to, providing an alternative (validate_commit_context for batch validation).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validate_push_safetyA
Validate that a push is not a force push. Read-only validation. Returns a structured result with overall status and per-check results (check name, status, value, error, suggest). By default, force push is rejected; configure via 'push.allow_force_push' in config.
Use this before performing a git push to ensure force-push protection rules are satisfied. Only validates the no_force_push rule. Use validate_commit_context for combined checks.
Parameters:
push_refs (optional): The push ref specification to validate. If omitted, checks upstream fallback state.
config (optional): Inline JSON config overrides.
repo_path (optional): Path to the git repository.
config_path (optional): Path to a custom commit-check TOML config file.
| Name | Required | Description | Default |
|---|---|---|---|
| config | No | ||
| push_refs | No | ||
| repo_path | No | ||
| config_path | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses read-only behavior, describes return format (structured result with status and per-check details), and mentions configuration for allowing force push, all without annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Efficiently structured: first line states purpose and behavior, then output, usage, and parameter list. No unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers all aspects: purpose, usage, output format, parameters, configuration, and sibling reference. Output schema exists, so return details are complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema coverage, description adds meaning for all 4 parameters: explains push_refs (and behavior if omitted), config (inline JSON overrides), repo_path, and config_path. Lacks some detail on expected formats but is helpful.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states the tool validates that a push is not a force push, explicitly mentions it is read-only, and distinguishes itself from sibling 'validate_commit_context' for combined checks.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit guidance: use before git push for force-push protection, notes it only validates the no_force_push rule, and directs to sibling for combined checks.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validate_repository_stateA
Validate the current repository state including latest commit message, active branch, author metadata, and optional push safety. Read-only validation. Reads git data (message, branch, author) from the local repository. Returns a structured result with overall status and per-check results.
Use this to validate the entire state of a local git repository in one call — ideal for pre-commit or CI hooks. Controls which checks run via boolean include_* flags. For validating arbitrary (non-repo) values, use validate_commit_context or individual validation tools instead.
Parameters:
repo_path (optional): Path to the git repository. If omitted, uses current working directory.
config (optional): Inline JSON config overrides on top of any loaded config file.
config_path (optional): Path to a custom commit-check TOML config file.
include_message (optional, default true): Whether to validate the latest commit message.
include_branch (optional, default true): Whether to validate the current branch name.
include_author (optional, default true): Whether to validate the latest commit author.
include_push (optional, default false): Whether to validate push safety.
| Name | Required | Description | Default |
|---|---|---|---|
| config | No | ||
| repo_path | No | ||
| config_path | No | ||
| include_push | No | ||
| include_author | No | ||
| include_branch | No | ||
| include_message | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Declares read-only validation, reads git data, returns structured results. Does not cover error behavior for missing repos or invalid paths, but sufficient given no annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Well-structured: purpose, behavior, usage, then parameter list. Front-loaded with key info. No unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers all 7 parameters, returns structure, and differentiates from 7 siblings. Output schema exists, so return description is adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema coverage, description adds essential meaning: explains each parameter's purpose, defaults, and optionality. Provides context like 'if omitted, uses current working directory'.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it validates the entire repository state (commit message, branch, author, push safety). It distinguishes from sibling tools by specifying that for non-repo values, other tools should be used.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says 'Use this to validate the entire state of a local git repository in one call — ideal for pre-commit or CI hooks' and provides alternatives for other cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
8 tool updates
v0.1.0- First observed
describe_validation_rules - First observed
server_health - First observed
validate_author_info - First observed
validate_branch_name - First observed
validate_commit_context - First observed
validate_commit_message - First observed
validate_push_safety - First observed
validate_repository_state
TDQS
Each tool targets a distinct aspect of commit validation (author, branch, message, push safety, repository state, config inspection, and health). No two tools have overlapping purposes; the composite tools clearly indicate their scope.
All tools follow a consistent verb_noun naming pattern (e.g., describe_validation_rules, validate_author_info, server_health). No mixing of conventions or ambiguous verbs.
Eight tools is well-scoped for a commit-check validation server. It covers individual validation areas, combined validation, config introspection, and health checks without being excessive or sparse.
The tool surface covers all common commit validation needs: message, branch, author, push safety, and repository state. Combined validation tools avoid dead-ends, and config inspection supports debugging. No obvious gaps.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Free MCP tools: the only MCP linter, health checks, cost estimation, and trust evaluation.
The MCP server that vets MCP servers: identity, risk grade and per-tool risk before you install.
Pre-flight MCP security. Blocks compromised deps + tool drift. HMAC-signed. Dredd judges.
Check if your MCP server is ready to publish on the MCP Registry, Smithery, or npm.
Related MCP Servers
- AlicenseNot gradedqualityAmaintenanceEnables automated code review and GitHub PR commenting through MCP integration.859MIT
- FlicenseNot gradedqualityDmaintenanceMCP server providing commit rules with SemVer and conventional commits format for development teams.-
- FlicenseNot gradedqualityDmaintenanceEnables dependency, security, and coding convention checks for Python and Java projects via MCP tools. Supports local paths or Git URLs.-
- AlicenseNot gradedqualityDmaintenanceProduction-ready MCP server for enforcing git/PR/Jira workflows with atomic, composable tools. Enables automated branch creation, conventional commits, PR generation, and Jira ticket operations with safety guardrails.MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/commit-check/commit-check-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server