Skip to content

MCP Server for GitHub/GitLab code review - enables AI assistants to review pull requests and merge requests

License

Notifications You must be signed in to change notification settings

OldJii/code-review-mcp

Repository files navigation

Code Review MCP Server

English | δΈ­ζ–‡

PyPI version License: MIT Python 3.10+

MCP (Model Context Protocol) server for code review. Enables AI assistants to review GitHub/GitLab Pull Requests and Merge Requests.

✨ Features

  • πŸ” Multi-platform: Supports both GitHub and GitLab (including self-hosted)
  • πŸš€ Multiple Transports: Supports stdio, SSE, and WebSocket protocols
  • πŸ“¦ Easy Install: Quick install via uvx or pip
  • 🐳 Containerized: Docker image available
  • ☁️ Cloud Deploy: One-click Smithery deployment
  • πŸ”’ Security First: Environment variable configuration, no data persistence

πŸš€ Quick Start

Option 1: Using uvx (Recommended)

# Run directly, no installation needed
uvx code-review-mcp

Option 2: Using pip

pip install code-review-mcp

# Run the server
code-review-mcp

# (Optional) Install Cursor rules to your project
code-review-mcp init-rules

Option 3: From Source

git clone https://github.com/OldJii/code-review-mcp.git
cd code-review-mcp
pip install -e .
code-review-mcp

πŸ”§ Configuration

Environment Variables

Variable Description Required
GITHUB_TOKEN GitHub personal access token When using GitHub
GITLAB_TOKEN GitLab personal access token When using GitLab
GITLAB_HOST GitLab host URL For self-hosted (default: gitlab.com)

Getting Tokens

GitHub

# Option 1: Using gh CLI (Recommended)
brew install gh
gh auth login

# Option 2: Manual Token Creation
# Visit https://github.com/settings/tokens
# Create Personal Access Token with 'repo' scope
export GITHUB_TOKEN="your-token-here"

GitLab

# Option 1: Using glab CLI (Recommended)
brew install glab
glab auth login

# For self-hosted GitLab
glab auth login --hostname gitlab.yourcompany.com

# Option 2: Manual Token Creation
# Visit GitLab -> Settings -> Access Tokens
# Create token with 'api' scope
export GITLAB_TOKEN="your-token-here"
export GITLAB_HOST="gitlab.yourcompany.com"  # For self-hosted

πŸ“± Client Configuration

Cursor

Edit ~/.cursor/mcp.json:

{
  "mcpServers": {
    "code-review": {
      "command": "uvx",
      "args": ["code-review-mcp"],
      "env": {
        "GITHUB_TOKEN": "your-github-token",
        "GITLAB_TOKEN": "your-gitlab-token"
      }
    }
  }
}

Claude Desktop

Edit ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):

{
  "mcpServers": {
    "code-review": {
      "command": "uvx",
      "args": ["code-review-mcp"],
      "env": {
        "GITHUB_TOKEN": "your-github-token",
        "GITLAB_TOKEN": "your-gitlab-token"
      }
    }
  }
}

SSE Mode (Remote Deployment)

# Start SSE server
code-review-mcp --transport sse --port 8000

Client configuration:

{
  "mcpServers": {
    "code-review": {
      "url": "http://your-server:8000/sse"
    }
  }
}

WebSocket Mode (Remote Deployment)

# Start WebSocket server
code-review-mcp --transport websocket --port 8000

Client configuration:

{
  "mcpServers": {
    "code-review": {
      "url": "ws://your-server:8000/ws"
    }
  }
}

🐳 Docker Deployment

Build Image

docker build -t code-review-mcp .

Run Container

stdio mode

docker run -i --rm \
  -e GITHUB_TOKEN="your-token" \
  code-review-mcp

SSE mode

docker run -d --rm \
  -e GITHUB_TOKEN="your-token" \
  -p 8000:8000 \
  code-review-mcp --transport sse

πŸ”¨ MCP Tools

Information Retrieval

Tool Description
get_pr_info Get PR/MR details (title, description, branches)
get_pr_changes Get code changes (diff), supports file type filtering
extract_related_prs Extract related PR/MR links from description

Adding Comments

Tool Description
add_inline_comment Add inline comment to specific code line
add_pr_comment Add general comment
batch_add_comments Batch add comments (inline + general)

πŸ’¬ Usage Examples

Chat with Cursor or Claude:

Review GitHub PR

Review https://github.com/facebook/react/pull/12345

Review GitLab MR

Review https://gitlab.com/group/project/-/merge_requests/678

Review Self-hosted GitLab MR

Review https://gitlab.yourcompany.com/team/project/-/merge_requests/90

Review Only Specific File Types

Review this PR, only check .py and .js files:
https://github.com/owner/repo/pull/123

πŸ§ͺ Debugging & Testing

Using MCP Inspector

# Run with MCP Inspector
npx @modelcontextprotocol/inspector uvx code-review-mcp

This launches a web interface where you can:

  • View all available tools
  • Manually call tools and inspect results
  • Debug parameters and responses

Local Development

# Clone repository
git clone https://github.com/OldJii/code-review-mcp.git
cd code-review-mcp

# Install dev dependencies
pip install -e ".[dev]"

# Run tests
pytest

# Debug with Inspector
npx @modelcontextprotocol/inspector python -m code_review_mcp.server

πŸ“ Project Structure

code-review-mcp/
β”œβ”€β”€ src/
β”‚   └── code_review_mcp/
β”‚       β”œβ”€β”€ __init__.py      # Package entry
β”‚       β”œβ”€β”€ cli.py           # CLI commands (init-rules, etc.)
β”‚       β”œβ”€β”€ server.py        # MCP server main logic
β”‚       β”œβ”€β”€ providers.py     # GitHub/GitLab providers
β”‚       └── rules/           # Bundled Cursor rules
β”‚           β”œβ”€β”€ code-review.mdc
β”‚           └── code-review-en.mdc
β”œβ”€β”€ pyproject.toml           # Project config & PyPI publishing
β”œβ”€β”€ Dockerfile               # Docker build file
β”œβ”€β”€ smithery.yaml            # Smithery deployment config
β”œβ”€β”€ CHANGELOG.md             # Changelog
β”œβ”€β”€ CONTRIBUTING.md          # Contributing guide
└── README.md                # Documentation

🎯 Cursor Rules (Recommended)

This package includes built-in code review rules for Cursor IDE. Install them to your project with one command:

# Install rules to current project
code-review-mcp init-rules

# Install to a specific directory
code-review-mcp init-rules --target /path/to/project

# Overwrite existing rules
code-review-mcp init-rules --force

# List available rules
code-review-mcp list-rules

After installation, the rules will be available in your project's .cursor/rules/ directory:

  • code-review.mdc - Chinese version
  • code-review-en.mdc - English version

Customizing Rules

The installed rules are general templates. You can customize them for your project:

  • Priority definitions
  • Checklist items
  • Comment format
  • Deduplication rules

🀝 Contributing

Contributions welcome! See CONTRIBUTING.md for details.

πŸ“„ License

MIT

πŸ”— Related Links

About

MCP Server for GitHub/GitLab code review - enables AI assistants to review pull requests and merge requests

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Packages