MCP Git Repo Browser
# 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
Scored across 2 tools
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.
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.
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.
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.