claude-context — Claude Code наконец видит весь твой монорепо. 25× меньше токенов и 10K звёзд за два месяца
claude-context — Claude Code наконец видит весь твой монорепо. 25× меньше токенов и 10K звёзд за два месяца
Знакомая боль: спрашиваешь Claude Code «где у нас обрабатывается Stripe webhook», и он 30 секунд грепает 200K строк, тащит в контекст 12 файлов целиком, отъедает 40K input-токенов, в итоге всё равно находит не ту функцию. На Opus 4.7 такой запрос стоит почти как чашка кофе. За час работы их случается пятнадцать.
TL;DR: claude-context это open-source MCP-сервер от Zilliz, который индексирует репозиторий в векторную БД и делает гибридный поиск BM25 + dense vector. Один запрос вместо двенадцати, ~1.5K токенов вместо 40K, 25× экономии в больших монорепо. Работает с Claude Code, Cursor, Codex CLI, Gemini CLI, Windsurf, Cline и любым MCP-клиентом. 10.6K звёзд, MIT.
Почему дефолтный grep всё ломает
Claude Code в большом репо ведёт себя одинаково: grep по ключевому слову, читает все совпавшие файлы целиком, решает, какой редактировать. На 200K LOC запрос «найди логику pagination» расходится по 12-15 файлам по 500-2000 строк каждый. Итого ~40K input-токенов на ОДИН запрос. За час разработки таких запросов 5-15, а на Opus 4.7 это реальный счёт в конце месяца. На r/ClaudeCode каждую неделю появляется новый пост «Opus 4.7 жрёт мои Plus-кредиты как не в себя», и в комментариях люди тыкают пальцем именно в эту проблему.
Cursor решает её встроенной индексацией. Claude Code — не использует индекс вообще. До недавнего времени. Теперь есть claude-context.
Что делает claude-context
Это MCP-сервер, который:
- Индексирует твой репозиторий один раз: парсит код через Tree-sitter, режет на чанки, прогоняет через embedding-модель (OpenAI или VoyageAI), складывает в Milvus или Zilliz Cloud
- Ищет гибридно: BM25 (классический keyword) + dense vector (семантика), результаты ранжируются
- Обновляется инкрементально: Merkle DAG хеширует изменённые файлы, переиндексирует только их
На выходе агент получает не «вот 12 файлов целиком», а «вот три фрагмента по 30 строк, релевантных запросу». Контекст не разлетается в пыль.
Реальные числа
Замеры на VS Code (1.5M строк):
- Маленькое репо (20-30K LOC): ~1 минута индексации, $0.10 на эмбеддинги
- Большое репо (1.5M LOC): ~50 минут индексации, $1.06 на эмбеддинги
- Запрос «pagination cursor logic» на 200K LOC: grep+read = ~40K input-токенов, claude-context = ~1.5K. Разница 25×
- Точность: до 40% меньше токенов в контексте по сравнению с grep
Это не маркетинговые цифры из README — это замеры на реальном VS Code codebase, которые повторили несколько независимых блогеров на growwstacks.com и scavio.dev.
Установка для Claude Code
Одна команда:
claude mcp add claude-context \ -e OPENAI_API_KEY=sk-your-openai-api-key \ -e MILVUS_ADDRESS=your-zilliz-cloud-public-endpoint \ -e MILVUS_TOKEN=your-zilliz-cloud-api-key \ -- npx @zilliz/claude-context-mcp@latest
Нужен Node.js 20+, ключ OpenAI (или VoyageAI с voyage-code-3, которая специально для кода и часто лучше) и Zilliz Cloud аккаунт. У Zilliz есть бесплатный tier, на котором свободно умещаются репозитории до пары миллионов строк.
После подключения в Claude Code появляются три инструмента:
index_codebase— проиндексировать директориюsearch_code— найти по естественному запросуclear_index— удалить индекс
Первый раз индексацию запускаешь руками: «проиндексируй мне /Users/me/myrepo». Дальше Claude сам вызывает search_code всякий раз, когда хочет что-то найти.
Что работает с claude-context
Через MCP подключается ко всему, что говорит на этом протоколе:
- Claude Code: родная интеграция
- Cursor: параллельно встроенной индексации, можно использовать оба
- Codex CLI от OpenAI
- Gemini CLI от Google
- Windsurf (бывший Codeium)
- Cline (open-source агент для VS Code)
- Qwen Code: китайский клон Claude Code
Плюс отдельное VSCode-расширение «Semantic Code Search»: если хочется тыкать в код руками, а не через агента.
Подводные камни
1. Tree-sitter поддерживает только 9 языков. Python, TypeScript, JavaScript, Go, Rust, Java, C, C++, C#. Если у тебя Elixir, Clojure, OCaml или что-то экзотическое, индексация будет работать как plain text chunking, точность падает.
2. Break-even начинается с ~10-20K LOC. На маленьких репо дефолтный grep отрабатывает за пару тысяч токенов, а индексация добавляет накладные расходы на инфраструктуру и эмбеддинги. Поставил claude-context на pet-проект из 5K строк — потратил больше денег, чем сэкономил.
3. Нужны два внешних сервиса. OpenAI API за эмбеддинги (или VoyageAI) плюс Zilliz Cloud (или self-hosted Milvus). Если в компании запрещён вывод исходников в облако, придётся поднимать Milvus у себя, а это уже не «одна команда установки», а отдельный k8s-deployment с persistent volumes.
4. Индекс устаревает. Merkle DAG помогает с инкрементальными апдейтами, но при крупном рефакторинге или переключении на длинноживущий feature-branch индекс надо перестраивать. Авторы пишут «делайте clear_index после больших rebases», но это не автоматизировано.
5. AST-based analysis ещё в roadmap. Сейчас chunking режет код по строкам с эвристиками, не по синтаксическим границам. Это значит, что иногда в результат попадает половина функции без сигнатуры и комментариев. Для понимания «что делает этот метод» нормально. Для «куда вставить новый параметр» приходится дочитывать руками.
Альтернативы
Cursor built-in indexing. Уже встроено в редактор, ноль настройки, оплачивается подпиской $20/мес. Минус: работает только в самом Cursor, в Claude Code из терминала не подключишь.
Vercel Grep MCP (mcp.grep.app). Бесплатный, ищет по миллиону публичных GitHub-репозиториев. Подключается одной командой: claude mcp add --transport http grep https://mcp.grep.app. Минус: только публичный код, твой приватный монорепо невидим.
Sourcegraph Cody bridge. Корпоративное решение с энтерпрайз-поиском, поддерживает self-hosting и SSO. Минус: стартует от $19/seat/мес, нужна отдельная установка Sourcegraph-инстанса. Перебор для команды из трёх человек.
Дефолтный grep + read через Bash tool. Бесплатно, ноль настройки. Минус: 25× больше токенов на больших репо, заметные паузы в работе агента, на Opus 4.7 быстро съедает Plus-кредиты.
Вердикт
Ставь, если у тебя монорепо >50K LOC и ты используешь Claude Code или Codex CLI из терминала: окупится за неделю на одних только сэкономленных токенах. Не ставь, если репо меньше 10K строк или ты живёшь в Cursor (там уже встроено). При корпоративных запретах на выгрузку кода в облако self-hosted Milvus ради экономии $5/мес на токенах не имеет смысла. И не жди магии: для запросов «открой файл users.ts» grep всё ещё быстрее и дешевле. claude-context выигрывает только на семантических запросах вроде «где у нас обрабатывается отмена подписки».
Как попробовать за 10 минут
- Заведи аккаунт на zilliz.com/cloud, там есть бесплатный tier. Запиши
MILVUS_ADDRESSиMILVUS_TOKENиз настроек кластера - Возьми OpenAI API ключ (или VoyageAI:
voyage-code-3показывает на коде лучше, чемtext-embedding-3-large) - В терминале выполни команду установки:
claude mcp add claude-context \ -e OPENAI_API_KEY=sk-... \ -e MILVUS_ADDRESS=... \ -e MILVUS_TOKEN=... \ -- npx @zilliz/claude-context-mcp@latest
- Запусти Claude Code в директории проекта и скажи: «проиндексируй этот репозиторий через claude-context», он сам вызовет
index_codebase - Проверь работу: «найди мне через claude-context, где обрабатывается логика отмены подписки». Должен прилететь ответ с 2-3 фрагментами кода вместо чтения десяти файлов
Если хочется без эмбеддингов и облаков, ставь VSCode-расширение Semantic Code Search от тех же авторов: то же ядро, локальный индекс, плюс UI с подсветкой результатов прямо в редакторе. Полезно, если работаешь без AI-агента, но хочешь нормальный семантический поиск по коду.
Репозиторий: github.com/zilliztech/claude-context. 10.6K звёзд, MIT, активная разработка: за последний месяц 28 релизов.