Content
# mcp-agent-review
An MCP (Model Context Protocol) server that provides **agentic code review** powered by OpenAI-compatible models. Designed for use with [Claude Code](https://docs.anthropic.com/en/docs/claude-code).
## Features
- **Deep analysis** — focuses on logic errors, architecture issues, doc-code consistency, and security risks (not style/lint)
- **Agentic review** — the model can read files, grep code, check git blame, explore project structure, and search git history to verify findings
- **False-positive suppression** — mandatory tool verification, confidence rating, and self-critique phase
- **Intent-aware review** — pass `task_description` to catch mismatches between intent and implementation
- **Directed focus** — pass `review_focus` to get deeper analysis on a specific dimension (security, performance, concurrency, etc.)
- **Any OpenAI-compatible API** — works with GitHub Models (free), OpenAI, Azure OpenAI, or any compatible provider
- **Zero config for git repos** — auto-detects diffs, reads CLAUDE.md for project context
- **Sensitive file protection** — blocks access to `.env`, `*.pem`, `*.key`, credentials, and other sensitive files
## Installation
```bash
# From PyPI
pip install mcp-agent-review
# From source
git clone https://github.com/lzx1413/mcp-agent-review
cd mcp_agent_review
pip install .
```
## Claude Code Integration
Add to your Claude Code settings (`~/.claude.json` or `.claude/settings.json`):
### GitHub Models (free)
```json
{
"mcpServers": {
"code-review": {
"command": "mcp-agent-review",
"env": {
"GITHUB_TOKEN": "your-github-token"
}
}
}
}
```
### OpenAI (or other providers)
```json
{
"mcpServers": {
"code-review": {
"command": "mcp-agent-review",
"env": {
"OPENAI_API_KEY": "your-api-key",
"OPENAI_BASE_URL": "https://api.openai.com/v1",
"REVIEW_MODEL": "gpt-4o"
}
}
}
}
```
## Environment Variables
| Variable | Required | Default | Description |
|----------|----------|---------|-------------|
| `GITHUB_TOKEN` | Yes* | — | GitHub personal access token (free via GitHub Models) |
| `OPENAI_API_KEY` | Yes* | — | API key for OpenAI or compatible provider (takes priority over `GITHUB_TOKEN`) |
| `OPENAI_BASE_URL` | No | `https://models.github.ai/inference` | Base URL for the API |
| `REVIEW_MODEL` | No | `gpt-4o` | Model to use for review |
| `MAX_TOOL_ROUNDS` | No | `8` | Max agentic tool-use rounds |
| `MAX_FILE_LINES` | No | `1000` | Max lines to read per file |
*One of `GITHUB_TOKEN` or `OPENAI_API_KEY` is required.
## Tool Parameters
| Parameter | Required | Description |
|-----------|----------|-------------|
| `diff` | No | Custom diff string. If omitted, auto-reads from `git diff` |
| `base` | No | Base branch/commit for PR review (e.g. `main`) |
| `task_description` | No | What the changes are intended to accomplish (e.g. `fix race condition in pool`). Enables intent-vs-implementation mismatch detection |
| `review_focus` | No | Specific dimension to prioritize (e.g. `security`, `performance`, `concurrency safety`). Deeper analysis on this area |
## Usage
Once configured in Claude Code, the `review_code` tool is available:
- **Auto-detect changes**: just call `review_code` with no arguments — it reads `git diff`
- **PR review**: pass `base='main'` to review all changes since diverging from main
- **Custom diff**: pass a diff string directly via the `diff` parameter
- **Intent-aware review**: pass `task_description` to describe what the changes are for — helps catch gaps between intent and implementation
- **Directed focus**: pass `review_focus` (e.g. `'security'`, `'performance'`) to get deeper analysis on a specific dimension
### Example prompts in Claude Code
```
Review my current changes
```
```
Review the changes on this branch against main
```
```
Review my changes, the task is to fix the race condition in the connection pool, focus on concurrency safety
```
## How It Works
1. **Context collection** — reads CLAUDE.md, git log, commit messages, and full source of changed files
2. **Agentic review** — sends context + diff to the model, which can use tools (read_file, grep_code, git_blame, list_files, search_git_history, find_test_files) to investigate
3. **Self-critique** — a second pass filters out low-confidence or speculative findings
4. **Structured output** — returns findings with confidence level, category, file location, and explanation
## License
MIT
MCP Config
Below is the configuration for this MCP Server. You can copy it directly to Cursor or other MCP clients.
mcp.json
Connection Info
You Might Also Like
everything-claude-code
Complete Claude Code configuration collection - agents, skills, hooks,...
markitdown
MarkItDown-MCP is a lightweight server for converting URIs to Markdown.
cc-switch
All-in-One Assistant for Claude Code, Codex & Gemini CLI across platforms.
servers
Model Context Protocol Servers
servers
Model Context Protocol Servers
Time
A Model Context Protocol server for time and timezone conversions.