codesearch MCP

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

  • 103 ★ репозитория
  • Последний коммит
  • Apache-2.0
MCP-сервер

Минимальный доступ

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

  • Индекс и поиск работают локально, но необязательные хуки могут блокировать правки и grep.
Все причины и проверки

flupkede/codesearch

Установка

Ручная установка

curl -fsSLO https://github.com/flupkede/codesearch/releases/latest/download/install.sh && bash install.sh && rm install.sh

Вариант для Linux и macOS из README. Для Windows есть `install.ps1`, а запуск в агенте идет командой `codesearch mcp`.

Доступ и проверки

Как мы проверяем

Минимальный доступИнструмент ничего не запускает и не ходит в сеть.

  • Индекс и поиск работают локально, но необязательные хуки могут блокировать правки и grep.

Это чужой код. Посмотрите файлы в репозитории перед установкой.

Что делает

codesearch, MCP-сервер на Rust, строит локальный индекс репозитория и отдает агенту поиск по смыслу и по буквальному совпадению. Векторные эмбеддинги объединяются с полнотекстовым BM25 через Reciprocal Rank Fusion, а код режется по границам функций и классов с помощью tree-sitter для 17 языков. Кроме поиска есть навигация по символам: определения, использования, импорты и зависимые файлы. В режиме `serve` один сервер держит группу репозиториев и объединяет результаты запросов. По умолчанию ответ компактный, полный код агент забирает отдельным вызовом `get_chunk`.

Для кого. Разработчикам, чей агент работает с большой кодовой базой или несколькими репозиториями и тратит токены на перебор файлов.

Подходит, если

  • Агент ищет в проекте, где реализована функция, и грепа по имени недостаточно.
  • Над задачей работают сразу несколько репозиториев, и поиск нужен по всей группе.
  • Перед переименованием символа требуется список вызовов (`find_impact`).
  • Код нельзя отправлять в облачные индексаторы, а GPU на машине нет.
  • Нужно быстро подключить поиск к OpenCode, Claude Code или Cursor одной командой `codesearch mcp`.

Не подходит, если

  • Файл известен заранее, хватит обычного чтения или grep.
  • Индексировать большие репозитории на слабой машине нет возможности.
  • Нужен полноценный граф знаний о коде, а не легкий поиск.

Пример запроса к агенту

Найди, где в проекте обрабатывается повторная отправка платежа, и покажи, какие файлы зависят от этой функции.

MCP

Транспорт
stdio, http
Авторизация
не нужна

Ограничения

Первая индексация занимает 2–5 минут, дальше обновляются только измененные файлы. Смена модели эмбеддингов требует полной переиндексации с `--force`. Точный поиск вызовов `find_impact` работает для C# и TypeScript, для остальных языков остается лексический `find`. Необязательные хуки `grep-guard` и `edit-guard` блокируют grep и правки, пока не вызван codesearch, поэтому включайте их осознанно. Установщик скачивает готовый бинарный файл из релизов.

Как отключить. Удалите запись `codesearch` из MCP-конфигурации агента и остановите `codesearch serve`, если он запущен. Индекс в `~/.codesearch` и хуки, если ставили, удалите отдельно.

Частые вопросы

Чем режим serve отличается от mcp?

`codesearch mcp` обслуживает один репозиторий и сам следит за файлами. `codesearch serve` держит несколько репозиториев по HTTP и объединяет результаты поиска.

Нужен ли GPU или Docker?

Нет. Сервер работает на CPU, не скачивает модели во время работы и поставляется статичным бинарным файлом.

Какие инструменты видит агент?

Основные: `search`, `find`, `explore`, `get_chunk`, `find_impact` и `status`. Поиск вызывается в режимах `semantic` и `literal`.

Как сменить модель эмбеддингов?

Передайте `--model` и пересоберите индекс с `--force`, например `codesearch --model embeddinggemma-q4 index <путь> --force`.

Где хранится индекс?

Реестр репозиториев лежит в `~/.codesearch/repos.json`, индексы создаются локально. Список и очистка идут командами `codesearch index list`, `rm` и `prune`.

Обсуждение

Вопросов и отзывов пока нет.

MCP-серверы

MCP-сервер и CLI на Rust: граф вызовов и гибридный семантический поиск по коду для Claude Code и Codex

MCP-серверРасширенный доступ760Звезды репозитория
Официальный

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

MCP-серверШирокий доступ18,9 тыс.Звезды репозитория

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

MCP-серверРасширенный доступ1 тыс.Звезды репозитория
Официальный

MCP-сервер и CLI для исследования кода: поиск и разбор по вашему проекту и по всему GitHub с экономией токенов

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

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

CLIРасширенный доступ1,1 тыс.Звезды репозитория

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

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

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

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

ИнструментОфициальныйАвторизацияЗвезды репозиторияГлавное отличие
codesearch (эта карточка)нетне нужна103
Claude ContextдаAPI-ключ12 690индексирует код через внешнюю векторную базу; codesearch хранит индекс локально и объединяет несколько репозиториев
Serenaнетне нужна31 335дает навигацию по символам через языковые серверы; codesearch добавляет гибридный поиск по смыслу

Коротко о README

Один индекс на репозиторий, поиск по смыслу и по тексту, навигация по символам и режим `serve` для группы репозиториев. Работа идет локально.

Бейдж для README

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