davidweb3-ctrl

๐Ÿฆž MCP Git Enhanced

Community davidweb3-ctrl
Updated

Enhanced Git MCP Server - Code review, commit analysis, and branch management

๐Ÿฆž MCP Git Enhanced

TestsCoverageLicense

An enhanced Git MCP (Model Context Protocol) server that provides AI assistants with powerful code review, commit analysis, and branch management capabilities.

Features

  • ๐Ÿ” Code Diff Analysis - Compare commits, branches, or working directory changes
  • ๐Ÿ“Š Commit History Analysis - Deep insights into commit patterns and contributors
  • ๐ŸŒฟ Branch Management - List, compare, and cleanup suggestions
  • ๐Ÿ“ˆ Repository Status - Comprehensive working directory overview
  • ๐Ÿ”Ž Commit Analysis - Detailed single commit inspection

Installation

From npm (when published)

npm install -g @bountyclaw/mcp-git-enhanced

From source

git clone https://github.com/bountyclaw/mcp-git-enhanced.git
cd mcp-git-enhanced
npm install
npm run build

Usage with Claude Code

Add to your Claude Code configuration (~/.claude/settings.json):

{
  "mcpServers": {
    "git-enhanced": {
      "command": "npx",
      "args": ["@bountyclaw/mcp-git-enhanced"]
    }
  }
}

Or for local development:

{
  "mcpServers": {
    "git-enhanced": {
      "command": "node",
      "args": ["/path/to/mcp-git-enhanced/dist/index.js"]
    }
  }
}

Available Tools

git_diff

Analyze code changes between commits, branches, or working directory.

{
  "repoPath": "/absolute/path/to/repo",
  "target": "HEAD~5",
  "source": "HEAD~10",
  "filePath": "src/",
  "staged": false
}

git_log

Analyze commit history with filtering and statistics.

{
  "repoPath": "/absolute/path/to/repo",
  "maxCount": 20,
  "author": "John Doe",
  "since": "1 week ago",
  "stat": true
}

git_branch

Manage and analyze git branches.

{
  "repoPath": "/absolute/path/to/repo",
  "action": "list|compare|suggest_cleanup",
  "includeRemote": true
}

git_status

Get comprehensive repository status.

{
  "repoPath": "/absolute/path/to/repo",
  "short": false
}

git_commit_analyze

Analyze a specific commit in detail.

{
  "repoPath": "/absolute/path/to/repo",
  "commitHash": "abc123"
}

Example Use Cases

Code Review

"Show me the diff between main and the feature branch"
"What files changed in the last 5 commits?"
"Analyze the impact of commit abc123"

Repository Health

"List all branches that can be safely deleted"
"Show me commits from the last week"
"Who are the top contributors to this project?"

Working Directory

"What's the current status of my repo?"
"Show me the staged changes"
"What files have uncommitted changes?"

Development

# Install dependencies
npm install

# Build
npm run build

# Watch mode
npm run dev

# Test locally
node dist/index.js

Testing

This project uses Jest for testing with comprehensive coverage for all Git tool handlers.

# Run all tests
npm test

# Run tests with coverage report
npm run test:coverage

# Run tests in watch mode
npm run test:watch

Coverage Report

File Statements Branches Functions Lines
tools.ts 98%+ 95%+ 100% 98%+

Test Structure

  • src/__tests__/tools.test.ts - Unit tests for all 5 Git tool handlers
    • git_diff - 7 test cases
    • git_log - 13 test cases
    • git_branch - 10 test cases (list, compare, suggest_cleanup)
    • git_status - 5 test cases
    • git_commit_analyze - 4 test cases

Code Quality

# Run ESLint
npm run lint

# Fix ESLint issues
npm run lint:fix

# Format with Prettier
npm run format

# Check formatting
npm run format:check

Requirements

  • Node.js >= 18.0.0
  • Git installed and available in PATH

License

MIT

Contributing

Contributions welcome! Please read CONTRIBUTING.md for details.

Built with ๐Ÿฆž by BountyClaw

MCP Server ยท Populars

MCP Server ยท New