- Explore MCP Servers
- git-mcp-server
Git Mcp Server
What is Git Mcp Server
Git MCP Server is a Model Context Protocol (MCP) server that integrates Git operations into AI workflows, allowing AI assistants to manage Git repositories using natural language.
Use cases
Use cases include enabling AI assistants to answer questions about repository status, view commit history, show changes made to files, create commits, list branches, and switch between branches, all through natural language commands.
How to use
To use git-mcp-server, simply clone the repository and follow the installation instructions. Once set up, you can interact with your Git repository through an AI assistant using commands like ‘What files have I changed?’ or ‘Commit my bug fix with a descriptive message.’
Key features
Key features include AI-native Git integration, a full Git toolkit (status, commits, branches, diffs), zero configuration setup, universal compatibility with various AI APIs, async performance for optimal speed, and a high code coverage of 93% ensuring reliability.
Where to use
Git MCP Server can be used in various fields where AI and Git integration is beneficial, such as software development, project management, and AI-driven applications that require version control.
Clients Supporting MCP
The following are the main client software that supports the Model Context Protocol. Click the link to visit the official website for more information.
Overview
What is Git Mcp Server
Git MCP Server is a Model Context Protocol (MCP) server that integrates Git operations into AI workflows, allowing AI assistants to manage Git repositories using natural language.
Use cases
Use cases include enabling AI assistants to answer questions about repository status, view commit history, show changes made to files, create commits, list branches, and switch between branches, all through natural language commands.
How to use
To use git-mcp-server, simply clone the repository and follow the installation instructions. Once set up, you can interact with your Git repository through an AI assistant using commands like ‘What files have I changed?’ or ‘Commit my bug fix with a descriptive message.’
Key features
Key features include AI-native Git integration, a full Git toolkit (status, commits, branches, diffs), zero configuration setup, universal compatibility with various AI APIs, async performance for optimal speed, and a high code coverage of 93% ensuring reliability.
Where to use
Git MCP Server can be used in various fields where AI and Git integration is beneficial, such as software development, project management, and AI-driven applications that require version control.
Clients Supporting MCP
The following are the main client software that supports the Model Context Protocol. Click the link to visit the official website for more information.
Content
Git MCP Server
A Model Context Protocol (MCP) server that provides Git operations as tools for AI assistants. This server enables seamless integration of Git functionality into AI workflows.
Why Git MCP Server?
- AI-Native Git Integration - Enable AI assistants to manage Git repositories with natural language
- Full Git Toolkit - Status, commits, branches, diffs, and more - all accessible to AI
- Zero Configuration - Works out of the box with any Git repository
- Universal Compatibility - Integrates with Claude Desktop, OpenAI, Anthropic APIs, and any MCP-compatible client
- Async Performance - Built on Python’s asyncio for optimal performance
- Battle-Tested - 93% code coverage with comprehensive test suite
Features
Transform your AI assistant into a Git power user with these tools:
| Tool | Description | Use Case |
|---|---|---|
| git_status | Get repository status | “What files have I changed?” |
| git_log | View commit history | “Show me the last 5 commits” |
| git_diff | Show changes | “What did I modify in auth.py?” |
| git_commit | Create commits | “Commit my bug fix with a descriptive message” |
| git_branch | List branches | “What branches exist?” |
| git_checkout | Switch branches | “Switch to the feature branch” |
Quick Start
Installation
# Clone the repository
git clone https://github.com/asklokesh/git-mcp-server.git
cd git-mcp-server
# Install dependencies
pip install -r requirements.txt
# Or install as a package
pip install -e .
See It In Action
# Ask your AI assistant:
"What's the status of my project?"
"Show me what changed in the authentication module"
"Create a commit for the bug fix I just made"
"Switch to the development branch"
Usage
Option 1: With Claude Desktop (Recommended)
-
Edit Claude Desktop config:
# macOS nano ~/Library/Application\ Support/Claude/claude_desktop_config.json # Windows notepad %APPDATA%\Claude\claude_desktop_config.json -
Add configuration:
{ "mcpServers": { "git-mcp": { "command": "python", "args": [ "/path/to/git-mcp-server/git_mcp.py" ] } } } -
Restart Claude Desktop
Option 2: As Standalone MCP Server
python git_mcp.py
Option 3: With GenAI APIs (OpenAI, Anthropic, etc.)
See the examples directory for integration examples:
- example_client.py - Direct MCP client usage
- api_integration.py - REST API wrapper
- genai_integration_example.py - OpenAI/Anthropic integration
Quick example:
from examples.genai_integration_example import GitMCPToolkit
toolkit = GitMCPToolkit()
result = toolkit.execute_tool("git_status", {"path": "/path/to/repo"})
print(result)
Real-World Examples
Example 1: AI-Powered Code Review
# Ask your AI assistant:
"Check the git status and tell me what files need to be committed"
"Show me the diff for the changes in the API module"
"Create a descriptive commit message based on the changes"
Example 2: Branch Management
# Ask your AI assistant:
"List all branches and tell me which one is active"
"Create a new feature branch for the authentication update"
"Switch to the main branch and show me the latest commits"
Example 3: Project Health Check
# Ask your AI assistant:
"Analyze the last 10 commits and summarize the recent changes"
"Check if there are any uncommitted changes"
"Show me who contributed to this project recently"
Tool Reference
git_status
Get the status of a git repository.
Parameters:
path(string, required): Path to the git repository
Example:
{
"tool": "git_status",
"arguments": {
"path": "/Users/john/my-project"
}
}
git_log
View commit history of a repository.
Parameters:
path(string, required): Path to the git repositorylimit(integer, optional): Number of commits to show (default: 10)
Example:
{
"tool": "git_log",
"arguments": {
"path": "/Users/john/my-project",
"limit": 5
}
}
git_diff
Show changes in a repository.
Parameters:
path(string, required): Path to the git repositorystaged(boolean, optional): Show staged changes (default: false)
Example:
{
"tool": "git_diff",
"arguments": {
"path": "/Users/john/my-project",
"staged": true
}
}
git_commit
Create a git commit.
Parameters:
path(string, required): Path to the git repositorymessage(string, required): Commit messagefiles(array[string], optional): Specific files to commit
Example:
{
"tool": "git_commit",
"arguments": {
"path": "/Users/john/my-project",
"message": "Fix bug in authentication",
"files": [
"auth.py",
"tests/test_auth.py"
]
}
}
git_branch
List branches in a repository.
Parameters:
path(string, required): Path to the git repository
Example:
{
"tool": "git_branch",
"arguments": {
"path": "/Users/john/my-project"
}
}
git_checkout
Switch to a different branch.
Parameters:
path(string, required): Path to the git repositorybranch(string, required): Branch name to checkoutcreate(boolean, optional): Create new branch (default: false)
Example:
{
"tool": "git_checkout",
"arguments": {
"path": "/Users/john/my-project",
"branch": "feature/new-feature",
"create": true
}
}
Development
Running Tests
# Install test dependencies
pip install pytest pytest-asyncio pytest-cov
# Run tests
python -m pytest tests/ -v
# Run with coverage
python -m pytest tests/ -v --cov=git_mcp --cov-report=html
Project Structure
git-mcp-server/ ├── git_mcp.py # Main MCP server ├── requirements.txt # Python dependencies ├── pyproject.toml # Package configuration ├── tests/ # Unit tests │ ├── __init__.py │ └── test_git_mcp.py ├── examples/ # Integration examples │ ├── example_client.py │ ├── api_integration.py │ ├── genai_integration_example.py │ └── ... └── .github/ └── workflows/ └── test.yml # CI/CD pipeline
Contributing
We love contributions! Here’s how you can help:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Make your changes
- Write or update tests
- Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
Ways to Contribute
- Report bugs - Help us identify issues
- Suggest features - Share your ideas
- Improve documentation - Help others understand the project
- Add tests - Increase code coverage
- Translate - Make the project accessible globally
Roadmap
- [ ] Add support for more Git operations (merge, rebase, stash)
- [ ] Implement Git LFS support
- [ ] Add authentication for private repositories
- [ ] Create a web-based dashboard
- [ ] Support for Git hooks integration
- [ ] Multi-repository management
- [ ] Git workflow automation templates
License
MIT License - see LICENSE file for details
Support & Community
- Issues: GitHub Issue Tracker
- Discussions: GitHub Discussions
- Star this repo to show your support!
Made with care by developers, for developers
Star us on GitHub
Dev Tools Supporting MCP
The following are the main code editors that support the Model Context Protocol. Click the link to visit the official website for more information.










