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
👀 Смотрите также

Многоуровневая система защиты для обеспечения соблюдения правил кода Claude
ИТ-специалист по операциям создал 8-уровневую защитную структуру для принудительного соблюдения правил Claude Code после обнаружения, что можно обойти как подсказки CLAUDE.md, так и блокирующие хуки. Этот подход адаптирует модель швейцарского сыра из расследования аварий для предотвращения обходных путей.

PACT: Программная система управления для Claude Code после сбоев в работе агентов
Разработчик создал PACT (Programmatic Agent Constraint Toolkit) после трёх месяцев повторяющихся сбоев Claude Code в мобильном приложении с более чем 350 файлами. Фреймворк заменяет неисполнимые правила механическими ограничениями, которые физически блокируют нарушения через предварительные хуки перед использованием инструментов.

Публичный конвейер превращает рабочий процесс Claude Code в набор переиспользуемых навыков.
Разработчик, который ежедневно использовал Claude Code в течение 9 месяцев, опубликовал в открытом доступе конвейер, который структурирует разработку функций с контрольными точками, такими как функциональная документация, техническая документация, оценка сложности и проверки безопасности. Конвейер включает точки входа /new-feature и /bug-fix, которые направляют реализацию.

Навыки агента для работы с изображениями: Простой хостинг изображений для кодовых агентов Claude
Разработчик создал простой сервис хостинга изображений по адресу https://images.labnocturne.com, чтобы решить проблему, когда агенты Claude Code генерируют изображения, но негде их хранить. Сервис предоставляет мгновенные тестовые ключи через curl, автоматически удаляет файлы через 7 дней и включает навыки MCP для Claude Code для загрузки, просмотра списка файлов и удаления.