Srclight — индекс кода для агентов

Srclight

Локальный MCP-сервер строит индекс кода на SQLite и tree-sitter, и агент ищет символы, вызовы и смысл одним запросом

  • 59 ★ репозитория
  • Последний коммит
  • MIT
MCP-серверОфициальный

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

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

  • Сервер читает весь исходный код проекта и документы и пишет индекс .srclight рядом с репозиторием
  • Хуки git после коммита запускают переиндексацию, а выбор Voyage AI отправляет символы кода во внешний API
Все причины и проверки

srclight/srclight

Установка

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

Локальный индекс кодовой базы для агентов: гибридный поиск, графы зависимостей и анализ последствий изменений

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

Локальный индекс кода для агентов: MCP-инструмент map ищет по смыслу и структуре, код не покидает машину

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

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

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

codesearch ищет по коду сразу в нескольких репозиториях гибридным поиском и работает офлайн, без GPU и Docker.

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

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

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

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

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

ИнструментОфициальныйАвторизацияЗвезды репозиторияГлавное отличие
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. Отдельно объяснены метки свежести, покрытие индекса и метки разрешения связей в графе вызовов.

Бейдж для README

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