code-review-mcp
by 812Diasp
README.md



# code-review-mcp
Локальный MCP-сервер для Cursor: анализ кода, поиск багов, генерация тестов и документации через OpenRouter.
## 1. Prerequisites
- Python 3.10+
- Cursor IDE
- OpenRouter API key: [https://openrouter.ai/keys](https://openrouter.ai/keys)
## 2. Installation
```bash
git clone <repo>
cd <ABSOLUTE_PATH_TO_PROJECT>
python -m venv .venv
.venv\Scripts\activate # Windows
pip install -r requirements.txt
Copy-Item .env.example .env
# вписать OPENROUTER_API_KEY в .env
```
Если вы используете не PowerShell, можно просто скопировать `.env.example` в `.env` любым удобным способом.
## 3. Cursor Integration
Подключить сервер можно двумя способами.
Способ A — через глобальный конфиг Cursor:
Файл конфигурации находится по пути `%APPDATA%\Cursor\User\globalStorage\cursor.mcp\mcp.json`.
Способ B — через `.cursor/mcp.json` в корне проекта (рекомендуемый):
```json
{
"mcpServers": {
"code-review-mcp": {
"command": "<ABSOLUTE_PATH_TO_PROJECT>\\.venv\\Scripts\\python.exe",
"args": [
"<ABSOLUTE_PATH_TO_PROJECT>\\server.py"
],
"env": {
"OPENROUTER_API_KEY": "<YOUR_OPENROUTER_API_KEY>"
}
}
}
}
```
Используйте только абсолютные пути. В Windows обратные слеши в JSON нужно писать как `\\`.
## 4. Verification
1. Откройте `Cursor Settings -> MCP` и убедитесь, что `code-review-mcp` виден со статусом `connected`.
2. В чате Cursor отправьте: `Use review_bugs tool on this code: def foo(): pass`
3. Ожидаемый результат: структурированный Markdown-ответ в чате без падения сервера.
## 5. Available Tools
| Tool | Description | Key params |
|------|-------------|------------|
| `review_bugs` | Find logical bugs | `focus` |
| `review_quality` | Code readability & style | `focus` |
| `review_security` | Security vulnerabilities | `focus` |
| `review_performance` | Performance bottlenecks | `focus` |
| `generate_tests` | Generate unit/integration tests | `test_framework`, `test_style` |
| `explain_code` | Explain code | `audience` (junior/middle/senior) |
| `refactor_code` | Suggest refactoring | `goal` |
| `full_review` | Combined 4-section review | — |
| `generate_docs` | Generate docstrings | `doc_style` |
## Models
По умолчанию модель задаётся в `config.py` через `DEFAULT_MODEL`, `FAST_MODEL` и `STRONG_MODEL`.
Любой tool также принимает аргумент `model`, поэтому при вызове можно явно передать любую OpenRouter-совместимую модель, если нужен другой баланс цены, скорости и качества.
## 6. Troubleshooting
- `ValueError: OPENROUTER_API_KEY is required` — проверьте `.env` или секцию `env` в `mcp.json`.
- Cursor не видит сервер — проверьте, что в конфиге указаны абсолютные пути и они ведут к существующим файлам.
- Ответ приходит слишком долго или упирается в таймаут — попробуйте более быструю или более доступную OpenRouter-модель через аргумент `model` у tool-вызова.
This server cannot be deployed
Maintenance
ActivityInactive
ResponsivenessNo issues