SoSearch MCP
Веб-поиск без API-ключей для агентов: Rust-сервис по HTTP или MCP сводит выдачу DuckDuckGo, Brave и Yahoo в один JSON.
- 135 ★ репозитория
- Последний коммит
Широкий доступ
Почему такой уровень
- Выдачу поисковиков собирают с подменой TLS-отпечатка браузера: это может нарушать их условия и привести к блокировке IP.
- Поисковые запросы агента уходят напрямую в DuckDuckGo, Yahoo и Brave.
Установка
- Работает в
Ручная установка
./SoSearch --mcpЗапуск MCP-режима готового бинарного файла из GitHub Releases или после сборки.
Доступ и проверки
Как мы проверяемШирокий доступИнструмент может менять данные, выполнять команды или работать с секретами.
- Выдачу поисковиков собирают с подменой TLS-отпечатка браузера: это может нарушать их условия и привести к блокировке IP.
- Поисковые запросы агента уходят напрямую в DuckDuckGo, Yahoo и Brave.
Это чужой код. Посмотрите файлы в репозитории перед установкой.
Что делает
SoSearch — сервис на Rust, который повторяет API вроде SerpAPI и Tavily без платных ключей. Запрос параллельно уходит в DuckDuckGo, Yahoo (на базе Bing) и Brave Search, HTML-выдача разбирается и приводится к единому массиву `SearchResult` в JSON. Чтобы реже получать блокировки, клиент `rquest` подменяет TLS-отпечаток под Chrome 124. Запуск без флагов поднимает HTTP-сервер (`/search?q=...`, порт 10080), запуск с `--mcp` — MCP-сервер по stdio с инструментом `web_search`. В README приведены конфигурации для Claude Desktop и Gemini CLI, для Windows отдельный пример.
Для кого. Владельцам локальных агентов и самохостинг-стендов, которым нужен веб-поиск без регистрации в платных поисковых API.
Подходит, если
- Локальному агенту нужен веб-поиск, а платить за ключ SerpAPI или Tavily не хочется.
- Один запрос сверяют сразу по трем независимым выдачам: DuckDuckGo, Yahoo и Brave.
- Сервис поиска поднимают в Docker внутри своей сети и обращаются к нему по HTTP.
- Claude Desktop получает поиск через `--mcp`, без облачных посредников.
Не подходит, если
- Проект коммерческий: лицензия CC BY-NC 4.0 запрещает коммерческое использование.
- Нужна выдача с гарантиями: парсинг HTML ломается при смене разметки поисковиков.
- Правила поисковых систем в вашем сценарии запрещают автоматические запросы.
Пример запроса к агенту
Найди в вебе три свежих обзора Rust 1.90 и дай ссылки.MCP
- Транспорт
- stdio
- Авторизация
- не нужна
Ограничения
Лицензия CC BY-NC 4.0 разрешает только некоммерческое использование. SoSearch разбирает HTML выдачи DuckDuckGo, Yahoo и Brave и маскируется под Chrome, поэтому смена разметки или блокировка по IP ломает результаты, а автоматические запросы могут нарушать условия поисковиков. Пакетов в реестрах нет: готовые бинарные файлы лежат в GitHub Releases, либо сборка командой `cargo run --release` (на Windows нужны Rust, CMake, NASM и LLVM/Clang). Через MCP доступен один инструмент `web_search`, страницы целиком он не загружает.
Как отключить. Удалите запись `sosearch` из конфигурации MCP-клиента и остановите HTTP-процесс или контейнер, если запускали его.
Частые вопросы
Как подключить SoSearch к Claude Desktop?
Добавьте в `claude_desktop_config.json` сервер `sosearch` с `command`, указывающей на бинарный файл, и `args` `["--mcp"]`. На Windows в пути используйте двойные обратные слеши.
Какие поисковики опрашивает SoSearch?
DuckDuckGo, Yahoo на базе Bing и Brave Search. Результаты приводятся к одному формату `SearchResult`.
Как проверить HTTP-режим?
Запустите `cargo run --release` и выполните `curl "http://localhost:10080/search?q=hello+world"`.
Нужны ли API-ключи?
Нет. Проект запрашивает поисковики напрямую и ключей не требует.
Можно ли запустить SoSearch в Docker?
Да: в репозитории есть `Dockerfile` и `docker-compose.yml`, а образы публикует сценарий `docker.yml`. Для быстрой проверки подойдет `cargo run --release`.
Обсуждение
Вопросов и отзывов пока нет.
Похожие
MCP-серверыВеб-поиск через DuckDuckGo и чтение страниц для агента без API-ключей, с ограничением частоты запросов
Локальный MCP-сервер без ключей API: поиск по нескольким системам, загрузка страниц и чтение документов для LLM.
Локальный метапоиск на Rust по мотивам SearXNG: агент получает выдачу в JSON и читает страницы с жестким лимитом на размер ответа
MCP-сервер веб-поиска, который сразу отдает агенту текст найденных страниц: ответы Stack Overflow, обсуждения GitHub, статьи arXiv
Локальный веб-поиск для агента без ключей API: результаты ранжируются на вашей машине, в ответ идут только нужные абзацы
MCP-сервер с поиском DuckDuckGo и извлечением текста страниц: можно передать сразу несколько адресов
Сравнение с похожими
Карточки с тем же главным запросом: чем они отличаются.
| Инструмент | Официальный | Авторизация | Звезды репозитория | Главное отличие |
|---|---|---|---|---|
| SoSearch (эта карточка) | нет | не нужна | 135 | |
| Brave Search API Skills | да | 196 | учит агента вызывать официальный Search API Brave по ключу; SoSearch разбирает HTML трех движков без ключей | |
| Tavily Agent Skills | да | 490 | работает через платформу Tavily и ее ключ; SoSearch запускается у вас и опрашивает поисковики напрямую |
Коротко о README
README объясняет идею (быстрый поиск на `tokio`, снижение числа блокировок через TLS-имитацию, единый формат выдачи), перечисляет движки и структуру проекта, описывает режимы HTTP и MCP и дает быстрый старт для Linux, macOS и Windows. Скиллы внутри репозитория нужны для разработки самого проекта.