RustXNG MCP
Локальный метапоиск на Rust по мотивам SearXNG: агент получает выдачу в JSON и читает страницы с жестким лимитом на размер ответа
- 961 ★ репозитория
- Последний коммит
- AGPL-3.0
Расширенный доступ
Почему такой уровень
- Поисковые запросы уходят выбранным внешним поисковым движкам.
- `read_page` открывает адреса из выдачи и загружает чужой текст в контекст агента.
Установка
- Работает в
Ручная установка
set -eu
mkdir -p rustxng-download && cd rustxng-download
gh release download v0.26.0 --repo sahenjp/RustXNG \
--pattern 'rustxng-v0.26.0-x86_64-unknown-linux-musl*' \
--pattern LICENSE --pattern NOTICE
sha256sum --check rustxng-v0.26.0-x86_64-unknown-linux-musl.sha256
install -Dm755 rustxng-v0.26.0-x86_64-unknown-linux-musl "$HOME/.local/bin/rustxng"Первый способ из README: готовый бинарный файл для Linux x86_64 с проверкой контрольной суммы. Для macOS и Windows бинарные файлы лежат в релизах.
Доступ и проверки
Как мы проверяемРасширенный доступИнструмент запускает код или ходит в сеть, а внешние данные только читает.
- Поисковые запросы уходят выбранным внешним поисковым движкам.
- `read_page` открывает адреса из выдачи и загружает чужой текст в контекст агента.
Это чужой код. Посмотрите файлы в репозитории перед установкой.
Что делает
RustXNG — самохостируемый метапоисковик на Rust, построенный на основе SearXNG. Сервер собирает выдачу из нескольких поисковых движков и по запросу достает текст страниц, чтобы агент опирался на источники, а не на память модели. Команда `rustxng mcp` запускает MCP-сервер по stdio с двумя инструментами только для чтения: `search` и `read_page`. `search` по умолчанию возвращает пять результатов, каждый фрагмент обрезан до 500 символов, а весь структурированный ответ укладывается в 12 000 символов и 24 000 байт. `read_page` читает страницу по адресу из выдачи, принимает смещение и при заданном `query` добавляет до трех подходящих отрывков. Те же результаты отдают HTTP API с форматами JSON, CSV и RSS и веб-интерфейс на локальном адресе.
Для кого. Разработчикам, которые держат у себя поиск для Claude Code, Codex или Cursor и хотят ограничить, сколько текста из выдачи попадает в контекст модели.
Подходит, если
- Агент собирает документацию по библиотеке и читает только нужные страницы из выдачи.
- Исследовательский прогон упирается в размер контекста, и ответ поиска приходится резать по символам.
- Поиск должен работать на своей машине, без регистрации у платных поисковых API.
- Запросы идут на японском: у проекта есть отдельные замеры качества для японской выдачи.
Не подходит, если
- Запросы нельзя отправлять внешним поисковым движкам: сервер передает их выбранным провайдерам.
- Выдача должна идти из Google: его движки и интеграции из проекта удалены.
- Страницы читают через исходящий прокси: `read_page` в этом случае отказывает и ждет прямого соединения.
Пример запроса к агенту
Найди три источника про рантайм Tokio, покажи ссылки и прочитай страницу документации, отметив, обрезан ли текст.MCP
- Транспорт
- stdio
- Авторизация
- не нужна
Ограничения
Выдача зависит от внешних движков: часть адаптеров, например Yahoo! JAPAN и Mojeek HTML, по умолчанию выключена до проверки разрешений. `read_page` берет только адреса, которые вернул поиск в этой же сессии. Лимиты ответа считаются в символах и байтах, токенные бюджеты в планах. Лицензия AGPL-3.0-or-later обязывает открыть исходники измененной версии, если запускать ее как сетевой сервис. Опубликованный релиз v0.26.0 слушает порт 8888, а свежая сборка из репозитория — 29483, поэтому порт в командах лучше задавать явно.
Как отключить. Удалите запись `rustxng` из конфигурации MCP-клиента и остановите процесс сервера. Бинарный файл лежит в каталоге, выбранном при установке, например `~/.local/bin/rustxng`.
Частые вопросы
Как подключить RustXNG к Claude Code?
Зарегистрируйте команду `rustxng mcp` как stdio MCP-сервер в клиенте. После перезапуска агенту станут доступны инструменты `search` и `read_page`.
Чем `search` отличается от `read_page`?
`search` возвращает ранжированные фрагменты со ссылками, а `read_page` загружает текст страницы по адресу из выдачи и принимает смещение, чтобы читать длинный документ по частям.
Как ограничить объем ответа?
В HTTP API задайте `max_results` от 1 до 200 и фильтры `include_domains` или `exclude_domains`. В MCP по умолчанию пять результатов, а поля `truncated` и `next_offset` показывают, что есть продолжение.
Нужны ли API-ключи?
Большинству движков ключи не нужны. Платные провайдеры с авторизацией подключаются отдельно, со своими ключами и тарифами.
Куда уходят поисковые запросы?
Тем внешним движкам, которые выбраны для запроса. Сам сервер работает локально, а `/healthz` проверяет только процесс, а не доступность движков.
Обсуждение
Вопросов и отзывов пока нет.
Похожие
MCP-серверыMCP-сервер для приватного веб-поиска через ваш инстанс SearXNG: поиск с пагинацией и фильтрами, чтение страниц и PDF
Веб-поиск без API-ключей для агентов: Rust-сервис по HTTP или MCP сводит выдачу DuckDuckGo, Brave и Yahoo в один JSON.
MCP-сервер веб-поиска и обхода: SearXNG плюс You.com и чистый Markdown со страниц, сайтов и закрытых разделов
Локальный веб-поиск для агента без ключей API: результаты ранжируются на вашей машине, в ответ идут только нужные абзацы
MCP-сервер ищет веб-источники через Grok, сохраняет ссылки и извлекает содержимое страниц с учетом доступных провайдеров.
SearXNG AI Kit дает агентам веб-поиск по 180 с лишним движкам через CLI и MCP-сервер, без ключа поискового API
Сравнение с похожими
Карточки с тем же главным запросом: чем они отличаются.
| Инструмент | Официальный | Авторизация | Звезды репозитория | Главное отличие |
|---|---|---|---|---|
| RustXNG (эта карточка) | нет | не нужна | 961 | |
| SearXNG MCP Server | нет | не нужна | 1 358 | подключает агента к уже работающему экземпляру SearXNG; RustXNG сам собирает выдачу и содержит MCP-режим |
| DuckDuckGo Search MCP Server | нет | не нужна | 1 577 | ходит в один поисковый сервис, DuckDuckGo; RustXNG объединяет выдачу нескольких движков |
Коротко о README
Проект переписывает идею SearXNG на Rust и поставляется бинарными релизами, образом Docker и сборкой из исходников. В репозитории лежат замеры по набору SealQA, отдельные проверки японских запросов и руководство по установке, написанное для самого агента.