返回市场
git-mcp服务器

git-mcp服务器

作者:surajfale2 星标更新:2025-11-24

项目介绍

Git Commit MCP Server

一个小型的MCP(模型上下文协议)服务器,能够自动化常规的Git提交、变更日志更新以及可选的推送操作。当你希望使用AI助手来创建格式良好的常规提交消息并自动管理CHANGELOG时,请使用此仓库。

docs/文件夹中查看详细文档:

  • docs/architecture.md — 高级架构、组件及数据流。
  • docs/usage.md — 设置、配置及常见工作流程(包含PowerShell示例)。

快速开始

先决条件

  • Python 3.10+
  • 已安装并配置好的Git
  • uv包管理器(用于开发)
  • pipx(用于全局安装)

安装

选项1:使用pipx进行全局安装(推荐)

全局安装以便从任何目录访问该服务器:

# 如果没有安装pipx,请先安装
uv tool install pipx

# 从PyPI安装(生产环境)
pipx install git-commit-mcp-server

# 或者从TestPyPI安装(测试环境)
pipx install git-commit-mcp-server --index-url https://test.pypi.org/simple/ --pip-args="--extra-index-url https://pypi.org/simple/"

选项2:使用uvx运行(无需安装)

直接运行而不进行安装:

uvx git-commit-mcp-server

选项3:开发模式

本地开发:

# 克隆仓库
git clone https://github.com/surajfale/git-mcp-server.git
cd git-mcp-server

# 使用开发依赖项安装
uv pip install -e ".[dev]"

# 运行服务器
python -m git_commit_mcp.__main__

配置

MCP客户端设置

该服务器与各种兼容MCP的客户端一起工作,包括:

  • Kiro IDE.kiro/settings/mcp.json~/.kiro/settings/mcp.json
  • Cursor IDE — 参见下方的[Cursor IDE配置]
  • Claude Desktopclaude_desktop_config.json
  • WARP — MCP配置文件
  • VSCode — 使用MCP扩展

示例配置(Kiro IDE):

{
  "mcpServers": {
    "git-commit": {
      "command": "git-commit-mcp",
      "args": [],
      "disabled": false,
      "env": {
        "OPENAI_API_KEY": "sk-your-key-here",
        "ENABLE_AI": "true",
        "AI_MODEL": "gpt-4o-mini",
        "FORCE_SSH_ONLY": "true"
      },
      "autoApprove": []
    }
  }
}

环境变量

关键环境变量:

  • OPENAI_API_KEY — 当ENABLE_AI=true时生成AI驱动的提交消息所需
  • ENABLE_AI — 设置为true以启用AI生成(默认值:true
  • AI_MODEL — 要使用的OpenAI模型(默认值:gpt-4o-mini
  • FORCE_SSH_ONLY — 要求使用SSH进行Git操作(默认值:true
  • LOG_LEVEL — 日志级别:DEBUG, INFO, WARNING, ERROR(默认值:INFO

在PowerShell中设置:

# 当前会话
$env:OPENAI_API_KEY = 'sk-your-key-here'

# 持久化(用户级别)
setx OPENAI_API_KEY "sk-your-key-here"

Cursor IDE配置

重要: Cursor IDE有特定的要求。请参阅docs/usage.md中的[详细Cursor设置指南]。

快速设置Cursor:

  1. 配置文件位置(Windows):

    %APPDATA%\Cursor\User\globalStorage\saoudrizwan.claude-dev\settings\cline_mcp_settings.json
    
  2. 基本配置:

    {
      "mcpServers": {
        "git-commit-mcp": {
          "command": "git-commit-mcp",
          "args": [],
          "env": {
            "OPENAI_API_KEY": "sk-your-key-here",
            "ENABLE_AI": "true"
          }
        }
      }
    }
    
  3. 本地开发:

    {
      "mcpServers": {
        "git-commit-mcp": {
          "command": "python",
          "args": ["-m", "git_commit_mcp.__main__"],
          "cwd": "C:\\path\\to\\git_commit_message",
          "env": {
            "OPENAI_API_KEY": "sk-your-key-here"
          }
        }
      }
    }
    

故障排除: 如果在Cursor中遇到问题,请参阅docs/usage.md中的[Curosr IDE特定问题]部分。

使用

配置完成后,可以使用自然语言与您的AI助手交互:

用户:"提交我的更改"
AI:[分析您的git diff并生成常规提交消息]
AI:"创建提交abc1234:feat(auth):添加用户认证模块"

用户:"提交并推送"
AI:[提交并推送到远程]
AI:"成功推送到origin/main"

该服务器提供两个主要工具:

  • generate_commit_message — 生成提交消息但不执行提交
  • git_commit_and_push — 完整的工作流程:分析、提交,并可选地推送

特性

  • AI驱动的消息:分析实际的git差异以生成准确的提交消息
  • 常规提交:遵循常规提交规范
  • 智能类型检测:自动确定提交类型(feat、fix、docs等)
  • 变更日志管理:维护CHANGELOG.md与提交历史
  • 推送确认:在推送之前需要明确批准
  • 多仓库支持:适用于任何Git仓库,无论是本地还是远程

测试

运行测试套件:

# 运行所有测试
pytest

# 带覆盖率运行
pytest --cov=git_commit_mcp

# 运行特定测试
pytest tests/test_integration.py -v

更新

更新到最新版本:

# 更新全局安装
pipx upgrade git-commit-mcp-server

# 或者从TestPyPI
pipx upgrade git-commit-mcp-server --index-url https://test.pypi.org/simple/ --pip-args="--extra-index-url https://pypi.org/simple/"

文档

  • docs/usage.md — 详细的设置、配置、故障排除及最佳实践
  • docs/architecture.md — 系统架构、组件及设计决策

贡献

欢迎贡献!请:

  1. 分叉仓库
  2. 创建功能分支
  3. 在测试中进行更改
  4. 提交拉取请求

许可证

MIT许可证 - 详情请参阅LICENSE文件

链接