English | δΈζ
MCP (Model Context Protocol) server for code review. Enables AI assistants to review GitHub/GitLab Pull Requests and Merge Requests.
- π Multi-platform: Supports both GitHub and GitLab (including self-hosted)
- π Multiple Transports: Supports stdio, SSE, and WebSocket protocols
- π¦ Easy Install: Quick install via
uvxorpip - π³ Containerized: Docker image available
- βοΈ Cloud Deploy: One-click Smithery deployment
- π Security First: Environment variable configuration, no data persistence
# Run directly, no installation needed
uvx code-review-mcppip install code-review-mcp
# Run the server
code-review-mcp
# (Optional) Install Cursor rules to your project
code-review-mcp init-rulesgit clone https://github.com/OldJii/code-review-mcp.git
cd code-review-mcp
pip install -e .
code-review-mcp| 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) |
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-hostedEdit ~/.cursor/mcp.json:
{
"mcpServers": {
"code-review": {
"command": "uvx",
"args": ["code-review-mcp"],
"env": {
"GITHUB_TOKEN": "your-github-token",
"GITLAB_TOKEN": "your-gitlab-token"
}
}
}
}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"
}
}
}
}# Start SSE server
code-review-mcp --transport sse --port 8000Client configuration:
{
"mcpServers": {
"code-review": {
"url": "http://your-server:8000/sse"
}
}
}# Start WebSocket server
code-review-mcp --transport websocket --port 8000Client configuration:
{
"mcpServers": {
"code-review": {
"url": "ws://your-server:8000/ws"
}
}
}docker build -t code-review-mcp .stdio mode
docker run -i --rm \
-e GITHUB_TOKEN="your-token" \
code-review-mcpSSE mode
docker run -d --rm \
-e GITHUB_TOKEN="your-token" \
-p 8000:8000 \
code-review-mcp --transport sse| 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 |
| 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) |
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
# Run with MCP Inspector
npx @modelcontextprotocol/inspector uvx code-review-mcpThis launches a web interface where you can:
- View all available tools
- Manually call tools and inspect results
- Debug parameters and responses
# 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.servercode-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
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-rulesAfter installation, the rules will be available in your project's .cursor/rules/ directory:
code-review.mdc- Chinese versioncode-review-en.mdc- English version
The installed rules are general templates. You can customize them for your project:
- Priority definitions
- Checklist items
- Comment format
- Deduplication rules
Contributions welcome! See CONTRIBUTING.md for details.