search2ai MCP
Свой шлюз веб-поиска для агентов: MCP-сервер, HTTP API и библиотека с переключением между Tavily, Brave, Exa, SearXNG и другими
- 1 288 ★ репозитория
- Последний коммит
- MIT
Расширенный доступ
Почему такой уровень
- Агент отправляет поисковые запросы и адреса страниц сторонним сервисам и читает страницы из сети
- Ключи провайдеров лежат в `env` клиента или в `.env`, а открытый HTTP-сервис без `AUTH_KEYS` доступен всем, кто достучится до порта
Установка
- Работает в
В терминале, через SkillFoxx CLI
npx skillfoxx add mcp/search2aiОпределит агенты на машине, покажет уровень доступа и зафиксирует версию.
Другие способы установки
Доступ и проверки
Как мы проверяемРасширенный доступИнструмент запускает код или ходит в сеть, а внешние данные только читает.
- Агент отправляет поисковые запросы и адреса страниц сторонним сервисам и читает страницы из сети
- Ключи провайдеров лежат в `env` клиента или в `.env`, а открытый HTTP-сервис без `AUTH_KEYS` доступен всем, кто достучится до порта
Это чужой код. Посмотрите файлы в репозитории перед установкой.
Что делает
search2ai дает агенту три операции: `search`, `news` и `crawl` (чтение страницы). За ними стоят поисковые сервисы, которые вы подключаете сами: Search1API, Tavily, Brave, Exa, Serper, SerpAPI, Google, SearXNG, Jina и Firecrawl. Ответ всегда приходит в одном формате: заголовок, адрес, фрагмент и необязательные поля вроде даты и содержимого. Автоматически ни один провайдер не включается, вы перечисляете только нужные. Когда провайдер упирается в лимит, отвечает слишком долго или падает, шлюз берет следующий из вашей цепочки и сообщает, какой сервис ответил и почему другие не справились. Для поиска, новостей и чтения страниц цепочки настраиваются отдельно, есть кэш в памяти и в Cloudflare KV. Подключить шлюз можно тремя способами. Локальный MCP-сервер запускается командой `npx -y search2ai mcp` и работает по stdio. HTTP-сервис `npx -y search2ai serve` слушает порт 3014 и отдает `/v1/search`, `/v1/news`, `/v1/crawl` и удаленный MCP на `/mcp`. Библиотека `search2ai` для TypeScript работает внутри вашего процесса. Есть и необязательный чат-прокси: он добавляет веб-поиск моделям с вызовом инструментов.
Для кого. Для разработчиков, которые хотят дать Cursor, Claude Desktop или своему приложению поиск с запасными провайдерами, чтобы не зависеть от одного сервиса.
Подходит, если
- Агент ходит в поиск через одного провайдера, и лимиты или сбои регулярно обрывают задачу
- Нужен единый формат ответа поиска, новостей и чтения страниц от нескольких сервисов
- Вы держите собственный SearXNG и хотите ставить его первым в цепочке, а платные сервисы оставить на запас
- Приложение уже говорит на API Exa, Tavily, Search1API, SearXNG или Firecrawl, и его хочется перевести на шлюз с минимальными правками
Не подходит, если
- Вам нужен поиск без собственных ключей: шлюз сам ничего не ищет, и без настроенного провайдера запрос поиска возвращает ошибку 503
- Среда не тянет Node.js 22.18 или новее, на которую рассчитан пакет
- Нужны строгие фильтры по стране, языку, домену и дате у каждого запроса: не все провайдеры их поддерживают, например, Parallel без ключа вернет предупреждение `unsupported`
- Задача покрывается одним официальным MCP-сервером поисковика, и запасные провайдеры не нужны
Пример запроса к агенту
Найди через search2ai свежие новости о релизе Hono и прочитай первую страницу целикомMCP
- Транспорт
- stdio, http
- Авторизация
- API-ключ
Переменные окружения
SEARCH1API_KEYобязательная, секрет- Ключ Search1API. Нужен ключ хотя бы одного провайдера, при желании вместо него другой.
TAVILY_KEYсекрет- Ключ Tavily для поиска, новостей и чтения страниц.
BRAVE_KEYсекрет- Ключ Brave для поиска и новостей.
SEARXNG_BASE_URL- Адрес вашего SearXNG с включенным выводом JSON.
AUTH_KEYSсекрет- Ключи доступа HTTP-сервиса: клиент присылает их в заголовке `Authorization: Bearer`.
Ограничения
- Нужен Node.js 22.18 или новее и ключ хотя бы одного провайдера, который умеет нужную операцию.
- Возможности зависят от провайдера: Brave, Serper и SerpAPI не читают страницы, у Google новости идут обычным поиском с сортировкой по дате, а Jina и Parallel включаются только явно.
- Запросы и содержимое страниц уходят выбранным сторонним сервисам.
- С заданным `AUTH_KEYS` HTTP-сервис требует заголовок `Authorization: Bearer`. Без этой переменной сервис открыт, и порт нужно закрыть самому.
- Рядом с проектом развивается платный сервис Search1API того же автора, примеры запуска построены на нем.
Как отключить. Уберите запись `search2ai` из `mcpServers` в конфигурации клиента. HTTP-сервис остановите (Ctrl+C или остановкой контейнера), npm-пакет можно удалить командой `npm rm search2ai`.
Частые вопросы
Как подключить search2ai к Cursor или Claude Desktop?
Добавьте сервер в `mcpServers` с командой `npx` и аргументами `-y search2ai mcp`, а в `env` положите ключ провайдера. Клиент запустит шлюз локально и получит инструменты `search`, `news` и `crawl` по stdio.
Какие поисковые сервисы поддерживает search2ai?
Search1API, Tavily, Brave, Exa, Serper, SerpAPI, Google, SearXNG, Jina и Firecrawl, а также Parallel без ключа, если его явно включить в цепочку. Автоматически провайдеры не подключаются.
Что происходит, если провайдер упал или уперся в лимит?
Шлюз пробует следующего провайдера из цепочки операции и возвращает в ответе, кто ответил и почему остальные не справились.
Нужен ли ключ модели для работы?
Нет, шлюз вызывает только поисковые сервисы. Ключ модели нужен лишь необязательному чат-прокси, который обращается к вашей модели.
Чем search2ai отличается от MCP-сервера одного поисковика?
Один официальный сервер говорит с одним сервисом. search2ai объединяет несколько сервисов под общим форматом ответа и переключается между ними при сбое.
Обсуждение
Вопросов и отзывов пока нет.
Похожие
MCP-серверыMCP-сервер объединенного поиска: один интерфейс к Tavily, Brave, Kagi, Exa, Linkup, Firecrawl и поиску по GitHub
Локальный веб-поиск для агентов: ищет, читает страницы и отдает сжатые фрагменты с источниками, экономя токены контекста
SearXNG AI Kit дает агентам веб-поиск по 180 с лишним движкам через CLI и MCP-сервер, без ключа поискового API
Официальный MCP Search1API: поиск в вебе, новости, загрузка страниц, карты сайтов и тренды с OAuth или ключом API.
MCP-сервер веб-поиска и обхода: SearXNG плюс You.com и чистый Markdown со страниц, сайтов и закрытых разделов
Agent Search MCP ищет в вебе по-английски и по-китайски без ключа API и сохраняет доказательства из разных источников и сбои.
Сравнение с похожими
Карточки с тем же главным запросом: чем они отличаются.
| Инструмент | Официальный | Авторизация | Звезды репозитория | Главное отличие |
|---|---|---|---|---|
| search2ai (эта карточка) | нет | API-ключ | 1 288 | |
| Tavily MCP Server | да | API-ключ | 2 488 | официальный сервер одного сервиса, а здесь несколько провайдеров с переключением |
| SearXNG MCP Server | нет | не нужна | 1 358 | поиск только через ваш SearXNG, без запасных платных сервисов |
| Brave Search MCP Server | да | API-ключ | 1 577 | официальный сервер Brave для одного поисковика |
Коротко о README
README сразу дает быстрый старт: файл `.env` с ключом, запуск HTTP-сервиса и пример запроса через `curl`. Затем таблица способов подключения для клиентов, приложений и чат-интерфейсов, таблица провайдеров с их возможностями и переменными, API шлюза и совместимые эндпоинты для клиентов Exa, Tavily, Search1API, SearXNG и Firecrawl. В конце описаны деплой, чат-прокси и обновление.