Srclight — индекс кода для агентов
Srclight
Локальный MCP-сервер строит индекс кода на SQLite и tree-sitter, и агент ищет символы, вызовы и смысл одним запросом
- 59 ★ репозитория
- Последний коммит
- MIT
Расширенный доступ
Почему такой уровень
- Сервер читает весь исходный код проекта и документы и пишет индекс .srclight рядом с репозиторием
- Хуки git после коммита запускают переиндексацию, а выбор Voyage AI отправляет символы кода во внешний API
Установка
- Работает в
В терминале, через SkillFoxx CLI
npx skillfoxx add mcp/srclightОпределит агенты на машине, покажет уровень доступа и зафиксирует версию.
Другие способы установки
Доступ и проверки
Как мы проверяемРасширенный доступИнструмент запускает код или ходит в сеть, а внешние данные только читает.
- Сервер читает весь исходный код проекта и документы и пишет индекс .srclight рядом с репозиторием
- Хуки git после коммита запускают переиндексацию, а выбор Voyage AI отправляет символы кода во внешний API
Это чужой код. Посмотрите файлы в репозитории перед установкой.
Что делает
Srclight индексирует репозиторий в один файл SQLite с помощью tree-sitter и держит его свежим, перестраивая только измененные файлы. MCP-сервер отдает агенту 42 инструмента. Они ищут символы, исходный код и документацию, показывают, кто кого вызывает, находят кластеры кода и оценивают, что заденет правка. Есть инструменты по истории git, сборочным системам и по документам: PDF, DOCX, XLSX, HTML, CSV, письма и картинки. Индекс понимает 19 языков, среди них Python, C, C++, Java, Kotlin, Go, Rust и TypeScript. Смысловой поиск строится на эмбеддингах из Ollama или Voyage AI, а гибридный объединяет его с поиском по ключевым словам. Несколько репозиториев можно собрать в рабочее пространство и искать по всем сразу. Хуки git после коммита и переключения ветки обновляют индекс сами. В каждом ответе по символам и графу стоит метка свежести индекса, а сервер отклоняет неизвестные аргументы вместо того, чтобы молча отбросить их. Те же инструменты доступны из терминала командой `srclight tool`.
Для кого. Разработчикам больших и многоязычных кодовых баз, где агент тратит много вызовов на поиск файлов и вызывающих функций.
Подходит, если
- Агент перед правкой функции десятки раз запускает `grep`, чтобы найти все места ее вызова
- Репозиторий вместе с C++, Python и документацией в PDF нужно искать единым инструментом
- Перед коммитом хочется увидеть, что заденет изменение, до запуска тестов
- Код надо искать по смыслу, например «где создается пул соединений с базой»
- Несколько репозиториев одного продукта должны отвечать на запросы как один
Не подходит, если
- Проект маленький, и агент справляется с поиском встроенными средствами
- Работа идет в среде, где нельзя ставить хуки git или писать каталог .srclight рядом с кодом
- Для смыслового поиска нет ни Ollama, ни ключа Voyage: тогда остаются поиск по именам и по ключевым словам
- Нужны точные ссылки без неоднозначностей: связи с меткой `name_only` дают лишь список кандидатов
Пример запроса к агенту
Покажи всех вызывающих функцию `lookup` и оцени, какие файлы заденет изменение ее сигнатуры.MCP
- Транспорт
- stdio, sse
- Авторизация
- не нужна
Переменные окружения
SRCLIGHT_EMBED_MODEL- Модель эмбеддингов по умолчанию для новых индексов
VOYAGE_API_KEYсекрет- Ключ Voyage AI для модели voyage-code-3
Ограничения
Нужен Python 3.11 или новее и Git. Смысловой поиск требует Ollama с моделью эмбеддингов, например qwen3-embedding на 6 ГБ видеопамяти, либо ключ Voyage AI. Индекс хранится в каталоге .srclight рядом с проектом, и в git его добавлять не следует. Ответ с пометкой stale описывает код на момент индексации, а связи с пометкой name_only перед правкой проверяйте инструментом get_symbol. Ускорение поиска на видеокарте требует CUDA 12 и необязательно.
Как отключить. Выполните `claude mcp remove srclight`. Команда `srclight index --forget-embed-model` отключает эмбеддинги в хуках, а папку .srclight можно удалить вместе с проектом.
Частые вопросы
Как подключить Srclight к Claude Code?
Установите пакет командой pip install srclight, выполните srclight index в корне проекта и добавьте сервер командой claude mcp add srclight -- srclight serve. Флаг --scope user делает его доступным во всех проектах.
Уходит ли мой код во внешние сервисы?
По умолчанию нет: индекс лежит в локальном файле SQLite, эмбеддинги считает локальная Ollama. Наружу символы отправляются только если вы выберете Voyage AI с ключом VOYAGE_API_KEY.
Как работает Srclight в Cursor?
Запустите srclight serve --workspace имя и добавьте в mcp.json запись srclight с адресом http://127.0.0.1:8742/sse или командой srclight с аргументом serve. После правки Cursor нужно перезапустить полностью.
Как узнать, что индекс отстал от кода?
Смотрите поле index_freshness в ответе: значение `verified-fresh` означает совпадение файлов с индексом. Проверку любых путей по запросу делает инструмент check_freshness, а обновляет индекс srclight index.
Можно ли искать по смыслу без Ollama?
Нет, смысловой поиск требует модели эмбеддингов: локальной через Ollama или облачной Voyage AI. Без нее остаются поиск по именам символов, по исходному коду и по документации.
Обсуждение
Вопросов и отзывов пока нет.
Похожие
MCP-серверыMCP-сервер индексирует локальный репозиторий через tree-sitter и дает агенту поиск по коду, список файлов и сводку по структуре файла
Локальный индекс кодовой базы для агентов: гибридный поиск, графы зависимостей и анализ последствий изменений
Локальный индекс кода для агентов: MCP-инструмент map ищет по смыслу и структуре, код не покидает машину
MCP сервер структурного поиска по коду для агентов: находит нужный файл по смыслу запроса и работает локально
codesearch ищет по коду сразу в нескольких репозиториях гибридным поиском и работает офлайн, без GPU и Docker.
MCP-сервер индексирует код через tree-sitter: агент читает отдельные символы вместо файлов, находит пути, оценивает влияние правок
Сравнение с похожими
Карточки с тем же главным запросом: чем они отличаются.
| Инструмент | Официальный | Авторизация | Звезды репозитория | Главное отличие |
|---|---|---|---|---|
| Srclight — индекс кода для агентов (эта карточка) | да | не нужна | 59 | |
| jCodeMunch MCP | нет | не нужна | 2 843 | отдает отдельные функции и классы вместо файлов, без документов, git-истории и рабочих пространств |
| Serena | нет | не нужна | 31 335 | дает возможности IDE через LSP и правит код, а Srclight только ищет и анализирует |
| Claude Context | да | API-ключ | 12 689 | семантический поиск в векторной базе, без графа вызовов и git-аналитики |
Коротко о README
В README разобраны индексация, четыре режима поиска, рабочие пространства из нескольких репозиториев и подключение к Claude Code, Cursor и OpenClaw. Отдельно объяснены метки свежести, покрытие индекса и метки разрешения связей в графе вызовов.