Tree-sitter Analyzer MCP

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

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

Расширенный доступ

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

  • Сервер читает весь исходный код проекта и пишет индекс в `.ast-cache`, а установщик может править конфигурации клиентов и скачивать `uv`.
Все причины и проверки

aimasteracc/tree-sitter-analyzer

Установка

В терминале, через 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-серверРасширенный доступ2,8 тыс.Звезды репозитория
Официальный

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

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

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

MCP-серверМинимальный доступ76Звезды репозитория

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

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

MCP-сервер строит граф знаний о коде: поиск по смыслу, граф вызовов, трассировка HTTP-маршрутов и анализ влияния правок.

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

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

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

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

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

ИнструментОфициальныйАвторизацияЗвезды репозиторияГлавное отличие
Tree-sitter Analyzer (эта карточка)нетне нужна61
Serenaнетне нужна31 335символьная навигация через языковые серверы; здесь индекс tree-sitter с оценкой риска правки и правилами архитектуры
CodeGraphнетне нужна77 481граф кода как база знаний; здесь вердикты SAFE и UNSAFE перед правкой плюс проверка ограничений

Коротко о README

Установщик `install.sh` сам прописывает сервер в конфигурации найденных клиентов и делает резервные копии. Ту же работу выполняет CLI без агента, например `--affected FILE` находит затронутые тесты.

Бейдж для README

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