XERJ MCP

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

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

Широкий доступ

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

  • Быстрый старт с `--insecure` открывает порт без авторизации: любой клиент читает и удаляет все индексы
  • Индексирует вашу папку целиком, в том числе секреты и логи, если они попали в дерево
  • Установка запускает скрипт из сети через `sh`
Все причины и проверки

xerj-org/xerj

Установка

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

curl -fsSL https://xerj.org/get | sh

Скрипт с xerj.org ставит бинарник. Узел для одного пользователя запускает `xerj --insecure --data-dir ~/xerj-data &`.

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

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

Широкий доступИнструмент может менять данные, выполнять команды или работать с секретами.

  • Быстрый старт с `--insecure` открывает порт без авторизации: любой клиент читает и удаляет все индексы
  • Индексирует вашу папку целиком, в том числе секреты и логи, если они попали в дерево
  • Установка запускает скрипт из сети через `sh`

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

Что делает

XERJ — один бинарник на Rust, который запускает локальный поисковый сервер и индексирует папку целиком: код, документы, спецификации, логи, JSONL, CSV, PDF и SQLite. Команда `xerj autoindex <папка>` сама определяет тип каждого файла и создает отдельный индекс на каждый найденный набор данных. Код разбирается через tree-sitter, поэтому в ответе есть символы и номера строк. Поиск идет по BM25, по векторам или гибридно, а API совместим с Elasticsearch. Агент подключается через MCP-сервер `xerj mcp` по stdio. Он ищет по индексу, находит определения, выполняет пачку запросов одним вызовом `xerj_batch_search` и хранит долгую память в `/_memory/{namespace}`: то, что агент узнал, он вспоминает по смыслу в следующей сессии. Отдельный сценарий называется reference coding: агент скачивает близкие открытые репозитории, индексирует их и смотрит, как задача решена там, прежде чем писать свой код. Наборы Corpus Hub с готовыми справочными материалами доступны и без локального индекса.

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

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

  • Агент в большом репозитории читает файлы целиком вместо нужного фрагмента
  • Агент решает задачу на приватном или свежем коде, которого модель не знает, и ему нужны образцы из близких открытых проектов
  • Нужен поиск по смешанной папке с логами, PDF, CSV и документацией с ответом в виде фрагмента и номера строки
  • Агенту нужна память между сессиями с поиском по смыслу
  • Готовый клиент Elasticsearch нужно направить на локальный индекс

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

  • Проект построен на популярных публичных библиотеках, которые модель уже знает: на таком коде выгода нейтральная или отрицательная
  • Нужен векторный поиск с нейросетевыми эмбеддингами сразу после установки: по умолчанию работает лексический эмбеддер
  • Нужен MCP без отдельного сервера: инструменты поиска по своим файлам требуют запущенного узла XERJ

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

Прочитай https://xerj.org/llms.txt, подними XERJ как поисковый бэкенд, проиндексируй ./docs и покажи по одному примеру запроса для каждого созданного индекса

MCP

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

Переменные окружения

XERJ_URL
Адрес узла XERJ, по умолчанию http://localhost:9200
XERJ_AUTH секрет
Заголовок авторизации для узла с включенной проверкой, например ApiKey <ключ>

Ограничения

Режим `--insecure`, на котором построен быстрый старт, отключает TLS и проверку ключей: любой клиент, достучавшийся до порта, получает права суперпользователя и может читать и удалять все индексы, включая память агентов. Свежий узел слушает только `127.0.0.1`, а bind на другой интерфейс без явного разрешения не запускается. Каталог данных держите вне индексируемой папки: с `--data-dir ./data` внутри индексируемого дерева узел начнет индексировать собственное хранилище. Нейросетевой эмбеддер включается отдельно и скачивает около 90 МБ. Установочный скрипт с xerj.org стоит прочитать перед запуском. Для Windows и ручной проверки подписи есть раздел Install by hand.

Как отключить. Отключите плагин командой `claude plugin uninstall xerj@xerj` или уберите сервер `xerj` из MCP-конфигурации агента, затем остановите процесс `xerj`. Данные лежат в каталоге из `--data-dir`, его можно удалить вручную.

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

Как подключить XERJ к Claude Code?

Выполните `xerj init`: команда подключает XERJ к Claude Code или Cursor как MCP-сервер и скилл. Либо поставьте плагин: `claude plugin marketplace add xerj-org/xerj`, затем `claude plugin install xerj@xerj`. Бинарник `xerj` должен быть в PATH, а узел запущен.

Как проиндексировать папку проекта?

Запустите узел и выполните `xerj autoindex ~/my-project`. XERJ сам определит тип каждого файла и создаст индекс на каждый набор данных. Дальше ищите командой `xerj search "запрос"`, определения командой `xerj def "имя"`.

Как включить авторизацию на узле?

Задайте переменную `XERJ_AUTH`, например `ApiKey <ключ>`. На локальном узле ключ читается из `<data-dir>/admin.key`, поэтому переменную можно не задавать.

Нужен ли запущенный узел для всех инструментов?

Нет. Инструменты Corpus Hub работают без локального индекса, а поиск по вашим файлам требует запущенного узла.

Что такое reference coding в XERJ?

Это сценарий, в котором агент скачивает близкие открытые репозитории, индексирует их в XERJ и смотрит, как там решена задача, до написания своего кода. Пользу он дает на закрытом и свежем коде.

Обсуждение

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

MCP-серверы

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

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

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

CLIМинимальный доступ147Звезды репозитория
Официальный

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

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

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

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

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

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

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

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

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

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

ИнструментОфициальныйАвторизацияЗвезды репозиторияГлавное отличие
XERJ (эта карточка)дане нужна18 928
Claude ContextдаAPI-ключ12 690строит векторный индекс кода, а XERJ принимает логи, PDF и CSV и отвечает по API Elasticsearch
code-index-mcpнетне нужна162индексирует репозиторий через tree-sitter, а XERJ добавляет документы, логи и память агента
codebase-memory-mcpнетне нужна48 598строит граф кода из функций и вызовов, а XERJ ищет по тексту и векторам в любых типах файлов

Коротко о README

Репозиторий с открытым кодом под Apache-2.0. По исследованию авторов на 16 запусках агент с XERJ тратил в 2,7 раза меньше выходных токенов, чем с grep, при тех же 16 решенных задачах из 16. Выгода зависит от того, помнит ли модель код: на закрытом, нишевом и свежем она есть.

Бейдж для README

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