ihor-sokoliuk/mcp-searxng

Приватный веб-поиск для AI-ассистентов через SearXNG — поддерживает Claude, Cursor и любой MCP-клиент

MCP⭐ 1 250TypeScriptпоследний релиз: v2.3.0
Открыть на GitHub ↗Сайт проекта ↗

Что это за инструмент

Это MCP-сервер на Node.js, который подключает AI-ассистентов к экземплярам SearXNG для выполнения приватных веб-поисков.

Зачем нужен

Инструмент решает задачу предоставления моделям доступа к актуальной информации из интернета без передачи данных сторонним коммерческим поисковикам. Он полезен для создания автономных AI-агентов, которым требуется безопасный и бесплатный доступ к поиску с возможностью самохостинга.

Что можно реализовать

  • Интеграция веб-поиска в Claude Desktop или Cursor для ответов на вопросы с учетом свежих данных
  • Построение приватных RAG-систем, где индексация и поиск происходят через собственный SearXNG
  • Автоматизированный сбор информации с фильтрацией по времени, языку и релевантности
  • Чтение и извлечение контента из веб-страниц с поддержкой пагинации и выделения секций

Ключевые возможности

  • Полная приватность и самохостинг: данные не покидают вашу инфраструктуру
  • Отсутствие необходимости в API-ключах и платных подписках
  • Поддержка отказоустойчивости через список реплик SearXNG с автоматическим фолбэком
  • Гибкая фильтрация результатов по времени, языку, safe search и минимальному баллу релевантности
  • Возврат структурированных данных (JSON) или готового текста, включая ответы и метаданные SearXNG

👤 Кому подойдёт: разработчики, инженеры по AI, специалисты по безопасности данных, исследователи, использующие MCP-клиенты (Claude, Cursor)

Релизы

v2.2.0minor
🕐 11 дн назад · релиз на GitHub ↗

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

  • Added: Добавлен опциональный режим OAuth для MCP с проверкой токенов и обнаружением ресурсов.
  • Fixed: Заблокирован доступ к приватным IPv4-адресам через инкапсуляцию в IPv6 и неглобальные IPv6-URL.
  • Fixed: Исправлена обработка некорректных метаданных, предотвращающая искажение результатов поиска.
  • Fixed: Обновлена уязвимая зависимость парсера запросов.
  • Обновлены зависимости среды выполнения и CI-действия, требование Node.js 22+ сохранено.
v2.1.0patch
🕐 26 дн назад · релиз на GitHub ↗

Исправлена валидация временных диапазонов для явных движков и улучшены тесты контрактов MCP.

  • Fixed: Добавлена надежная проверка поддержки временных диапазонов для явно выбранных поисковых движков; запросы к неподдерживаемым движкам теперь возвращают понятную ошибку вместо пустых результатов.
  • Fixed: Интеграционные тесты контрактов MCP переписаны для проверки структуры каталогов инструментов, что упрощает ревью изменений без хрупких сравнений полных определений.
  • Fixed: Тесты релизов теперь валидируют семантические версии, поддерживаемые версии Node.js и документацию на основе авторитетных метаданных, а не фиксированных текстов.
v2.0.0majorbreaking
🕐 1 мес назад · релиз на GitHub ↗

Версия 2.0.0: переход на Node.js 22, поддержка современного протокола MCP 2026-07-28 и усиление безопасности.

  • Breaking: Требование Node.js 22+: поддержка Node.js 20 прекращена, необходимо обновление среды выполнения.
  • Breaking: Пакет стал исполняемым только через CLI: удален программный интерфейс, прямые импорты больше не поддерживаются.
  • Breaking: Новые правила для HTTP-запросов: обязательны заголовки Content-Type и MCP-Protocol-Version, добавлены жесткие лимиты.
  • Deprecated: Удалены уведомления об ошибках логирования после подключения, так как современный протокол их больше не использует.
  • Added: Добавлена поддержка современного протокола MCP версии 2026-07-28 для HTTP и STDIO транспортов.
  • Fixed: Внедрено глобальное ограничение частоты вызовов инструментов для всех транспортов для защиты от перегрузки.
v1.15.0minorbreaking
🕐 1 мес назад · релиз на GitHub ↗

Добавлен параметр result_detail для выбора формата ответа поиска: компактный (3 строки) или полный (с метаданными).

  • Added: В searxng_web_search добавлен параметр result_detail с режимами compact и full.
  • Added: Режим compact возвращает только заголовок, URL и описание, экономя токены.
  • Added: Режим full сохраняет все метаданные SearXNG и исследовательские сигналы.
  • Breaking: Парсеры, зависящие от метаданных, должны явно запрашивать result_detail=full.
v1.14.1patch
🕐 1 мес назад · релиз на GitHub ↗

Релиз v1.14.1: усиление тестов HTTP-транспорта, обновление зависимостей и исправление уязвимости в brace-expansion.

  • Fixed: Улучшено покрытие тестов HTTP-транспорта: теперь проверяется реальное взаимодействие через loopback TCP.
  • Обновлены зависимости и базовый образ Docker: Node 24 LTS, Hono 4.13.0, ip-address 10.4.0, fast-uri 3.1.5.
  • Fixed: Исправлена уязвимость в dev-зависимости brace-expansion (ESLint/minimatch) до версии 5.0.9.
v1.14.0minor
🕐 1 мес назад · релиз на GitHub ↗

Добавлена настройка формата ответа SearXNG и безсостоянный режим Streamable HTTP для серверных развертываний.

  • Added: Появилась возможность задавать формат ответа SearXNG по умолчанию через переменную SEARXNG_DEFAULT_RESPONSE_FORMAT (text или json).
  • Added: Реализован безсостоянный режим Streamable HTTP (MCP_HTTP_STATELESS=true) для изоляции запросов в серверных и горизонтально масштабируемых средах.
  • Added: В безсостоянном режиме добавлены ограничения на количество одновременных запросов, время жизни запроса и усиленная проверка авторизации.
  • Added: Из схемы инструмента удалена жестко заданная аннотация default: text, что позволяет клиентам корректно использовать операторские настройки по умолчанию.
v1.11.0minor
🕐 2 мес назад · релиз на GitHub ↗

Внедрено кэширование поисковых запросов, поддержка Basic Auth в URL для каждого инстанса SearXNG и настройка User-Agent, исправлены ошибки аутентификации.

  • Added: Добавлено in-memory кэширование результатов поиска с настраиваемым TTL и лимитом записей.
  • Added: Появилась возможность задавать учетные данные Basic Auth непосредственно в URL каждого инстанса SearXNG.
  • Added: Введена переменная SEARCH_USER_AGENT для управления заголовком User-Agent в запросах к SearXNG.
  • Fixed: Исправлено применение Basic Auth и пользовательских CA-сертификатов на всех эндпоинтах, включая /config и /autocompleter.
  • Fixed: Улучшено сообщение об ошибке при превышении лимита размера контента в web_url_read.
  • Added: В ресурсе config теперь скрываются учетные данные из URL, чтобы избежать утечки секретов.
v1.10.1patch
🕐 2 мес назад · релиз на GitHub ↗

Исправлено применение USER_AGENT для всех запросов и усилен SSRF-фильтр, блокирующий CGNAT и спецдиапазоны IPv4.

  • Fixed: Заголовок USER_AGENT теперь корректно отправляется при запросах к /config и получению подсказок, что устраняет проблемы с блокировками на стороне SearXNG.
  • Fixed: Усилен SSRF-фильтр: теперь блокируются диапазоны CGNAT, тестовые сети, мультикаст и другие специальные адреса IPv4 согласно RFC 6890.