Вышла версия v2.3.0.
ihor-sokoliuk/mcp-searxng
Приватный веб-поиск для AI-ассистентов через SearXNG — поддерживает Claude, Cursor и любой MCP-клиент
Что это за инструмент
Это MCP-сервер на Node.js, который подключает AI-ассистентов к экземплярам SearXNG для выполнения приватных веб-поисков.
Зачем нужен
Инструмент решает задачу предоставления моделям доступа к актуальной информации из интернета без передачи данных сторонним коммерческим поисковикам. Он полезен для создания автономных AI-агентов, которым требуется безопасный и бесплатный доступ к поиску с возможностью самохостинга.
Что можно реализовать
- Интеграция веб-поиска в Claude Desktop или Cursor для ответов на вопросы с учетом свежих данных
- Построение приватных RAG-систем, где индексация и поиск происходят через собственный SearXNG
- Автоматизированный сбор информации с фильтрацией по времени, языку и релевантности
- Чтение и извлечение контента из веб-страниц с поддержкой пагинации и выделения секций
Ключевые возможности
- Полная приватность и самохостинг: данные не покидают вашу инфраструктуру
- Отсутствие необходимости в API-ключах и платных подписках
- Поддержка отказоустойчивости через список реплик SearXNG с автоматическим фолбэком
- Гибкая фильтрация результатов по времени, языку, safe search и минимальному баллу релевантности
- Возврат структурированных данных (JSON) или готового текста, включая ответы и метаданные SearXNG
👤 Кому подойдёт: разработчики, инженеры по AI, специалисты по безопасности данных, исследователи, использующие MCP-клиенты (Claude, Cursor)
Релизы
Добавлена поддержка OAuth для MCP, устранены уязвимости обхода IPv6 и улучшена устойчивость парсинга метаданных.
- Added: Добавлен опциональный режим OAuth для MCP с проверкой токенов и обнаружением ресурсов.
- Fixed: Заблокирован доступ к приватным IPv4-адресам через инкапсуляцию в IPv6 и неглобальные IPv6-URL.
- Fixed: Исправлена обработка некорректных метаданных, предотвращающая искажение результатов поиска.
- Fixed: Обновлена уязвимая зависимость парсера запросов.
- Обновлены зависимости среды выполнения и CI-действия, требование Node.js 22+ сохранено.
Исправлена валидация временных диапазонов для явных движков и улучшены тесты контрактов MCP.
- Fixed: Добавлена надежная проверка поддержки временных диапазонов для явно выбранных поисковых движков; запросы к неподдерживаемым движкам теперь возвращают понятную ошибку вместо пустых результатов.
- Fixed: Интеграционные тесты контрактов MCP переписаны для проверки структуры каталогов инструментов, что упрощает ревью изменений без хрупких сравнений полных определений.
- Fixed: Тесты релизов теперь валидируют семантические версии, поддерживаемые версии Node.js и документацию на основе авторитетных метаданных, а не фиксированных текстов.
Версия 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.16.0.
Добавлен параметр result_detail для выбора формата ответа поиска: компактный (3 строки) или полный (с метаданными).
- Added: В searxng_web_search добавлен параметр result_detail с режимами compact и full.
- Added: Режим compact возвращает только заголовок, URL и описание, экономя токены.
- Added: Режим full сохраняет все метаданные SearXNG и исследовательские сигналы.
- Breaking: Парсеры, зависящие от метаданных, должны явно запрашивать result_detail=full.
Релиз 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.
Добавлена настройка формата ответа SearXNG и безсостоянный режим Streamable HTTP для серверных развертываний.
- Added: Появилась возможность задавать формат ответа SearXNG по умолчанию через переменную SEARXNG_DEFAULT_RESPONSE_FORMAT (text или json).
- Added: Реализован безсостоянный режим Streamable HTTP (MCP_HTTP_STATELESS=true) для изоляции запросов в серверных и горизонтально масштабируемых средах.
- Added: В безсостоянном режиме добавлены ограничения на количество одновременных запросов, время жизни запроса и усиленная проверка авторизации.
- Added: Из схемы инструмента удалена жестко заданная аннотация default: text, что позволяет клиентам корректно использовать операторские настройки по умолчанию.
Внедрено кэширование поисковых запросов, поддержка 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, чтобы избежать утечки секретов.
Исправлено применение USER_AGENT для всех запросов и усилен SSRF-фильтр, блокирующий CGNAT и спецдиапазоны IPv4.
- Fixed: Заголовок USER_AGENT теперь корректно отправляется при запросах к /config и получению подсказок, что устраняет проблемы с блокировками на стороне SearXNG.
- Fixed: Усилен SSRF-фильтр: теперь блокируются диапазоны CGNAT, тестовые сети, мультикаст и другие специальные адреса IPv4 согласно RFC 6890.