critique-mcp
critique-mcp
MCP-сервер, который даёт агенту инструменты для полноценного ревью pull request: не просто резюмирует diff, а разбирает его по косточкам, прогоняет линтер по изменённому коду, отмечает, когда тесты не были обновлены, и отправляет настоящее ревью обратно на GitHub.
Python · Model Context Protocol · GitHub REST API
Инструменты
Инструмент | Что делает |
| Файлы, изменённые в PR, со статистикой diff и текстом патча |
| Помечает PR, в которых меняются исходные файлы, но не затрагивается ни один тестов файла |
| Прогоняет |
| Отправляет настоящее ревью (комментарий / одобрение / запрос изменений) на PR |
Каждый инструмент — это тонкая, независимо тестируемая функция: run_linter не знает, как работает check_test_coverage, и ни один из них не обращается к GitHubClient, кроме как обращается GitHubClient. Агент решает, как их комбинировать; этот сервер просто даёт ему в руки инструменты.
check_test_coverage — это эвристика на уровне PR, а не измерение покрытия для каждого файла: она помечает «исходные файлы изменены, но тестовые файлы не затронуты нигде в этом PR» — тот же грубый сигнал, который используют инструменты вроде Danger.js. PR, в котором меняются пять исходных файлов и трогается один тестовый файл, не имеющий отношения к делу, не будет помечен — точная версия требовала бы реальных данных о покрытии, а не имён файлов.
Related MCP server: GitHub PR Reviewer
Почему это существует
Я вручную находил и исправлял в чужих PR именно такие баги, которые ловят эти инструменты: тестовое утверждение, проходившее впустую, в chroma-core/chroma, валидатор, который проверял только один элемент списка, в weaviate-python-client, баг с точностью чисел с плавающей запятой в qdrant-client. Это превращает процесс ревью в инструменты, которые агент может вызывать напрямую, вместо того чтобы человек каждый раз выполнял те же проверки вручную.
Установка
Требуется Python 3.11+, ruff в PATH и персональный токен доступа GitHub с областью repo (права на чтение достаточно, если вы не хотите, чтобы работал post_review).
cp .env.example .env # then add your token to .env
python -m venv .venv && source .venv/bin/activate # Windows: .venv\Scripts\activate
pip install -r requirements.txtИспользование
Добавьте его в MCP-конфиг Claude Desktop / Claude Code:
{
"mcpServers": {
"critique": {
"command": "python",
"args": ["-m", "critique_mcp.server"],
"env": { "GITHUB_TOKEN": "ghp_..." }
}
}
}Затем попросите агента использовать его: «Используй critique для проверки PR #42 в owner/repo — просмотри на проблемы с линтером и отсутствие тестов, а затем оставь общее ревью».
Тесты
pytestВсе вызовы GitHub API в тестах заменены моками — здесь не выполняется живых сети из запросов, если вы не запускаете сам сервер.
This server cannot be deployed
Maintenance
Related MCP Connectors
Operate GitHub from your AI assistant: repos, PRs, issues, Actions. Previews and read-only mode.
Lets coding agents check their own code for leaked secrets, risky dependencies and AI-code mistakes
Screens public GitHub repos and PRs to generate risk maps, findings, and merge-readiness signals.
Pull change requests from your Amendor board into your coding agent to build and open PRs.
Related MCP Servers
- AlicenseAqualityCmaintenanceProvides GitHub PR review capabilities to LLMs, enabling automated PR analysis, review submission, and inline commenting via MCP.1414 npm1MIT
- AlicenseNot gradedqualityDmaintenanceEnables reviewing GitHub pull requests via ChatGPT, including listing PRs, viewing diffs, posting comments, approving, and requesting changes.MIT
- FlicenseAqualityDmaintenanceEnables LLM clients to list, read, review, and comment on GitHub pull requests, turning an AI assistant into a fully capable code reviewer.61-
- AlicenseNot gradedqualityCmaintenanceEnables AI assistants to autonomously review GitHub Pull Requests by listing PRs, retrieving diffs, and submitting structured reviews.ISC