tilth MCP

Rust-бинарник для агентов и терминала: через tree-sitter находит определение символа, его вызовы и зависимости файла

  • 357 ★ репозитория
  • Последний коммит
  • MIT
MCP-сервер

Минимальный доступ

Почему такой уровень

  • В обычном режиме читает файлы проекта и сеть не использует
  • Режим --edit включает запись в файлы по хэшам строк, включайте его осознанно
Все причины и проверки

jahala/tilth

Установка

Ручная установка

cargo install tilth

Есть и npx tilth, и готовые бинарники на странице релизов.

Доступ и проверки

Как мы проверяем

Минимальный доступИнструмент ничего не запускает и не ходит в сеть.

  • В обычном режиме читает файлы проекта и сеть не использует
  • Режим --edit включает запись в файлы по хэшам строк, включайте его осознанно

Это чужой код. Посмотрите файлы в репозитории перед установкой.

Что делает

tilth — один бинарник на Rust, который работает и как CLI, и как MCP-сервер. Он разбирает код через tree-sitter и отвечает на вопросы, с которыми текстовый поиск не справляется: где определена функция, кто ее вызывает и какие файлы от нее зависят. Индекс не строится, настройка не нужна. Маленький файл tilth показывает целиком, а большой возвращает оглавлением с номерами строк. Нужный кусок запрашивают флагом --section, по строкам или по заголовку Markdown. Поиск по имени сначала выдает определения, затем использования, а раскрытое определение заканчивается списком вызываемых функций с файлами и сигнатурами. Команда --callers находит места вызова по синтаксическому дереву, поэтому комментарии и строки с тем же именем не мешают. Команда grok собирает все сведения о символе, от сигнатуры до тестов, а tilth diff показывает правки по функциям. В режиме MCP уже показанное определение возвращается пометкой «shown earlier», и агент не получает один текст дважды. Режим --edit добавляет инструмент tilth_write с правкой по хэшам строк: если файл изменился после чтения, правка отклоняется. Разбираются семнадцать языков, от Rust и TypeScript до Elixir и Bash.

Для кого. Для разработчиков, чьи агенты тратят десятки вызовов на поиск одной функции, и для людей, которым нужен быстрый обзор незнакомой кодовой базы в терминале.

Подходит, если

  • Перед переименованием экспорта нужно увидеть, какие файлы его используют: tilth recovery.go --deps
  • Агент в большом репозитории ищет, кто вызывает функцию, и ошибается из-за совпадений в комментариях и строках
  • Нужен обзор гигантского файла без чтения целиком: оглавление со строками и точечный --section
  • После коммита требуется список изменений по функциям: tilth diff HEAD~1
  • Сборка агентов на небольших моделях, которые продолжают лезть в Bash и Grep: инструмент можно сделать единственным путем

Не подходит, если

  • Нужно различать две функции с одинаковым именем в разных модулях: вызовы и зависимости tilth сопоставляет по имени
  • Нужен вывод типов или переход к определению на уровне компилятора: tilth разбирает только синтаксис
  • Язык проекта не входит в семнадцать поддерживаемых: для него будут только текстовый поиск и обычное чтение файла
  • Нужен семантический поиск по смыслу: tilth ищет по именам и синтаксису

Пример запроса к агенту

Найди через tilth, кто вызывает функцию isTrustedProxy, и покажи, от каких файлов зависит recovery.go

MCP

Транспорт
stdio
Авторизация
не нужна

Ограничения

  • tilth разбирает синтаксис и типы не выводит. Вызовы и зависимости сопоставляются по имени, динамическую диспетчеризацию он не прослеживает.
  • Команда --map доступна только в CLI и не предлагается как MCP-инструмент: по результатам проверок агенты вызывали ее чаще, чем она помогала.
  • Время поиска растет с размером репозитория: на FastAPI с 2700 файлами поиск символа занимает около 77 мс.
  • Сетевых вызовов нет, код остается на вашей машине. Прежние замеры стоимости автор убрал и новых не публикует.

Как отключить. Удалите запись tilth из файла конфигурации клиента: для Claude Code это ~/.claude.json, для Cursor ~/.cursor/mcp.json. Сам бинарник снимает cargo uninstall tilth, а если ставили через npm, то npm uninstall -g tilth. Если вы запускали claude с --disallowedTools, уберите и этот флаг.

Частые вопросы

Как подключить tilth к Claude Code?

Поставьте бинарник командой cargo install tilth или npx tilth, затем выполните tilth install claude-code. Команда пропишет сервер в ~/.claude.json. Для Cursor, Codex, Windsurf, Cline, Zed и еще примерно пятнадцати клиентов подставьте их название вместо claude-code.

Как включить правку файлов через tilth?

Добавьте флаг --edit: tilth install claude-code --edit. Тогда появится инструмент tilth_write, а tilth_read начнет выдавать строки с хэшами вида 42:a3f. Правка принимается, только если хэши совпадают с последним чтением.

Какие языки понимает tilth?

Rust, TypeScript, TSX, JavaScript, Python, Go, Java, Scala, C, C++, Ruby, PHP, C#, Swift, Kotlin, Elixir и Bash. Dockerfile и Make-файлы распознаются, но не разбираются.

Чем tilth отличается от grep и ripgrep?

Текстовый поиск находит строки с именем. tilth по дереву разбора отличает определение от упоминания, показывает вызывающих и вызываемых и выдает определения первыми. Содержимое файлов он ищет теми же крейтами, что и ripgrep.

Нужен ли индекс или фоновый процесс?

Нет. Каждый запрос обходит дерево каталогов заново, кэш оглавлений сбрасывается при изменении времени файла. Поиск пропускает node_modules, target и .venv, но не пропускает файлы из gitignore.

Обсуждение

Вопросов и отзывов пока нет.

MCP-серверы

MCP-сервер на потоках Rust: агент получает подсказки, переходы к определениям, ссылки, форматирование и диагностику компилятора от rust-analyzer

MCP-серверРасширенный доступ486Звезды репозитория
Официальный

MCP-сервер и CLI для исследования кода: поиск и разбор по вашему проекту и по всему GitHub с экономией токенов

MCP-серверРасширенный доступ956Звезды репозитория
Официальный

Локальный граф знаний о коде с историей версий: MCP-сервер отвечает агенту, кто вызывает функцию и что сломается от правки

MCP-серверРасширенный доступ506Звезды репозитория

MCP сервер структурного поиска по коду для агентов: находит нужный файл по смыслу запроса и работает локально

MCP-серверРасширенный доступ554Звезды репозитория

MCP-сервер, который превращает большую кодовую базу в семантический граф функций для точной навигации и поиска по смыслу

MCP-серверРасширенный доступ2 тыс.Звезды репозитория

CodeGraph на Rust

codegraph-rust

Граф кода для агента на Rust: четыре MCP-инструмента показывают, что заденет правка, как устроена архитектура и где хрупкие места проекта

MCP-серверРасширенный доступ908Звезды репозитория

Сравнение с похожими

Записи с тем же главным запросом: чем они отличаются.

ЗаписьОфициальныйАвторизацияЗвезды репозиторияГлавное отличие
tilth (эта запись)нетне нужна357
Serenaнетне нужна30 818дает агенту возможности IDE через языковые серверы, ставится сложнее
jCodeMunch MCPнетне нужна2 817индексирует код через tree-sitter и отдает отдельные символы, а tilth индекс не строит

Коротко о README

Проект показывает реальные выводы инструмента на репозиториях FastAPI и Gin и сам перечисляет свои ограничения. Установку автор дает для двадцати с лишним клиентов, а в конце объясняет устройство инструмента.

Бейдж для README

Сообщить о проблеме

Foxx AItilth
Foxx AI

Я Foxx AI и уже разобрал этот инструмент. Спросите про установку, настройку или что угодно еще, отвечу простыми словами.