git-reviewer
by Suchit-007
README.md
# ๐ค Git-Reviewer MCP Server
[](https://opensource.org/licenses/MIT)
[](https://modelcontextprotocol.io/)
Stop manually copying and pasting massive code diffs into your AI chat window.
**Git-Reviewer** is a lightweight, secure Model Context Protocol (MCP) server that connects LLM assistants (like Claude Desktop, Cursor, and Windsurf) directly to the GitHub API. It enables your AI to fetch pull request metadata and raw diff files autonomously, producing fast, context-aware, and highly accurate code reviews directly within your development workspace.
---
## โก The Context Switching Problem (Solved)
```mermaid
flowchart LR
DEV[Developer] -->|Ask for PR review| AI[AI Assistant]
AI -->|MCP JSON-RPC| SERVER[Git-Reviewer MCP Server]
SERVER --> META[fetch_pr_metadata]
SERVER --> DIFF[fetch_pr_diff]
META -->|Authorized API call| GITHUB[GitHub REST API]
DIFF -->|Authorized API call| GITHUB
GITHUB --> DATA[PR title, author, state, description, and raw diff]
DATA --> SERVER
SERVER -->|Structured review context| AI
AI -->|Actionable review findings| DEV
AI -. Optional: publish line comment .-> COMMENT[post_pr_review_comment]
COMMENT -.-> GITHUB
```
Instead of manually navigating tabs, copying hundreds of lines of diff code, and hitting token limits, you can now simply type:
> *"Analyze the code changes in react/react PR #36818 and check for architectural issues."*
Your assistant will query the server, read the raw diff, and deliver a structured code review instantly.
---
## โจ Features
* **๐จ High-Fidelity Diffs (`fetch_pr_diff`)**: Fetches raw, line-by-line `.diff` code changes, optimized for LLM comprehension.
* **๐ Rich Context (`fetch_pr_metadata`)**: Retrieves PR Title, Author, Description, and State to give the AI crucial background.
* **โ๏ธ Active Review Comments (`post_pr_review_comment`)**: Allows the AI to write line-level feedback directly onto the PR from the chat interface. (Automatically resolves head commit SHA if omitted).
* **๐ก๏ธ Secure Token Storage**: Uses standard local `.env` configuration. Your GitHub Personal Access Token is never committed or shared.
---
## ๐ Installation & Local Setup
### 1. Clone & Initialize Environment
Set up a clean Python environment:
```bash
# Clone the repository
git clone https://github.com/Suchit-007/git-reviewer.git
cd git-reviewer
# Create and activate virtual environment
python -m venv .venv
# On Windows:
.venv\Scripts\activate
# On macOS/Linux:
source .venv/bin/activate
# Install required packages
pip install -r requirements.txt
```
### 2. Configure Environment Variables
Create a `.env` file in the root folder (or copy `.env.example`):
```bash
GITHUB_TOKEN=your_personal_access_token_here
```
*Note: Using a token avoids GitHub API rate limiting on public repositories and enables reading from private repositories.*
---
## โ๏ธ IDE Integration
### Claude Desktop
Add the configuration to your `claude_desktop_config.json` file:
* **Windows**: `%APPDATA%\Claude\claude_desktop_config.json`
* **macOS**: `~/Library/Application Support/Claude/claude_desktop_config.json`
```json
{
"mcpServers": {
"git-reviewer": {
"command": "python",
"args": [
"C:\\absolute\\path\\to\\git-reviewer\\src\\server.py"
],
"env": {
"GITHUB_TOKEN": "your_github_token_here"
}
}
}
}
```
### Cursor
1. Go to **Settings** -> **Features** -> **MCP**.
2. Click **+ Add New MCP Server**.
3. Configure:
* **Name**: `git-reviewer`
* **Type**: `command`
* **Command**: `python C:\absolute\path\to\git-reviewer\src\server.py`
4. Click **Save**.
---
## ๐งช Development & Testing
You can test the server locally using the **MCP Inspector** tool:
```bash
# Activate virtual environment
.venv\Scripts\activate
# Run the inspector
fastmcp dev inspector src/server.py
```
This opens a local developer interface at `http://localhost:6274` to test the tools interactively.
---
## ๐ License
This project is open-source and licensed under the [MIT License](LICENSE).
This server cannot be deployed
Maintenance
ActivityInactive
ResponsivenessNo issues