Git Repository Browser MCP server

Enables Git repository exploration and analysis through a Node.js server that executes commands for cloning repositories, browsing directories, reading files, comparing branches, and searching code patterns with structured JSON responses.
Back to servers
Setup instructions
Provider
Sreeram Balamurugan
Release date
Mar 20, 2025
Language
TypeScript
Package
Stats
522 downloads

This Node.js implementation of a Git repository browser uses the Model Context Protocol (MCP) to provide a set of useful Git operations through a server interface. It allows you to explore repository structures, read files, search code, compare branches, and view commit history without writing complex Git commands.

Installation

NPM (Recommended)

npm install -g git-commands-mcp

Manual Installation

git clone https://github.com/bsreeram08/git-commands-mcp.git
cd git-commands-mcp
npm install

Configuration

Add this to your MCP settings configuration file:

{
  "mcpServers": {
    "git-commands-mcp": {
      "command": "git-commands-mcp"
    }
  }
}

For manual installation, use:

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

Features

Basic Repository Operations

  • git_directory_structure: Returns a tree-like representation of a repository's directory structure

    • Input: Repository URL
    • Output: ASCII tree representation of the repository structure
  • git_read_files: Reads and returns the contents of specified files in a repository

    • Input: Repository URL and list of file paths
    • Output: Dictionary mapping file paths to their contents
  • git_search_code: Searches for patterns in repository code

    • Input: Repository URL, search pattern, optional file patterns, case sensitivity, and context lines
    • Output: JSON with search results including matching lines and context

Branch Operations

  • git_branch_diff: Compare two branches and show files changed between them
    • Input: Repository URL, source branch, target branch, and optional show_patch flag
    • Output: JSON with commit count and diff summary

Commit Operations

  • git_commit_history: Get commit history for a branch with optional filtering

    • Input: Repository URL, branch name, max count, author filter, since date, until date, and message grep
    • Output: JSON with commit details
  • git_commits_details: Get detailed information about commits including full messages and diffs

    • Input: Repository URL, branch name, max count, include_diff flag, author filter, since date, until date, and message grep
    • Output: JSON with detailed commit information
  • git_local_changes: Get uncommitted changes in the working directory

    • Input: Local repository path
    • Output: JSON with status information and diffs

Requirements

  • Node.js 14.x or higher
  • Git installed on the system

Usage

If installed globally via npm:

git-commands-mcp

If installed manually:

node src/index.js

The server runs on stdio, making it compatible with MCP clients. Once running, you can use any MCP client to interact with this server and utilize the Git operations described in the Features section.

How to install this MCP server

For Claude Code

To add this MCP server to Claude Code, run this command in your terminal:

claude mcp add-json "git-commands-mcp" '{"command":"git-commands-mcp"}'

See the official Claude Code MCP documentation for more details.

For Cursor

There are two ways to add an MCP server to Cursor. The most common way is to add the server globally in the ~/.cursor/mcp.json file so that it is available in all of your projects.

If you only need the server in a single project, you can add it to the project instead by creating or adding it to the .cursor/mcp.json file.

Adding an MCP server to Cursor globally

To add a global MCP server go to Cursor Settings > Tools & Integrations and click "New MCP Server".

When you click that button the ~/.cursor/mcp.json file will be opened and you can add your server like this:

{
    "mcpServers": {
        "git-commands-mcp": {
            "command": "git-commands-mcp"
        }
    }
}

Adding an MCP server to a project

To add an MCP server to a project you can create a new .cursor/mcp.json file or add it to the existing one. This will look exactly the same as the global MCP server example above.

How to use the MCP server

Once the server is installed, you might need to head back to Settings > MCP and click the refresh button.

The Cursor agent will then be able to see the available tools the added MCP server has available and will call them when it needs to.

You can also explicitly ask the agent to use the tool by mentioning the tool name and describing what the function does.

For Claude Desktop

To add this MCP server to Claude Desktop:

1. Find your configuration file:

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

2. Add this to your configuration file:

{
    "mcpServers": {
        "git-commands-mcp": {
            "command": "git-commands-mcp"
        }
    }
}

3. Restart Claude Desktop for the changes to take effect

Want to 10x your AI skills?

Get a free account and learn to code + market your apps using AI (with or without vibes!).

Nah, maybe later