Skip to main content
Glama
razorback16

MCP Git Repo Browser

by razorback16
README.md
# MCP Git Repo Browser (Node.js)

A Node.js implementation of a Git repository browser using the Model Context Protocol (MCP).

<a href="https://glama.ai/mcp/servers/zmmq29sb91">
  <img width="380" height="200" src="https://glama.ai/mcp/servers/zmmq29sb91/badge" alt="Git Repo Browser MCP server" />
</a>

## Configuration

Add this to your MCP settings configuration file:

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

## Features

The server provides two main tools:

1. `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

2. `git_read_important_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

## Implementation Details

- Uses Node.js native modules (crypto, path, os) for core functionality
- Leverages fs-extra for enhanced file operations
- Uses simple-git for Git repository operations
- Implements clean error handling and resource cleanup
- Creates deterministic temporary directories based on repository URL hashes
- Reuses cloned repositories when possible for efficiency

## Requirements

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

## Installation

```bash
git clone <repository-url>
cd mcp-git-repo-browser
npm install
```

## Usage

Start the server:

```bash
node src/index.js
```

The server runs on stdio, making it compatible with MCP clients.

## License

MIT License - see the [LICENSE](LICENSE) file for details.

TDQS

B3.1/5.0

Scored across 2 tools

Disambiguation5/5

The two tools have clearly distinct purposes: one clones a repository and returns its directory structure, while the other reads the contents of specified files. There is no overlap or ambiguity between these operations, making it easy for an agent to select the correct tool.

Naming Consistency5/5

Both tools follow a consistent 'git_verb_adjective_noun' pattern (git_directory_structure and git_read_important_files). This naming convention is predictable and readable throughout the set, with no deviations or mixed styles.

Tool Count2/5

With only 2 tools, the server feels thin for a 'Git Repo Browser' purpose. While the tools cover cloning and reading files, there are obvious gaps in typical repository operations (e.g., listing branches, checking commit history, or searching code), making the scope underdeveloped.

Completeness2/5

The tool surface is severely incomplete for browsing Git repositories. It lacks basic operations like listing repositories, viewing commits, checking branches, or searching within files. Agents will encounter dead ends when trying to perform common repository exploration tasks beyond the two provided tools.

Maintenance

ActivityInactive
ResponsivenessNo issues