Git Commit Message Generator MCP Server

$git clone https://github.com/FradSer/mcp-server-git-cz.git && cd mcp-server-git-cz && uv venv && uv pip install -r requirements.txt
README.md

Automatically generates Conventional Commits style commit messages using LLMs.

Git Commit Message Generator MCP Server

An intelligent MCP server that automatically generates Conventional Commits style commit messages using LLM providers like DeepSeek and Groq.

Features

  • AI-Powered: Leverages LLM providers (DeepSeek, Groq) for intelligent commit message generation
  • Conventional Commits: Follows industry-standard commit message conventions
  • Multi-Provider: Supports multiple LLM providers with easy switching
  • MCP Compatible: Works seamlessly with Claude, Cursor, Gemini CLI, and other MCP clients
  • Easy Setup: Simple configuration via environment variables

Quick Start

  1. Clone and install:

    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. Configure environment:

    cp .env.example .env
    # Edit .env with your API keys
    
  3. Run the server:

    uv run mcp-server-git-cz
    

Installation

Prerequisites

Step-by-step Installation

  1. Clone the repository:

    git clone https://github.com/FradSer/mcp-server-git-cz.git
    cd mcp-server-git-cz
    
  2. Create virtual environment and install dependencies:

    uv venv
    uv pip install -r requirements.txt
    
  3. Set up environment variables:

    cp .env.example .env
    

    Edit .env file:

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

Configuration

Environment Variables

Variable Description Default Required
DEEPSEEK_API_KEY DeepSeek API key - Yes (if using DeepSeek)
GROQ_API_KEY Groq API key - Yes (if using Groq)
LLM_PROVIDER LLM provider to use deepseek No

Transport Options

The server supports multiple transport methods:

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

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

Usage

The server exposes a single tool: generate_commit_message that analyzes your git diff and generates conventional commit messages.

Basic Example

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 Client Setup

Note: Replace /path/to/mcp-server-git-cz with your actual project directory path in all configurations below.

Claude Code

# 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

Cursor

Add to Cursor settings:

{
  "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

Add to ~/.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

Finding Your Paths

  1. Get virtual environment path:

    cd mcp-server-git-cz
    uv venv
    which python  # Copy this path
    
  2. Get project directory:

    pwd  # Copy this path
    
  3. Update configurations with your actual paths

Advanced Configuration

With Environment Variables
{
  "mcpServers": {
    "g

Tools (1)

generate_commit_messageAnalyzes your git diff and generates conventional commit messages.

Environment Variables

DEEPSEEK_API_KEYDeepSeek API key
GROQ_API_KEYGroq API key
LLM_PROVIDERLLM provider to use (deepseek or groq)

Configuration

claude_desktop_config.json
{
  "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"
      },
      "transport": "stdio"
    }
  }
}

Try it

Generate a conventional commit message for my current staged changes.
Analyze my git diff and suggest a commit message using the DeepSeek provider.
Help me write a standardized commit message for the changes I just made.

Frequently Asked Questions

What are the key features of Git Commit Message Generator?

AI-Powered generation using DeepSeek or Groq LLMs. Follows industry-standard Conventional Commits conventions. Supports multiple LLM providers with easy switching. Compatible with Claude, Cursor, and Gemini CLI via MCP.

What can I use Git Commit Message Generator for?

Automating the creation of standardized git history. Ensuring team-wide compliance with Conventional Commits. Reducing the cognitive load of writing descriptive commit messages for complex diffs.

How do I install Git Commit Message Generator?

Install Git Commit Message Generator by running: git clone https://github.com/FradSer/mcp-server-git-cz.git && cd mcp-server-git-cz && uv venv && uv pip install -r requirements.txt

What MCP clients work with Git Commit Message Generator?

Git Commit Message Generator works with any MCP-compatible client including Claude Desktop, Claude Code, Cursor, and other editors with MCP support.

Use Git Commit Message Generator with Conare

Manage MCP servers visually, upload persistent context, and never start from zero with Claude Code & Codex.

Try Free