# MCP Git Analysis Server
An MCP (Model Context Protocol) server that analyzes local git repositories and provides insights about commits, contributors, and file changes.
## Features
### Tools
1. **analyze_commits** - Get commit statistics with optional filters
- Filter by count, author, or date range
- Returns detailed commit information including changes
2. **find_hot_spots** - Find most frequently changed files
- Shows files with most commits
- Includes number of unique authors per file
3. **get_contributors** - List all contributors with statistics
- Shows commit counts, insertions, deletions
- Includes first and last commit dates
### Resources
1. **git://recent-activity** - Last 10 commits as structured data
2. **git://file-history/{filepath}** - Change history for a specific file
## Installation
```bash
# Install dependencies
pip install -r requirements.txt
```
## Usage
### With MCP Inspector
```bash
# Run the server with MCP Inspector
mcp dev server.py
```
### As MCP Server
Configure in your MCP client settings:
```json
{
"mcpServers": {
"git-analysis": {
"command": "python3",
"args": ["/path/to/server.py"]
}
}
}
```
## Example Tool Calls
### Analyze Recent Commits
```json
{
"name": "analyze_commits",
"arguments": {
"count": 5
}
}
```
### Find Hot Spots
```json
{
"name": "find_hot_spots",
"arguments": {
"limit": 10
}
}
```
### Get Contributors
```json
{
"name": "get_contributors",
"arguments": {}
}
```
## Example Resource Access
- `git://recent-activity` - Get recent activity
- `git://file-history/src/main.py` - Get history for specific file
## Requirements
- Python 3.8+
- Git repository
- GitPython library
- MCP SDK
## Testing
Test with MCP Inspector:
```bash
npx @modelcontextprotocol/inspector python3 server.py
```