Skip to main content
Glama

Git MCP Server

A Model Context Protocol (MCP) server for Git operations that provides comprehensive Git functionality to MCP clients like Claude Desktop.

Features

  • Context-aware: Automatically detects the current project based on working directory

  • Comprehensive Git operations: status, branches, diffs, logs, file contents, commits, and more

  • Multi-project support: Works seamlessly across different project directories

  • Error handling: Proper MCP error responses

  • Branch management: Create, switch, and manage branches

  • Remote operations: Push, pull, and fetch from remote repositories

Installation

npm install -g git-mcp-server

Option 2: Local Development Setup

  1. Clone and install:

    git clone https://github.com/yourusername/git-mcp-server.git cd git-mcp-server npm install
  2. Build the project:

    npm run build

Configuration

Claude Desktop

Add this server to your Claude Desktop configuration file:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json Windows: %APPDATA%\Claude\claude_desktop_config.json

{ "mcpServers": { "git": { "command": "git-mcp-server", "args": [] } } }

Other MCP Clients

For other MCP clients, use the server binary directly:

git-mcp-server

The server will automatically use the current working directory as the Git repository context.

Usage

Once configured, you can use Git operations through your MCP client. The server automatically detects the Git repository in your current working directory.

Example Commands

Ask your MCP client (like Claude) to perform Git operations:

  • "What's the current git status?"

  • "Show me the diff with the main branch"

  • "Create a new branch called feature/new-feature"

  • "Commit these changes with message 'Fix bug in parser'"

  • "Push the current branch to origin"

Testing the Server

You can test the server manually from any Git repository:

cd /path/to/your/git/repo git-mcp-server

Available Tools

Repository Information

  • git_status - Get current git status

  • git_current_branch - Get current branch name

  • git_staged_changes - Get staged changes

  • git_working_directory - Get current working directory info

File and History Operations

  • git_diff - Show diff between branches/commits

  • git_log - Get commit history

  • git_show_file - Show file contents at specific commit

Branch Operations

  • git_branches - List all branches

  • git_checkout - Switch to different branch or create new branch

Staging and Commit Operations

  • git_add - Add files to staging area

  • git_commit - Create commits with message and files

Remote Operations

  • git_pull - Pull changes from remote repository

  • git_fetch - Fetch changes from remote without merging

Repository Management

  • git_init - Initialize a new git repository

Prerequisites

  • Node.js 18+

  • npm or yarn

  • Git installed on your system

Contributing

  1. Fork the repository

  2. Create a feature branch

  3. Make your changes

  4. Add tests if applicable

  5. Submit a pull request

License

MIT License - see LICENSE file for details.

Project Structure

git-mcp-server/ ├── package.json # Project dependencies and scripts ├── tsconfig.json # TypeScript configuration ├── src/ │ └── index.ts # Main server implementation ├── build/ │ └── index.js # Compiled JavaScript (generated) └── README.md # This file

Development

  • npm run build - Build the TypeScript code

  • npm run dev - Watch mode for development

  • npm start - Run the built server

-
security - not tested
A
license - permissive license
-
quality - not tested

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/DanyelKirsch/git-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server