loading…
Search for a command to run...
loading…
Connects Claude to GitHub Pull Requests to fetch and filter code diffs for AI-assisted reviews. It enables listing open PRs and analyzing changes while automati
Connects Claude to GitHub Pull Requests to fetch and filter code diffs for AI-assisted reviews. It enables listing open PRs and analyzing changes while automatically excluding binary and asset files to focus on relevant code.
AI-assisted code review tool for developers/AQA engineers
A Python MCP (Model Context Protocol) server that connects Claude Desktop to GitHub Pull Requests. It fetches PR diffs, filters out binary and asset files (Unity .meta, images, audio, shaders, etc.), and gives Claude only the actual code to review.
Built as a QA automation tool to speed up pull request reviews using AI.
git clone https://github.com/<your-username>/pr-review-mcp.git
cd pr-review-mcp
pip install -r requirements.txt
The server looks for credentials in this order:
GITHUB_TOKEN, GITHUB_REPO) — for Claude Desktopkeyring) — for Claude Code and local developmentRun the server once manually to store your credentials in the OS keychain:
python server.py
You will be prompted for:
repo scope. Generate one at github.com/settings/tokens.owner/repo format (e.g. octocat/Hello-World).Both values are stored securely in your OS keychain and will not be prompted again.
Pass credentials directly in the MCP config (see examples below). This avoids the interactive prompt, which does not work in Claude Desktop's background processes.
Add the following to your Claude Desktop config file:
Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"pr-review": {
"command": "python",
"args": ["C:\\path\\to\\pr-review-mcp\\server.py"],
"env": {
"GITHUB_TOKEN": "ghp_your_token_here",
"GITHUB_REPO": "owner/repo"
}
}
}
}
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
{
"mcpServers": {
"pr-review": {
"command": "python",
"args": ["/path/to/pr-review-mcp/server.py"],
"env": {
"GITHUB_TOKEN": "ghp_your_token_here",
"GITHUB_REPO": "owner/repo"
}
}
}
}
Note: If you already stored credentials in the keychain (Option A), you can omit the
envblock — the server will find them automatically.
After editing the config, restart Claude Desktop.
Option A — CLI command:
claude mcp add pr-review -- python /path/to/pr-review-mcp/server.py
Option B — create .mcp.json in your project root:
{
"mcpServers": {
"pr-review": {
"command": "python",
"args": ["/path/to/pr-review-mcp/server.py"]
}
}
}
Then restart Claude Code.
Once configured, Claude Desktop will have two new tools:
Example prompts in Claude Desktop:
To clear stored credentials and re-enter them:
python server.py --reset
Then run python server.py again to enter new values.
Errors are automatically logged to error_report.log in the project directory.
To enable verbose debug logging, add MCP_DEBUG to your config:
"env": {
"GITHUB_TOKEN": "ghp_your_token_here",
"GITHUB_REPO": "owner/repo",
"MCP_DEBUG": "1"
}
Or set it in your terminal before running manually:
MCP_DEBUG=1 python server.py
Common issues:
latin-1 codec error — Your GITHUB_TOKEN contains non-ASCII characters. Make sure you copied the real token, not a placeholder.python server.py manually first to save them to keychain.python server.py --reset and enter a new token.Claude Desktop ──MCP──▶ server.py ──REST API──▶ GitHub
│
keyring (OS)
secure token storage
MCP-сервер для автоматизации код-ревью пулл-реквестов с помощью Claude AI.
Это инструмент для QA-инженеров, который подключает Claude Desktop к GitHub и позволяет ИИ анализировать изменения в пулл-реквестах. Сервер автоматически фильтрует бинарные файлы и ассеты (Unity .meta, текстуры, аудио, шейдеры и т.д.), передавая Claude только код для ревью.
git clone https://github.com/<your-username>/pr-review-mcp.git
cd pr-review-mcp
pip install -r requirements.txt
Сервер ищет учётные данные в следующем порядке:
GITHUB_TOKEN, GITHUB_REPO) - для Claude Desktopkeyring) - для Claude Code и локальной разработкиЗапустите сервер вручную, чтобы сохранить токен и репозиторий в системный keychain:
python server.py
Вам будет предложено ввести:
repo. Создать можно здесь: github.com/settings/tokens.owner/repo (например octocat/Hello-World).Оба значения сохраняются в системном keychain и больше запрашиваться не будут.
Передайте учётные данные прямо в конфиге MCP (см. примеры ниже). Это позволяет обойти интерактивный ввод, который не работает в фоновых процессах Claude Desktop.
Добавьте в конфиг Claude Desktop:
Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"pr-review": {
"command": "python",
"args": ["C:\\path\\to\\pr-review-mcp\\server.py"],
"env": {
"GITHUB_TOKEN": "ghp_your_token_here",
"GITHUB_REPO": "owner/repo"
}
}
}
}
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
{
"mcpServers": {
"pr-review": {
"command": "python",
"args": ["/path/to/pr-review-mcp/server.py"],
"env": {
"GITHUB_TOKEN": "ghp_your_token_here",
"GITHUB_REPO": "owner/repo"
}
}
}
}
Примечание: Если вы уже сохранили токен в keychain (Вариант A), блок
envможно не указывать — сервер найдёт данные автоматически.
После изменения конфига перезапустите Claude Desktop.
Вариант A — через CLI:
claude mcp add pr-review -- python /path/to/pr-review-mcp/server.py
Вариант B — создайте .mcp.json в корне проекта:
{
"mcpServers": {
"pr-review": {
"command": "python",
"args": ["/path/to/pr-review-mcp/server.py"]
}
}
}
Затем перезапустите Claude Code.
После настройки в Claude Desktop появятся два инструмента:
Примеры промптов:
Чтобы удалить сохранённые данные и ввести заново:
python server.py --reset
Затем запустите python server.py снова для ввода новых значений.
Ошибки автоматически записываются в error_report.log в папке проекта.
Для включения подробного дебаг-логирования добавьте MCP_DEBUG в конфиг:
"env": {
"GITHUB_TOKEN": "ghp_your_token_here",
"GITHUB_REPO": "owner/repo",
"MCP_DEBUG": "1"
}
Или при ручном запуске из терминала:
MCP_DEBUG=1 python server.py
Частые проблемы:
latin-1 codec — В GITHUB_TOKEN попали не-ASCII символы. Убедитесь, что скопировали настоящий токен, а не плейсхолдер.python server.py вручную для сохранения в keychain.python server.py --reset и введите новый токен.pr-review-mcp/
├── server.py — MCP-инструменты и точка входа
├── github_client.py — авторизация и работа с GitHub API
├── file_filter.py — правила фильтрации файлов по расширениям
├── logger.py — логирование ошибок и дебаг-режим
├── launcher.py — обёртка для запуска из Claude Desktop (UTF-8)
├── requirements.txt — зависимости
└── README.md
.cs, .json, .xml, .yaml, .yml, .md, .txt, .gradle, .java, .kt, .sh, .py
.meta, .prefab, .unity, .asset, .mat, .fbx, .png, .jpg, .shader, .dll, .mp3, .wav, .anim и другие бинарные форматы.
MIT
Добавь это в claude_desktop_config.json и перезапусти Claude Desktop.
{
"mcpServers": {
"pr-review-mcp-server": {
"command": "npx",
"args": []
}
}
}