README.md•2.08 kB
# Git Helper MCP
A Model Context Protocol (MCP) server that provides git repository tools for Claude.
## Features
This MCP provides the following tools:
- **get_status** - Get current repository status (staged, unstaged, untracked files)
- **list_branches** - List all branches with current branch highlighted
- **get_commit_history** - View recent commits with messages and authors
- **get_branch_info** - Get detailed info about current or specific branch
- **get_diff** - Show changes (staged or unstaged)
## Installation
1. Create a virtual environment and install dependencies:
```bash
python3 -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
pip install -r requirements.txt
```
2. Test the server:
```bash
python server.py
```
## Configuration for Claude Desktop
Add this to your Claude Desktop MCP settings file:
**macOS**: `~/Library/Application Support/Claude/claude_desktop_config.json`
**Windows**: `%APPDATA%\Claude\claude_desktop_config.json`
```json
{
"mcpServers": {
"git-helper": {
"command": "/Users/prateek/Code/claude/git-helper-mcp/venv/bin/python",
"args": ["/Users/prateek/Code/claude/git-helper-mcp/server.py"]
}
}
}
```
After adding, restart Claude Desktop.
## Usage Examples
Once configured, you can ask Claude things like:
- "What's the status of my git repository?"
- "Show me the recent commit history"
- "List all branches"
- "What branch am I on?"
- "Show me the unstaged changes"
- "What's in my staging area?"
## How It Works
The MCP server runs as a separate process and communicates with Claude via stdio. When you ask git-related questions, Claude can call these tools to get real-time information from your git repository.
## Requirements
- Python 3.10+
- Git installed and in PATH
- MCP Python SDK
## Learning Points
This project demonstrates:
- Building an MCP server
- Subprocess execution
- Async Python
- Tool definition with JSON schemas
- Error handling
---
Built as a learning project with [Claude Code](https://claude.com/claude-code)