culprit — MCP-сервер для Claude Code: поиск причин багов
culprit анализирует историю Git, чтобы найти коммиты, связанные с багом, и проверяет, не пропустил ли патч места использования изменённого символа. Проверка перед коммитом помогает увидеть незакрытые вызовы.
claude mcp add culprit -- uvx culpritЧто делает culprit
Сервер помогает агенту найти вероятные причины регрессии в истории Git, оценить область влияния изменения и проверить патч до коммита. verify_fix возвращает вердикт complete, partial или risky и перечисляет нетронутые места, где используется изменённый символ. Если агент меняет общий символ, список пропущенных вызовов помогает понять, что ещё нужно исправить.
В набор входят 11 MCP-инструментов: среди них find_suspects, get_blast_radius и get_test_impact. Для анализа по трассировке стека есть from_trace; отдельный CLI запускается командой rca. Сервер работает офлайн, не меняет файлы репозитория и не требует API-ключа. Для MCP-сервера нужны Python 3.10+ и uv; без них запуск через uvx не сработает. По результатам теста на 50 регрессиях вводящий коммит попадал в первую пятёрку подозреваемых в 66% случаев, так что выводы стоит проверять по коду.
Какие задачи решает
- найти коммиты, которые могли внести баг
- проверить патч на пропущенные места использования символа
- оценить файлы и тесты, затронутые изменением
- получить разбор причины бага по трассировке стека
Примеры запросов агенту
- Найди коммиты, которые могли внести эту регрессию.
- Проверь мой патч перед коммитом и перечисли пропущенные места использования изменённого символа.
- По этой трассировке стека найди вероятную причину ошибки.
Как установить culprit
Командой платформы
claude mcp add culprit -- uvx culprituvx запускает команду с именем пакета; если в README она другая — uvx --from culprit <команда>
Командой платформы
codex mcp add culprit -- uvx culprituvx запускает команду с именем пакета; если в README она другая — uvx --from culprit <команда>
Файл настроек
{
"mcpServers": {
"culprit": {
"command": "uvx",
"args": [
"culprit"
]
}
}
}uvx запускает команду с именем пакета; если в README она другая — uvx --from culprit <команда>
Файл настроек
{
"servers": {
"culprit": {
"type": "stdio",
"command": "uvx",
"args": [
"culprit"
]
}
}
}uvx запускает команду с именем пакета; если в README она другая — uvx --from culprit <команда>
Командой платформы
gemini mcp add culprit uvx culprituvx запускает команду с именем пакета; если в README она другая — uvx --from culprit <команда>
По шагам, с командами для каждой платформы: Как подключить MCP-сервер: Claude Code, Codex, Cursor, VS Code, Gemini CLI и другие
Вопросы о culprit
Как установить culprit в Claude Code?
Выполните claude mcp add culprit -- uvx culprit. Для MCP-сервера нужны Python 3.10+ и uv.
Что делает culprit?
Он анализирует историю Git, чтобы ранжировать возможные причины бага, и проверяет полноту патча перед коммитом. Также помогает оценить область влияния изменений и затронутые тесты.
Работает ли culprit без сети и API-ключа?
Да. Сервер работает офлайн и не требует API-ключа; он также не записывает изменения в репозиторий.