tilth MCP
Rust-бинарник для агентов и терминала: через tree-sitter находит определение символа, его вызовы и зависимости файла
- 357 ★ репозитория
- Последний коммит
- MIT
Минимальный доступ
Почему такой уровень
- В обычном режиме читает файлы проекта и сеть не использует
- Режим --edit включает запись в файлы по хэшам строк, включайте его осознанно
Установка
- Работает в
Ручная установка
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.goMCP
- Транспорт
- 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-серверыrust-analyzer MCP — навигация по коду Rust для агента
r3bl-rust-analyzer-mcp-server
MCP-сервер на потоках Rust: агент получает подсказки, переходы к определениям, ссылки, форматирование и диагностику компилятора от rust-analyzer
MCP-сервер и CLI для исследования кода: поиск и разбор по вашему проекту и по всему GitHub с экономией токенов
Локальный граф знаний о коде с историей версий: MCP-сервер отвечает агенту, кто вызывает функцию и что сломается от правки
MCP сервер структурного поиска по коду для агентов: находит нужный файл по смыслу запроса и работает локально
MCP-сервер, который превращает большую кодовую базу в семантический граф функций для точной навигации и поиска по смыслу
CodeGraph на Rust
codegraph-rust
Граф кода для агента на Rust: четыре MCP-инструмента показывают, что заденет правка, как устроена архитектура и где хрупкие места проекта
Сравнение с похожими
Записи с тем же главным запросом: чем они отличаются.
| Запись | Официальный | Авторизация | Звезды репозитория | Главное отличие |
|---|---|---|---|---|
| tilth (эта запись) | нет | не нужна | 357 | |
| Serena | нет | не нужна | 30 818 | дает агенту возможности IDE через языковые серверы, ставится сложнее |
| jCodeMunch MCP | нет | не нужна | 2 817 | индексирует код через tree-sitter и отдает отдельные символы, а tilth индекс не строит |
Коротко о README
Проект показывает реальные выводы инструмента на репозиториях FastAPI и Gin и сам перечисляет свои ограничения. Установку автор дает для двадцати с лишним клиентов, а в конце объясняет устройство инструмента.