srclight: Полностью локальный сервер MCP для индексации кода с использованием эмбеддингов Ollama

Что делает srclight
srclight — это MCP-сервер (Model Context Protocol), который обеспечивает глубокое индексирование кода с возможностями семантического поиска, работающими полностью на вашем локальном компьютере. Ваш код никогда не покидает вашу систему, и не требуются API-ключи или облачные вызовы.
Технический стек
- Парсинг: парсинг AST через tree-sitter для 11 языков: Python, C, C++, C#, JavaScript, TypeScript, Dart, Swift, Kotlin, Java, Go
- Поиск по ключевым словам: SQLite FTS5 с 3 индексами: имена символов с разделением camelCase/snake_case, триграммы для сопоставления подстрок, стеммер Портера для строк документации
- Эмбеддинги: Ollama для локальных эмбеддингов (по умолчанию qwen3-embedding, также работает nomic-embed-text)
- Векторный поиск: cupy для GPU-ускоренного косинусного сходства (~3 мс на 27K векторов на RTX 3090) с резервным вариантом на numpy (~105 мс), если GPU недоступен
- Гибридный поиск: Reciprocal Rank Fusion (RRF, k=60), объединяющий результаты FTS5 по ключевым словам с семантическими результатами на основе эмбеддингов
Реализация эмбеддингов
Система эмбеддингов использует побочные файлы .npy, которые загружаются в VRAM GPU один раз, а затем обслуживают все запросы из VRAM. Холодный старт занимает ~300 мс, последующие запросы — ~3 мс каждый. Система инкрементальна — переэмбеддинг выполняется только для символов, чей хеш содержимого изменился. Полный эмбеддинг 45K символов занимает ~15 минут с qwen3-embedding, в то время как инкрементальные обновления происходят мгновенно.
Доступные инструменты
srclight предоставляет в общей сложности 25 MCP-инструментов:
- Поиск символов (FTS5 + семантический + гибридный RRF)
- Граф отношений (вызывающие, вызываемые, транзитивные зависимости, реализаторы, дерево наследования, покрытие тестами)
- Интеллект изменений Git (blame на символ, обнаружение горячих точек, незакоммиченные изменения, история коммитов)
- Осведомлённость о системе сборки (CMake, цели .csproj и условные платформы)
- Многорепозиторные рабочие пространства с использованием SQLite ATTACH+UNION между репозиториями, позволяющие искать в 10+ репозиториях одновременно
Развёртывание и производительность
Автор индексирует 13 репозиториев (45K символов) в рабочем пространстве. Всё хранится в одном файле SQLite на репозиторий — не требуются Docker, Redis, векторная база данных или облачные API эмбеддингов. Git-хуки (post-commit, post-checkout) автоматически поддерживают индекс в актуальном состоянии.
Согласно опросу автора среди 50+ MCP-серверов поиска кода в основных реестрах, большинство являются обёртками над grep или требуют облачных API эмбеддингов (OpenAI, Voyage). srclight описывается как единственный, сочетающий локальный поиск по ключевым словам FTS5 + локальные эмбеддинги Ollama + GPU-ускоренный векторный кеш + интеллект Git + многорепозиторные рабочие пространства в одной установке через pip.
Совместимость и установка
Работает с любым MCP-клиентом, включая Claude Code, Cursor, Windsurf, Cline и VS Code. Установка через pip install srclight. Проект имеет лицензию MIT и полностью открытый исходный код на https://github.com/srclight/srclight.
📖 Read the full source: r/LocalLLaMA
👀 Смотрите также

Термрендер: 6-кратно эффективная по токенам ASCII-визуализация интерфейса для Claude
Termrender — это инструмент с открытым исходным кодом на Python, который генерирует ASCII-визуализации интерфейсов с эффективностью использования токенов в 6 раз выше по сравнению с исходным выводом Claude. Он создаёт диаграммы и панели, используя минимальное количество токенов для более быстрой генерации и редактирования.

Результаты A/B-тестирования: хуки oh-my-claudecode демонстрируют минимальное влияние на производительность Claude Code.
Разработчик потратил 7% своих еженедельных Max20 токенов на тестирование хуков oh-my-claudecode с Claude Sonnet 4.6, не обнаружив значительного улучшения качества кода или снижения затрат для задачи кодирования в рамках одной сессии.

Терминальный 3D-рендерер, созданный с помощью мультиагентной системы кодирования Claude
Разработчик создал tortuise — чисто терминальный 3D-рендерер, отображающий гауссовы сплаты с помощью символов Unicode и ASCII, построенный за 3 дня с использованием 70-80 ИИ-агентов, скоординированных через настройку Claude Code с подагентами внутри подагентов.

Logseq Brain v0.6.0: Плагин постоянной памяти для Claude Code добавляет журнал путешествий и чтение по разделам
Logseq Brain v0.6.0 добавляет журнал операций, чтение с выборкой разделов для экономии токенов и прогрессивное раскрытие файлов навыков.