git-commit-mcp
v0.1.16
Published
MCP server for standardizing Git commit messages
Downloads
63
Readme
Git Commit MCP
一个基于 Model Context Protocol (MCP) 的智能 Git 提交工具,能够自动分析代码变更并生成符合项目风格的提交信息。
功能特性
- 🔍 智能代码变更分析 - 自动分析 Git 仓库的变更状态和差异内容
- 📝 智能提交信息生成 - 基于历史提交风格生成符合项目规范的提交信息
- 🎯 个性化风格适配 - 优先分析当前用户的提交历史,自动适配个人提交风格
- 📏 长度智能控制 - 根据历史提交长度提供参考建议,不强制截断
- 🏷️ 多种提交格式支持 - 支持前缀格式
[FEAT]和标准格式feat:的自动识别 - ⚡ 一键暂存提交 - 支持文件暂存和自动提交的完整工作流
安装使用
作为 MCP 服务器运行
npx git-commit-mcp在 Claude Desktop 中配置
在 Claude Desktop 的配置文件中添加:
{
"mcpServers": {
"git-commit-mcp": {
"command": "npx",
"args": ["git-commit-mcp"]
}
}
}工具说明
1. analyze_git_changes
分析当前 Git 仓库的变更状态,包括:
- 文件变更状态(已暂存、已修改、新增、删除等)
- 代码差异内容
- 历史提交风格分析
参数:
projectPath(可选): 项目路径,默认为当前目录
返回信息:
- 仓库状态和变更文件列表
- 代码差异详情
- 提交风格分析结果(平均长度、格式偏好等)
2. generate_commit_message
基于代码变更和历史风格生成智能提交信息。
参数:
projectPath(可选): 项目路径,默认为当前目录commitDescription(必需): 基于代码变更的提交描述commitType(可选): 提交类型,支持 feat、fix、docs、style、refactor、perf、test、build、ci、chore、revert、update
智能特性:
- 自动识别用户偏好的提交格式(前缀格式 vs 标准格式)
- 根据历史平均长度提供长度参考
- 自动添加日期标识(如果历史中有此习惯)
- 提供长度对比分析但不强制截断
3. stage_and_commit
执行文件暂存和提交操作的完整工作流。
参数:
projectPath(可选): 项目路径,默认为当前目录files(可选): 要暂存的特定文件列表,不指定则暂存所有修改文件commitMessage(可选): 完整的提交信息commitType(可选): 提交类型customMessage(可选): 自定义提交信息autoCommit(可选): 是否在暂存后自动提交,默认为 false
智能特性:
- 根据历史风格自动选择提交格式
- 为所有提交信息提供长度分析
- 支持灵活的文件暂存策略
提交类型支持
| 类型 | 前缀格式 | 说明 | |------|----------|------| | feat | FEAT | 新功能:添加新特性或功能 | | fix | FIX | 修复:解决bug或问题 | | docs | DOCS | 文档:更新文档或注释 | | style | STYLE | 样式:代码格式调整,不影响功能 | | refactor | REFACTOR | 重构:代码重构,不新增功能也不修复bug | | perf | PERF | 性能:性能优化相关更改 | | test | TEST | 测试:添加或修改测试用例 | | build | BUILD | 构建:影响构建系统或外部依赖的更改 | | ci | CI | 持续集成:CI配置文件和脚本的更改 | | chore | CHORE | 杂务:不修改源代码或测试的其他更改 | | revert | REVERT | 回滚:撤销之前的提交 | | update | UPDATE | 更新:更新现有功能或依赖 |
智能风格分析
工具会自动分析您的提交历史,包括:
- 用户偏好优先 - 优先分析当前用户的提交记录
- 长度分析 - 计算历史提交的平均长度作为参考
- 格式识别 - 自动识别是否使用前缀格式(如
[FEAT]) - 类型偏好 - 分析最常用的提交类型
- 描述风格 - 识别简洁型还是详细型描述风格
使用示例
基本工作流
- 分析变更
# 通过 MCP 调用
analyze_git_changes()- 生成提交信息
# 基于分析结果生成提交信息
generate_commit_message({
"commitDescription": "添加用户登录功能",
"commitType": "feat"
})- 暂存并提交
# 暂存所有文件并提交
stage_and_commit({
"customMessage": "添加用户登录功能",
"commitType": "feat",
"autoCommit": true
})技术特性
- 🚀 零配置 - 开箱即用,自动适配项目风格
- 🧠 智能分析 - 基于机器学习的提交风格识别
- 🔄 增量优化 - 随着使用不断优化提交建议
- 📊 详细反馈 - 提供完整的分析和建议信息
- 🛡️ 安全可靠 - 不会强制修改或截断用户内容
版本信息
当前版本:0.1.16
许可证
MIT License
贡献
欢迎提交 Issue 和 Pull Request 来改进这个工具!
