Git提交消息生成器

一个智能MCP服务器,利用DeepSeek和Groq等LLM提供商自动生成符合Conventional Commits规范的提交消息。

  • by FradSer
  • Python
  • 本地部署
  • 2 星标
  • 更新于
在 GitHub 查看 fradser/mcp-server-git-cz

使用说明

Git提交消息生成器MCP服务器

自动生成的智能MCP服务器 常规承诺 使用DeepSeek和Groq等LLM提供程序样式提交消息。

特性

  • AI驱动:利用LLM提供商(DeepSeek、Groq)进行智能提交消息生成
  • 常规承诺:遵循行业标准提交消息约定
  • 多供应商:支持多个LLM提供商,易于切换
  • MCP兼容:与Claude、Cursor、Gemini CLI和其他MCP客户端无缝协作
  • 轻松设置:通过环境变量进行简单配置

目录

快速开始

  1. 克隆并安装:

    git clone https://github.com/FradSer/mcp-server-git-cz.git
    cd mcp-server-git-cz
    uv venv && uv pip install -r requirements.txt
    
  2. 配置环境:

    cp .env.example .env
    # Edit .env with your API keys
    
  3. 运行服务器:

    uv run mcp-server-git-cz
    

安装

先决条件

逐步安装

  1. 克隆存储库:

    git clone https://github.com/FradSer/mcp-server-git-cz.git
    cd mcp-server-git-cz
    
  2. 创建虚拟环境并安装依赖项:

    uv venv
    uv pip install -r requirements.txt
    
  3. 设置环境变量:

    cp .env.example .env
    

    编辑 .env 文件:

    DEEPSEEK_API_KEY=your_deepseek_api_key
    GROQ_API_KEY=your_groq_api_key
    LLM_PROVIDER=deepseek  # or groq
    

配置

环境变量

变量 描述 默认值 必填
DEEPSEEK_API_KEY DeepSeek API密钥 - 是(如果使用DeepSeek)
GROQ_API_KEY Groq API密钥 - 是(如果使用Groq)
LLM_PROVIDER 要使用的LLM提供者 deepseek 没有

运输选项

服务器支持多种传输方式:

# STDIO transport (recommended)
uv run mcp-server-git-cz

# SSE transport
uv run mcp-server-git-cz --transport sse --port 8000

用法

服务器公开了一个工具: generate_commit_message 它分析你的git diff并生成常规的提交消息。

基础示例

import asyncio
from mcp.client.session import ClientSession
from mcp.client.stdio import StdioServerParameters, stdio_client

async def main():
    async with stdio_client(
        StdioServerParameters(command="uv", args=["run", "mcp-server-git-cz"])
    ) as (read, write):
        async with ClientSession(read, write) as session:
            await session.initialize()
            
            # Generate commit message
            result = await session.call_tool("generate_commit_message", {})
            print(result)

asyncio.run(main())

MCP客户端设置

备注:替换 /path/to/mcp-server-git-cz 在下面的所有配置中使用您的实际项目目录路径。

克劳德代码

# Project scope (recommended for teams)
claude mcp add git-cz -s project -- uv run --python /path/to/mcp-server-git-cz/.venv/bin/python -m mcp_server_git_cz

# User scope (personal use)
claude mcp add git-cz -s user -- uv run --python /path/to/mcp-server-git-cz/.venv/bin/python -m mcp_server_git_cz

光标

添加到光标设置:

{
  "mcpServers": {
    "git-cz": {
      "command": "uv",
      "args": ["run", "--python", "/path/to/mcp-server-git-cz/.venv/bin/python", "-m", "mcp_server_git_cz"],
      "env": {},
      "transport": "stdio"
    }
  }
}

Gemini CLI

增添 ~/.gemini/settings.json:

{
  "mcpServers": {
    "git-cz": {
      "command": "uv",
      "args": ["run", "--python", "/path/to/mcp-server-git-cz/.venv/bin/python", "-m", "mcp_server_git_cz"],
      "env": {}
    }
  }
}
Detailed Setup Instructions

寻找你的道路

  1. 获取虚拟环境路径:

    cd mcp-server-git-cz
    uv venv
    which python  # Copy this path
    
  2. 获取项目目录:

    pwd  # Copy this path
    
  3. 更新配置 与你的实际路径

高级配置

使用环境变量

{
  "mcpServers": {
    "git-cz": {
      "command": "uv",
      "args": ["run", "--python", "/path/to/mcp-server-git-cz/.venv/bin/python", "-m", "mcp_server_git_cz"],
      "env": {
        "DEEPSEEK_API_KEY": "your_key_here",
        "LLM_PROVIDER": "deepseek"
      }
    }
  }
}

带工作目录

{
  "mcpServers": {
    "git-cz": {
      "command": "uv",
      "args": ["run", "--python", "/path/to/mcp-server-git-cz/.venv/bin/python", "-m", "mcp_server_git_cz"],
      "cwd": "/path/to/mcp-server-git-cz",
      "env": {}
    }
  }
}

例子

与MCP客户端一起使用

配置后,您可以使用自然语言与该工具进行交互:

  • “为我当前的更改生成提交消息”
  • “根据我的git diff创建常规提交消息”
  • “帮助我在常规提交后写一条提交消息”

服务器将:

  1. 分析您当前的git差异
  2. 使用AI生成常规提交消息
  3. 返回格式化的消息以供查看

输出示例

feat(auth): add OAuth2 integration with GitHub

- Implement OAuth2 authentication flow
- Add GitHub provider configuration
- Update user model to support external auth
- Add tests for authentication endpoints

Closes #123

贡献

我们欢迎捐款!请遵循以下指南:

开发设置

  1. 分叉存储库
  2. 创建要素分支: git checkout -b feature/amazing-feature
  3. 进行更改
  4. 运行测试: make test
  5. 使用常规提交进行提交: git commit -m 'feat: add amazing feature'
  6. 推到您的分支: git push origin feature/amazing-feature
  7. 打开拉取请求

代码的风格

  • 跟随 PEP 8 Python代码
  • 使用 黑色 用于代码格式化
  • 在适当的地方添加类型提示
  • 为新功能编写测试

报告问题

发现bug了吗?有功能请求吗?请 打开一个问题 与:

  • 问题的清晰描述
  • 重现步骤
  • 预期行为与实际行为
  • 环境详细信息

许可证

该项目根据 MIT许可证 -看看 许可证 文件以获取详细信息。

支持

致谢


Made with ❤️ for the developer community
⭐ Star this repo if you find it useful!