Commit Helper MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Server capabilities have not been inspected yet.
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| generate_commit_messageB | Generate a commit message with validation using provided parameters. Args: type: The commit type (e.g., 'feat', 'fix', 'docs') subject: The commit subject/description body: Optional commit body with detailed description scope: Optional scope of the change breaking: Whether this is a breaking change footer: Optional footer (e.g., issue references) include_git_preview: Whether to include git preview in response Returns: Dict containing the generated message and validation status |
| create_commit_messageC | Generate a commit message from a complete answers dictionary. Args: answers_dict: Dictionary containing all answers to commit questions Returns: Dict containing the generated message and validation status |
| validate_commit_messageC | Validate an existing commit message against the current plugin's rules. Args: message: The commit message to validate Returns: Dict containing validation result and details |
| get_commit_typesB | Get list of available commit types from the current plugin. Returns: Dict containing available commit types and their descriptions |
| get_git_implementation_infoA | Get information about the current git implementation and available features. Returns: Dict containing: - git_enabled: Whether git operations are available - implementation: Current git implementation ("GitPython") - enhanced_features: Whether enhanced features are available - features: Dict of available feature flags |
| get_enhanced_git_statusB | Get enhanced git repository status with detailed information. Uses GitPython features when available for richer information:
Args: repo_path: Path to git repository Returns: Dict containing enhanced repository status |
| get_git_statusB | Get current git repository status and staged files. Args: repo_path: Path to git repository Returns: Dict containing: - git_enabled: Whether git operations are available - staged_files: List of staged file paths - staged_count: Number of staged files - repository_path: Path to git repository - repository_status: Additional status information |
| preview_git_commitA | Preview git commit operation without executing (dry-run mode). Args: message: Commit message to preview repo_path: Path to git repository stage_all: Whether to stage all changes before commit (not implemented yet) sign_off: Whether to add sign-off to commit (default: True) Returns: Dict containing: - message: The commit message - is_valid: Whether message passes validation - files_to_commit: List of files that would be committed - dry_run: Always True for this tool - repository_status: Current repository state |
| execute_git_commitA | Execute actual git commit with safety checks and user approval. SAFETY: Requires force_execute=True to perform actual commit. Args: message: Commit message to use repo_path: Path to git repository stage_all: Whether to stage all changes before commit (not implemented yet) sign_off: Whether to add sign-off to commit (default: True) force_execute: Must be True to execute actual commit (safety flag) Returns: Dict containing: - success: Whether commit was successful - message: The commit message used - executed: Whether commit was actually executed - error: Error message (if failed) - dry_run: False if actually executed, True if preview only |
| generate_and_commitA | Generate commit message and optionally execute commit in one step. Combines message generation with git operations for streamlined workflow. Args: type: Commit type (feat, fix, docs, etc.) subject: Commit subject/description repo_path: Path to git repository body: Optional detailed description scope: Optional scope of changes breaking: Whether this is a breaking change footer: Optional footer (e.g., issue references) stage_all: Whether to stage all changes (not implemented yet) sign_off: Whether to add sign-off to commit (default: True) preview_only: If True, only preview (default for safety) Returns: Dict containing: - message: Generated commit message - is_valid: Whether message is valid - git_preview: Preview of git operation (if preview_only=True) - commit_result: Commit execution result (if preview_only=False) |
| validate_commit_readinessB | Comprehensive validation of repository readiness for commit. Args: repo_path: Path to git repository Returns: Dict containing: - ready_to_commit: Boolean overall readiness - checks: Dict of individual validation checks - recommendations: List of actions to take before commit |
| stage_files_and_commitA | Stage specific files and commit with provided message. Useful for selective commits of specific files. Args: files: List of file paths to stage message: Commit message to use repo_path: Path to git repository sign_off: Whether to add sign-off to commit (default: True) dry_run: Preview only (default True for safety) Returns: Dict containing staging and commit results |
| get_commit_questionsC | Get interactive questions for commit message generation. Returns: Dict containing the questions and metadata |
| health_checkB | Check the health and status of the Commitizen service. Returns: Dict containing service health information |
| refresh_configurationB | Refresh the Commitizen configuration and reinitialize the service. Returns: Dict containing refresh status and new configuration info |
| commit_workflow_stepC | Multi-step commit workflow with state management. Args: workflow_data: Workflow state data step: Current step ("generate" | "preview" | "approve" | "execute") Returns: Dict with workflow state and next step information |
| analyze_repository_healthC | Comprehensive repository health analysis using GitPython features. Provides detailed analysis including:
Args: repo_path: Path to git repository Returns: Dict containing comprehensive repository analysis |
| get_detailed_diff_analysisA | Get detailed diff analysis between working directory and specified commit. Uses GitPython to provide:
Args: repo_path: Path to git repository compare_with: Commit/branch to compare with (default: HEAD) include_content: Whether to include actual diff content Returns: Dict containing detailed diff analysis |
| get_branch_analysisB | Get comprehensive branch analysis using GitPython. Provides information about:
Args: repo_path: Path to git repository Returns: Dict containing branch analysis |
| smart_commit_suggestionB | Intelligent commit message suggestions based on repository changes. Uses GitPython to analyze staged changes and suggest:
Args: repo_path: Path to git repository analyze_changes: Whether to analyze file changes for suggestions suggest_type: Whether to suggest commit type suggest_scope: Whether to suggest scope Returns: Dict containing intelligent commit suggestions |
| batch_commit_analysisC | Analyze multiple file groups for batch commit operations. Helps organize staged changes into logical commit groups with appropriate commit messages for each group. Args: repo_path: Path to git repository file_groups: List of file groups with metadata generate_messages: Whether to generate commit messages for each group Returns: Dict containing batch commit analysis and suggestions |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| get_config_resource | Get current Commitizen configuration as a resource. Returns: String representation of the current configuration |
| get_schema_resource | Get commit message schema as a resource. Returns: String representation of the commit message schema |
| get_example_resource | Get example commit message as a resource. Returns: String containing an example commit message |
TDQS
Scored across 21 tools
Multiple tools have overlapping purposes that could cause confusion. For example, generate_commit_message and create_commit_message both generate commit messages with similar parameters, while get_git_status and get_enhanced_git_status provide overlapping repository status information. Tools like commit_workflow_step, generate_and_commit, and stage_files_and_commit all handle commit execution workflows with unclear boundaries between them.
Most tools follow a consistent snake_case verb_noun pattern (e.g., analyze_repository_health, get_branch_analysis, validate_commit_message). There are minor deviations like commit_workflow_step (which mixes verb_noun_step) and health_check (which uses verb_noun without underscore), but overall the naming is predictable and readable.
With 21 tools, this server feels overloaded for a commit helper domain. Many tools could be consolidated (e.g., the multiple commit message generators and status checkers). The high count creates cognitive overhead without clear justification for each tool's distinct existence in the workflow.
The tool surface provides comprehensive coverage of the commit workflow domain. It includes analysis tools (repository health, branch analysis, diff analysis), message generation and validation tools, status checking tools, configuration management, and multiple commit execution pathways. There are no obvious gaps - agents can analyze, prepare, validate, and execute commits through various workflows.