Git MCP Server
Enables issue-to-code automation for GitHub and GitLab by connecting AI assistants (Claude Code, Gemini CLI, Codex) via MCP, with slash commands for issue analysis, planning, implementation, testing, documentation, and PR creation.
README
Git MCP Server
A Model Context Protocol (MCP) server for Claude Code, Gemini CLI, and Codex that enables complete issue-to-code automation across GitHub and GitLab platforms.
🚀 What is Git MCP Server?
Git MCP Server transforms your development workflow by connecting AI assistants directly to your Git repositories. It provides:
- 🤖 MCP Integration: Full support for Claude Code, Gemini CLI, and Codex via Model Context Protocol
- 📋 Issue-to-Code Workflow: Complete automation from issue analysis to PR creation
- 🎯 Slash Commands: Pre-built workflow commands (
/issue,/plan,/implement,/test,/doc,/pr) - 🔧 Multi-Platform: Unified interface for GitLab and GitHub
- 🔐 Secure: Keyring-based token storage with auto-username detection
🎯 Issue-to-Code Workflow
Transform how you handle development tasks with these automated slash commands:
# 1. Analyze any issue from URL
/issue https://gitlab.com/group/project/-/issues/123
# 2. Generate development plan
/plan
# 3. Implement the solution
/implement
# 4. Create comprehensive tests
/test
# 5. Update documentation
/doc
# 6. Create PR/MR and close issue
/pr 123
That's it! From issue analysis to pull request in 6 commands.
📦 Installation
Quick Setup (Recommended)
For Claude Code:
# Install from PyPI
uv tool install git_mcp_server
# Setup Claude Code integration (adds MCP server + slash commands)
git-mcp-server --install-claude
For Gemini CLI:
# Install from PyPI
uv tool install git_mcp_server
# Setup Gemini CLI integration (adds MCP server + slash commands)
git-mcp-server --install-gemini
For Codex:
# Install from PyPI
uv tool install git_mcp_server
# Setup Codex integration (adds MCP server + slash commands)
git-mcp-server --install-codex
This automatically:
- ✅ Installs Git MCP Server globally
- ✅ Configures MCP server in Claude Code/Gemini CLI/Codex
- ✅ Installs slash commands to respective directories
- ✅ Adds code memory guidelines (Codex: AGENTS.md)
- ✅ Provides setup instructions
Alternative Installation
# Using pip
pip install git_mcp_server
git-mcp-server --install-claude # or --install-gemini or --install-codex
# From source (development)
git clone <repository-url>
cd git_mcp
uv tool install --from . git_mcp_server
git-mcp-server --install-claude # or --install-gemini or --install-codex
⚡ Quick Start
1. Configure Your Git Platform
# Add GitLab (public or private instance)
git-mcp config add my-gitlab gitlab --url https://gitlab.com
# Add GitHub (public or GitHub Enterprise)
git-mcp config add my-github github --url https://github.com
# Test the connections
git-mcp config test my-gitlab
git-mcp config test my-github
The system will automatically:
- 🔐 Prompt for your access token
- 👤 Fetch your username automatically
- 💾 Store credentials securely in system keyring
2. Start Using Slash Commands
In Claude Code, Gemini CLI, or Codex, you can now use:
/issue - Smart Issue Analysis
# List your assigned issues
/issue
# Analyze specific issue from any GitLab/GitHub URL
/issue https://gitlab.com/group/project/-/issues/123
/plan - Generate Development Plans
# Create structured implementation plan based on issue analysis
/plan
/implement - Code Implementation
# Implement the planned solution with best practices
/implement
/test - Test Generation
# Generate comprehensive test suites
/test
/doc - Documentation Updates
# Update documentation and API docs
/doc
/pr - Create Pull Requests
# Create PR/MR and automatically close related issue
/pr 123
🛠️ Available MCP Tools
When configured, Claude Code, Gemini CLI, and Codex gain access to these powerful tools:
Platform Management
list_platforms()- List configured Git platformstest_platform_connection(platform)- Test platform connectivityget_platform_config(platform)- Get platform configurationrefresh_platform_username(platform)- Update username from token
Issue Operations
list_my_issues(platform)- List issues assigned to youget_issue_by_url(url)- Analyze issues from GitLab/GitHub URLsget_issue_details(platform, project_id, issue_id)- Get detailed issue infocreate_issue(platform, project_id, title, ...)- Create new issues
Project Management
list_projects(platform)- List accessible projectsget_project_details(platform, project_id)- Get project information
Merge Requests
list_merge_requests(platform, project_id)- List merge requestscreate_merge_request(platform, project_id, ...)- Create pull/merge requests
🎛️ Configuration
Platform Configuration
Git MCP Server stores configuration in ~/.git-mcp/config.yaml:
platforms:
my-gitlab:
type: gitlab
url: https://gitlab.com
username: myuser # Auto-fetched from token
company-gitlab:
type: gitlab
url: https://git.company.com
username: myuser
defaults:
platform: my-gitlab
Security Note: Access tokens are stored securely in your system keyring, not in config files.
Automatic Username Detection
# Username automatically fetched from token
git-mcp config add my-gitlab gitlab --url https://gitlab.com
# Refresh username for existing platforms
git-mcp config refresh-username my-gitlab
🔧 Advanced Usage
Running MCP Server Directly
# Start MCP server (for debugging)
git-mcp-server
# Interactive development mode
uv run mcp dev git_mcp/mcp_server.py
MCP Scope Configuration
Claude Code:
- User scope (recommended): Available across all Claude Code projects
- Local scope: Only in current project directory
- Project scope: Shared via
.mcp.jsonin project
Gemini CLI:
- Global settings: Configured in
~/.gemini/settings.json - Project settings: Can override in project-specific settings
- Commands: Located in
~/.gemini/commands/(global) or.gemini/commands/(project)
Codex:
- Global configuration: MCP server configured in
~/.codex/config.toml - Commands: Located in
~/.codex/prompts/directory - Memory integration: Code guidelines in
~/.codex/AGENTS.md
Development Setup
# Clone repository
git clone <repository-url>
cd git_mcp
# Install in development mode
uv sync --all-extras
# Run locally
uv run git-mcp-server
# Install development version globally
uv tool install --from . git_mcp_server --force
📚 Workflow Examples
Complete Feature Development
# Start with your assigned issues
/issue
# Select and analyze specific issue
/issue https://gitlab.com/team/project/-/issues/456
# Generate implementation plan
/plan
# Implement with best practices
/implement
# Create comprehensive tests
/test
# Update documentation
/doc
# Create PR and close issue
/pr 456
Bug Fix Workflow
# Analyze bug report
/issue https://gitlab.com/team/project/-/issues/789
# Plan the fix
/plan
# Implement fix
/implement
# Add regression tests
/test
# Update docs if needed
/doc
# Submit fix
/pr 789
🔍 Troubleshooting
Verify Installation
# Check global installation
which git-mcp-server
git-mcp-server --help
# Verify Claude Code integration
claude mcp list
# Verify Gemini CLI integration
gemini /mcp
# Verify Codex integration
ls ~/.codex/prompts/ # Should show slash commands
cat ~/.codex/config.toml # Should show git-mcp-server
# Test MCP connection
echo '{"jsonrpc": "2.0", "method": "initialize", "params": {"protocolVersion": "2024-11-05", "capabilities": {}, "clientInfo": {"name": "test", "version": "1.0.0"}}, "id": 1}' | git-mcp-server
Common Issues
"No MCP servers configured"
# Reinstall MCP integration
git-mcp-server --install-claude # or --install-gemini
"Command not found" after installation
# Reinstall with uv
uv tool uninstall git_mcp_server
uv tool install git_mcp_server
Slash commands not working
# Check commands directory (Claude Code)
ls ~/.claude/commands/
# Check commands directory (Gemini CLI)
ls ~/.gemini/commands/
# Check commands directory (Codex)
ls ~/.codex/prompts/
# Reinstall if missing
git-mcp-server --install-claude # or --install-gemini or --install-codex
Update to Latest Version
# Update package
uv tool install git_mcp_server --upgrade
# Reinstall integration
git-mcp-server --install-claude # or --install-gemini
🐛 Debug & Logging
Git MCP Server includes comprehensive debugging and logging capabilities to help troubleshoot issues and understand system behavior.
Debug Mode
Enable debug mode to get detailed logging output with enhanced formatting:
CLI Commands:
# Enable debug mode for CLI commands
git-mcp --debug config list
git-mcp --debug issue list --platform github
# Debug mode shows detailed operation logs
git-mcp --debug config test my-gitlab
MCP Server:
# Start MCP server with debug logging
git-mcp-server --debug
# Shows detailed MCP tool calls and responses
git-mcp-server --debug
Environment Variables
Configure logging behavior using environment variables:
# Set log level (DEBUG, INFO, WARNING, ERROR)
export GIT_MCP_SERVER_LOG_LEVEL=DEBUG
# Enable debug mode (alternative to --debug flag)
export GIT_MCP_SERVER_DEBUG=true
# Log to file instead of/in addition to console
export GIT_MCP_SERVER_LOG_FILE=~/.git-mcp/debug.log
# Run with environment variables
git-mcp-server
Log File Configuration
Enable file logging for persistent debugging:
# Set log file path
export GIT_MCP_SERVER_LOG_FILE=~/.git-mcp/git-mcp.log
# Logs will be appended to file with timestamps
git-mcp-server --debug
Log file format:
2025-08-15 02:05:23,123 - git_mcp.mcp_server - DEBUG - MCP Tool: list_platforms called
2025-08-15 02:05:23,124 - git_mcp.platforms.gitlab - DEBUG - Connecting to GitLab at https://gitlab.com
2025-08-15 02:05:23,156 - git_mcp.mcp_server - DEBUG - MCP Tool: list_platforms returned 2 platforms
Rich Console Output
Debug mode enables rich console formatting with:
- 🎨 Colored output for different log levels
- 📁 File paths shown for debug messages
- ⏰ Timestamps for all debug entries
- 📊 Structured tracebacks for errors
- 🔍 Local variables in error traces (debug mode only)
Troubleshooting Common Issues
Enable debug mode when experiencing:
# Connection issues
export GIT_MCP_SERVER_LOG_LEVEL=DEBUG
git-mcp config test my-gitlab
# MCP tool failures
git-mcp-server --debug
# Authentication problems
export GIT_MCP_SERVER_DEBUG=true
git-mcp issue list --platform github
Debug MCP Integration:
# Test MCP server communication
echo '{"jsonrpc": "2.0", "method": "tools/list", "id": 1}' | git-mcp-server --debug
# Claude Code MCP debugging
claude mcp logs git-mcp-server
# Check MCP server status
claude mcp status
Log Levels Explained
- DEBUG: Detailed function calls, API requests, internal operations
- INFO: General information about operations and status
- WARNING: Non-critical issues that may need attention
- ERROR: Critical errors that prevent operation
Environment Variable Priority
Configuration priority (highest to lowest):
- CLI flags:
--debugoverrides environment variables - Environment variables:
GIT_MCP_SERVER_*settings - Default values: INFO level, console output only
Debug Examples
Debugging Platform Connection:
# Enable debug and test connection
export GIT_MCP_SERVER_LOG_LEVEL=DEBUG
git-mcp config test my-gitlab
# Output shows detailed connection process:
# DEBUG - Connecting to GitLab at https://gitlab.com
# DEBUG - Authentication successful for user: myusername
# DEBUG - API version: v4
# INFO - Connection to 'my-gitlab' successful
Debugging MCP Tool Calls:
# Start server with debug logging
git-mcp-server --debug
# Shows MCP tool invocations:
# DEBUG - MCP Tool: list_projects called with platform='gitlab'
# DEBUG - Found 15 projects for user
# DEBUG - MCP Tool: list_projects returned 15 projects
File + Console Logging:
# Log to both console and file
export GIT_MCP_SERVER_LOG_LEVEL=DEBUG
export GIT_MCP_SERVER_LOG_FILE=~/.git-mcp/debug.log
# Console shows rich formatted output
# File contains timestamped plain text logs
git-mcp-server
This logging system helps diagnose issues, understand system behavior, and provides detailed insights for development and troubleshooting.
🌟 Key Benefits
- ⚡ Speed: From issue to PR in minutes, not hours
- 🎯 Focus: AI handles boilerplate, you focus on logic
- 📋 Consistency: Standardized workflow across all projects
- 🔧 Flexibility: Works with any GitLab instance
- 🤖 Intelligence: AI assistants understand your codebase context
- 🔐 Security: Secure credential management
🛣️ Supported Platforms
- ✅ GitLab - Full support (gitlab.com and private instances)
- ✅ GitHub - Full support (github.com and GitHub Enterprise)
🤝 Contributing
Issues and Pull Requests welcome! This project enables powerful AI-assisted development workflows.
📄 License
MIT License
Ready to supercharge your development workflow?
# For Claude Code
uv tool install git_mcp_server && git-mcp-server --install-claude
# For Gemini CLI
uv tool install git_mcp_server && git-mcp-server --install-gemini
# For Codex
uv tool install git_mcp_server && git-mcp-server --install-codex
Then try /issue in your AI assistant! 🚀
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。