XERJ MCP
Локальный поиск и MCP-сервер для агентов: один бинарник на Rust индексирует код, документы и логи
- 18 928 ★ репозитория
- Последний коммит
- Apache-2.0
Широкий доступ
Почему такой уровень
- Быстрый старт с `--insecure` открывает порт без авторизации: любой клиент читает и удаляет все индексы
- Индексирует вашу папку целиком, в том числе секреты и логи, если они попали в дерево
- Установка запускает скрипт из сети через `sh`
Установка
- Работает в
Ручная установка
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.
Локальный поиск по коду для агентов на Rust: BM25, векторы и реранкинг, 65 языков, без сети, со скиллом и MCP-сервером.
MCP-сервер и CLI для исследования кода: поиск и разбор по вашему проекту и по всему GitHub с экономией токенов
MCP сервер структурного поиска по коду для агентов: находит нужный файл по смыслу запроса и работает локально
Локальный индекс кодовой базы для агентов: гибридный поиск, графы зависимостей и анализ последствий изменений
MCP-сервер индексирует локальный репозиторий через tree-sitter и дает агенту поиск по коду, список файлов и сводку по структуре файла
Сравнение с похожими
Карточки с тем же главным запросом: чем они отличаются.
| Инструмент | Официальный | Авторизация | Звезды репозитория | Главное отличие |
|---|---|---|---|---|
| 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. Выгода зависит от того, помнит ли модель код: на закрытом, нишевом и свежем она есть.