diffctx — MCP-сервер для Claude Code: что делает и как установить
Находит внешние вызовы, тесты и контракты для изменений в git. Сервер собирает контекст вокруг диффа под заданный лимит токенов.
claude mcp add diffctx -- uvx diffctxЧто делает diffctx
diffctx анализирует правки в git и вытягивает связанный код за пределами самого диффа. Инструмент отслеживает вызывающие функции, зависящие тесты и затронутые интерфейсы. Работает локально без обращений к сторонним нейросетям и не держит фоновый индекс кодовой базы.
Статический анализ выполняется отдельно для каждого языка программирования. Если связь между символами нельзя разобрать однозначно, утилита явно сообщает об этом в выводе. При формировании выдачи можно задать строгий лимит токенов флагом --budget или передать временной интервал вроде 24h и 90min.
Для работы в режиме MCP-сервера обязателен Python-пакет, отдельного скомпилированного бинарника из cargo или npm для этого недостаточно. Сервер принимает диапазоны коммитов или незафиксированные правки и отдаёт ИИ-агенту минимальный набор файлов для ревью.
Какие задачи решает
- отобрать связанный код для проверки изменений в git
- найти внешние тесты и вызывающие функции за пределами диффа
- уложить контекст ревью в заданный лимит токенов
- оценить влияние незафиксированных правок на интерфейсы проекта
Примеры запросов агенту
- Собери контекст правок из ветки main...feature с лимитом 12000 токенов
- Покажи тесты и вызывающие функции, которые затронуты изменениями в HEAD~1
- Оцени влияние незафиксированных правок через diffctx в режиме impact
Как установить diffctx
Командой платформы
claude mcp add diffctx -- uvx diffctxuvx запускает команду с именем пакета; если в README она другая — uvx --from diffctx <команда>
Командой платформы
codex mcp add diffctx -- uvx diffctxuvx запускает команду с именем пакета; если в README она другая — uvx --from diffctx <команда>
Файл настроек
{
"mcpServers": {
"diffctx": {
"command": "uvx",
"args": [
"diffctx"
]
}
}
}uvx запускает команду с именем пакета; если в README она другая — uvx --from diffctx <команда>
Файл настроек
{
"servers": {
"diffctx": {
"type": "stdio",
"command": "uvx",
"args": [
"diffctx"
]
}
}
}uvx запускает команду с именем пакета; если в README она другая — uvx --from diffctx <команда>
Командой платформы
gemini mcp add diffctx uvx diffctxuvx запускает команду с именем пакета; если в README она другая — uvx --from diffctx <команда>
По шагам, с командами для каждой платформы: Как подключить MCP-сервер: Claude Code, Codex, Cursor, VS Code, Gemini CLI и другие
Вопросы о diffctx
Как установить diffctx в Claude Code?
Выполните команду claude mcp add diffctx -- uvx diffctx в терминале. Это подключит сервер через утилиту uvx.
Что делает diffctx?
Инструмент анализирует git-дифф и находит код за его пределами: вызывающие функции, тесты и смежные контракты. Затем он упаковывает полученные фрагменты под заданный бюджет токенов для передачи модели.
Хватит ли нативного бинарника для запуска MCP-сервера?
Нет, нативные сборки из cargo, npm или Docker поддерживают только флаги --diff и --symbol. Для запуска MCP-сервера, выгрузки графа и экспорта в Markdown требуется пакет на Python.