Tree-sitter Analyzer MCP
Локальный MCP-сервер с графом вызовов и поиском символов: агент видит структуру кода и последствия правки заранее.
- 61 ★ репозитория
- Последний коммит
Расширенный доступ
Почему такой уровень
- Сервер читает весь исходный код проекта и пишет индекс в `.ast-cache`, а установщик может править конфигурации клиентов и скачивать `uv`.
Установка
- Работает в
В терминале, через SkillFoxx CLI
npx skillfoxx add mcp/tree-sitter-analyzerОпределит агенты на машине, покажет уровень доступа и зафиксирует версию.
Другие способы установки
Доступ и проверки
Как мы проверяемРасширенный доступИнструмент запускает код или ходит в сеть, а внешние данные только читает.
- Сервер читает весь исходный код проекта и пишет индекс в `.ast-cache`, а установщик может править конфигурации клиентов и скачивать `uv`.
Это чужой код. Посмотрите файлы в репозитории перед установкой.
Что делает
Tree-sitter Analyzer индексирует кодовую базу и отдает агенту точные граф вызовов, поиск символов и структурные запросы. Работа идет локально, без телеметрии. Сервер выставляет восемь инструментов (`nav`, `search`, `structure`, `index`, `health`, `edit`, `viz` и `project`), а ответы приходят в JSON с вердиктом вроде SAFE, CAUTION или UNSAFE. Связи между языками строятся только при совпадении семейства языков: совпадение имени ребра не создает. Дополнительно есть проверка безопасности правки, правила архитектурных ограничений («модуль A не импортирует B»), оценка здоровья проекта от A до F и экспорт графов в Mermaid. В колесо пакета входят скиллы `tsa-*`, их ставят командой `--install-skills`.
Для кого. Разработчикам больших многоязычных репозиториев, чьи агенты правят код наугад, потому что не видят, кто вызывает изменяемую функцию.
Подходит, если
- Перед рефакторингом нужно узнать, что сломается, если изменить сигнатуру функции.
- Агенту нужна карта вызовов: кто вызывает метод и что вызывает он сам.
- Архитектурное правило «слой A не импортирует слой B» должно проверяться при каждой правке.
- В ревью запроса на слияние хочется увидеть AST-различия и радиус влияния изменений.
Не подходит, если
- Репозиторий маленький, и агенту хватает обычного поиска по тексту.
- Язык проекта не входит в список поддерживаемых грамматик.
- Нельзя устанавливать зависимости через `uv`: автоматический установщик при его отсутствии скачивает и запускает официальный установщик.
Пример запроса к агенту
Через tree-sitter-analyzer покажи, кто вызывает функцию парсинга конфигурации, и оцени, что заденет смена ее сигнатуры.MCP
- Транспорт
- stdio
- Авторизация
- не нужна
Переменные окружения
TREE_SITTER_PROJECT_ROOTобязательная- Абсолютный путь к корню анализируемого проекта.
Ограничения
Нужен Python 3.10 или новее. Переменная `TREE_SITTER_PROJECT_ROOT` задается абсолютным путем, иначе клиент не увидит сервер. Первый запуск требует построить индекс (`--full-index`), а база лежит в `.ast-cache/index.db`; при ошибке блокировки остановите другие процессы с ней. Скрипт `install.sh` при отсутствии `uv` скачивает установщик, не привязанный к хешу, и предупреждает об этом. Такую загрузку отключает `TSA_DISABLE_UNVERIFIED_UV_BOOTSTRAP=1`. Глубина поддержки у разных языков разная, таблица лежит в README.
Как отключить. Удалите запись сервера из `.mcp.json`, `.cursor/mcp.json` или `.vscode/mcp.json`, а папку `.ast-cache` и скопированные скиллы `tsa-*` уберите вручную.
Частые вопросы
Как подключить сервер к Claude Code?
Выполните команду `claude mcp add tree-sitter-analyzer --scope project --env TREE_SITTER_PROJECT_ROOT="$PWD" -- uvx --from "tree-sitter-analyzer[mcp]" tree-sitter-analyzer-mcp`. Затем постройте индекс.
Как проверить, что индекс готов?
Скажите агенту запустить инструмент `index` с `action=status`: ответ `indexed: true` означает успех. Без агента работает `tree-sitter-analyzer --codegraph-status`.
Как поставить скиллы `tsa-*`?
Командой `uvx --from tree-sitter-analyzer tree-sitter-analyzer --install-skills` в текущий проект или `--install-skills-global` для всех проектов.
Какие агенты поддерживаются?
Claude Code, Cursor, VS Code, Claude Desktop и Codex настраивает автоматический установщик. Copilot, Cline, Continue и Roo Code описаны в разделе `Supported agents`.
Отправляет ли он код наружу?
Нет, работа идет локально, а телеметрии в README не заявлено.
Обсуждение
Вопросов и отзывов пока нет.
Похожие
MCP-серверыMCP-сервер, который индексирует код через tree-sitter и отдает агенту отдельные функции и классы вместо целых файлов
Локальный граф знаний о коде с историей версий: MCP-сервер отвечает агенту, кто вызывает функцию и что сломается от правки
MCP-сервер индексирует код через tree-sitter: агент читает отдельные символы вместо файлов, находит пути, оценивает влияние правок
MCP-сервер, который строит граф кода: функции, классы, вызовы и маршруты, и отвечает на структурные запросы агента локально
MCP-сервер строит граф знаний о коде: поиск по смыслу, граф вызовов, трассировка HTTP-маршрутов и анализ влияния правок.
Локальный граф структуры кода: строит карту репозитория через tree-sitter и отдает агенту по MCP только тот контекст, который относится к правке
Сравнение с похожими
Карточки с тем же главным запросом: чем они отличаются.
| Инструмент | Официальный | Авторизация | Звезды репозитория | Главное отличие |
|---|---|---|---|---|
| Tree-sitter Analyzer (эта карточка) | нет | не нужна | 61 | |
| Serena | нет | не нужна | 31 335 | символьная навигация через языковые серверы; здесь индекс tree-sitter с оценкой риска правки и правилами архитектуры |
| CodeGraph | нет | не нужна | 77 481 | граф кода как база знаний; здесь вердикты SAFE и UNSAFE перед правкой плюс проверка ограничений |
Коротко о README
Установщик `install.sh` сам прописывает сервер в конфигурации найденных клиентов и делает резервные копии. Ту же работу выполняет CLI без агента, например `--affected FILE` находит затронутые тесты.