crg — MCP-сервер для Claude Code: что делает и как установить
Строит граф вызовов и классов репозитория через Tree-sitter. Помогает передавать ассистенту только нужный контекст для ревью вместо всего проекта.
claude mcp add --env EMBEDDING_MODELS=<EMBEDDING_MODELS> --env LOCAL_EMBEDDING_MODEL=<LOCAL_EMBEDDING_MODEL> --env LOCAL_RERANK_MODEL=<LOCAL_RERANK_MODEL> --env LOCAL_EMBEDDING_DIM=<LOCAL_EMBEDDING_DIM> --env LOCAL_EMBEDDING_MODEL_FILE=<LOCAL_EMBEDDING_MODEL_FILE> --transport stdio crg -- uvx better-code-review-graphЧто делает crg
Сервер анализирует синтаксис кодовой базы с помощью Tree-sitter и составляет граф связей между функциями, классами и импортами. По умолчанию семантический поиск работает локально на базе ONNX-моделей из рантайма fastretrieval, поэтому внешние API-ключи для эмбеддингов не требуются.
Архитектура снижает расход токенов во время код-ревью. Ассистент не читает дерево файлов целиком, а запрашивает через протокол MCP цепочки вызовов и точечные фрагменты логики.
Учтите несовпадение имён: в репозитории и CLI используется crg, но в PyPI пакет называется better-code-review-graph. Для запуска через uvx нужен Python 3.13.
Какие задачи решает
- построить граф вызовов функций и зависимостей классов
- найти релевантный код через локальный семантический поиск
- сократить расход контекстного окна при разборе изменений
- отследить цепочки импортов перед рефакторингом
Примеры запросов агенту
- Построй граф вызовов для сервиса авторизации и покажи связанные классы
- Найди семантическим поиском методы валидации входных данных
- Покажи структуру импортов для обработчика платежей
Как установить crg
Командой платформы
claude mcp add --env EMBEDDING_MODELS=<EMBEDDING_MODELS> --env LOCAL_EMBEDDING_MODEL=<LOCAL_EMBEDDING_MODEL> --env LOCAL_RERANK_MODEL=<LOCAL_RERANK_MODEL> --env LOCAL_EMBEDDING_DIM=<LOCAL_EMBEDDING_DIM> --env LOCAL_EMBEDDING_MODEL_FILE=<LOCAL_EMBEDDING_MODEL_FILE> --transport stdio crg -- uvx better-code-review-graphВместо <…> подставьте свои значения. Ещё 5 переменных окружения — в README сервера. uvx запускает команду с именем пакета; если в README она другая — uvx --from better-code-review-graph <команда>
Командой платформы
codex mcp add crg --env EMBEDDING_MODELS=<EMBEDDING_MODELS> --env LOCAL_EMBEDDING_MODEL=<LOCAL_EMBEDDING_MODEL> --env LOCAL_RERANK_MODEL=<LOCAL_RERANK_MODEL> --env LOCAL_EMBEDDING_DIM=<LOCAL_EMBEDDING_DIM> --env LOCAL_EMBEDDING_MODEL_FILE=<LOCAL_EMBEDDING_MODEL_FILE> -- uvx better-code-review-graphВместо <…> подставьте свои значения. Ещё 5 переменных окружения — в README сервера. uvx запускает команду с именем пакета; если в README она другая — uvx --from better-code-review-graph <команда>
Файл настроек
{
"mcpServers": {
"crg": {
"command": "uvx",
"args": [
"better-code-review-graph"
],
"env": {
"EMBEDDING_MODELS": "<EMBEDDING_MODELS>",
"LOCAL_EMBEDDING_MODEL": "<LOCAL_EMBEDDING_MODEL>",
"LOCAL_RERANK_MODEL": "<LOCAL_RERANK_MODEL>",
"LOCAL_EMBEDDING_DIM": "<LOCAL_EMBEDDING_DIM>",
"LOCAL_EMBEDDING_MODEL_FILE": "<LOCAL_EMBEDDING_MODEL_FILE>"
}
}
}
}Вместо <…> подставьте свои значения. Ещё 5 переменных окружения — в README сервера. uvx запускает команду с именем пакета; если в README она другая — uvx --from better-code-review-graph <команда>
Файл настроек
{
"servers": {
"crg": {
"type": "stdio",
"command": "uvx",
"args": [
"better-code-review-graph"
],
"env": {
"EMBEDDING_MODELS": "<EMBEDDING_MODELS>",
"LOCAL_EMBEDDING_MODEL": "<LOCAL_EMBEDDING_MODEL>",
"LOCAL_RERANK_MODEL": "<LOCAL_RERANK_MODEL>",
"LOCAL_EMBEDDING_DIM": "<LOCAL_EMBEDDING_DIM>",
"LOCAL_EMBEDDING_MODEL_FILE": "<LOCAL_EMBEDDING_MODEL_FILE>"
}
}
}
}Вместо <…> подставьте свои значения. Ещё 5 переменных окружения — в README сервера. uvx запускает команду с именем пакета; если в README она другая — uvx --from better-code-review-graph <команда>
Командой платформы
gemini mcp add -e EMBEDDING_MODELS=<EMBEDDING_MODELS> -e LOCAL_EMBEDDING_MODEL=<LOCAL_EMBEDDING_MODEL> -e LOCAL_RERANK_MODEL=<LOCAL_RERANK_MODEL> -e LOCAL_EMBEDDING_DIM=<LOCAL_EMBEDDING_DIM> -e LOCAL_EMBEDDING_MODEL_FILE=<LOCAL_EMBEDDING_MODEL_FILE> crg uvx better-code-review-graphВместо <…> подставьте свои значения. Ещё 5 переменных окружения — в README сервера. uvx запускает команду с именем пакета; если в README она другая — uvx --from better-code-review-graph <команда>
По шагам, с командами для каждой платформы: Как подключить MCP-сервер: Claude Code, Codex, Cursor, VS Code, Gemini CLI и другие
Вопросы о crg
Как установить crg в Claude Code?
Выполните команду claude mcp add crg -e HULL_EMBED_API_KEY=<HULL_EMBED_API_KEY> -e HULL_CHAT_API_KEY=<HULL_CHAT_API_KEY> -- uvx better-code-review-graph.
Что делает crg?
Инструмент парсит исходники через Tree-sitter и строит граф связей между функциями, импортами и классами. Это даёт модели возможность подтягивать точечные участки кода вместо чтения репозитория целиком.
Нужен ли внешний API-ключ для поиска по коду?
По умолчанию нет. Семантический поиск работает локально на ONNX-моделях через библиотеку fastretrieval, хотя подключение облачных эмбеддингов тоже поддерживается.