vex — MCP-сервер для Claude Code: поиск по коду и установка
Локальный поиск по коду для агентов: символы, вызовы, AST-шаблоны и семантика. Пригодится, когда агент блуждает по большому проекту.
Открыть на GitHubЧто делает vex
vex строит индекс проекта один раз, а дальше отвечает на вопросы по коду за считанные миллисекунды. Команды вроде vex check ищут точное имя, vex show выдают только тело символа, vex usages и vex callers показывают, кто ссылается на функцию и кто её вызывает. Есть vex search с семантикой, vex pattern для AST-совпадений и vex bundle, собирающий тело символа вместе с вызовами в один ответ.
Внутри — индекс из FST для имён, BM25 для редких слов в теле и векторный поиск по смыслу; результаты сливаются в один ранжированный список. Граф вызовов сохраняется на диск, поэтому callers и callees не пересчитывают дерево заново. Индексируется 20 языков через tree-sitter, разбор ссылок с --strict доступен для Rust, TypeScript, Python, C#, C++, Go, Java и Kotlin.
Это не замена LSP: переход к определению в сторонних пакетах, переименования и проверка типов остаются за языковым сервером. Маршруты декораторов, фабрики по строковому имени и рефлексию vex не видит, для таких мест остаётся vex grep. Разбор ссылок вне тел функций покрыт неровно, а на Python и FastAPI стоит сперва прочитать docs/LIMITATIONS.md.
Какие задачи решает
- найти определение класса по имени без чтения целого файла
- узнать, кто вызывает функцию и кто её реализует
- найти символ по смыслу, когда точное имя забыто
- сопоставить AST-шаблон вроде
fn $NAME($$$) -> Result - вытащить тело символа вместе с вызовами одним запросом
Примеры запросов агенту
- Проверь через vex, есть ли в проекте символ
TelemetryProcessor, и покажи его тело. - Найди через vex всех, кто вызывает
process_event, и перечисли реализацииBaseService. - Поищи в индексе vex что-нибудь про таймауты и повторы, а потом покажи близкие по смыслу символы к
PaymentService.
Как установить vex
Установка
Команды запуска нет в реестре MCP — смотрите README репозитория
По шагам, с командами для каждой платформы: Как подключить MCP-сервер: Claude Code, Codex, Cursor, VS Code, Gemini CLI и другие
Вопросы о vex
Как установить vex в Claude Code?
Готовой команды установки для Claude нет: соберите бинарник из репозитория tenatarika/vex и подключите его как локальный MCP-сервер в конфигурации Claude.
Что делает vex?
Индексирует кодовую базу и отвечает на запросы о символах: где определён, кто вызывает, какие есть реализации, похожие по смыслу места. Плюс текстовый grep и поиск по AST-шаблонам.
Нужен ли предварительный индекс?
Да, поиск работает по заранее построенному индексу: vex index занимает доли секунды на типичном проекте, зато потом запросы идут за миллисекунды. Без индекса команды поиска работать не будут.