MetaSearchMCP

Метапоиск для агентов: один MCP-сервер и HTTP API собирают результаты многих поисковиков в единый JSON с дедупликацией.

  • 58 ★ репозитория
  • Последний коммит
  • MIT
MCP-сервер

Расширенный доступ

Почему такой уровень

  • Запросы отправляются внешним поисковым сервисам, а прямой скрейпер Google может нарушать правила поисковика
Все причины и проверки

gefsikatsinelou/metasearchmcp

Установка

Ручная установка

python scripts/install.py

Выполняют в клонированном репозитории. MCP-сервер по stdio запускается командой `metasearchmcp-mcp`.

Доступ и проверки

Как мы проверяем

Расширенный доступИнструмент запускает код или ходит в сеть, а внешние данные только читает.

  • Запросы отправляются внешним поисковым сервисам, а прямой скрейпер Google может нарушать правила поисковика

Это чужой код. Посмотрите файлы в репозитории перед установкой.

Что делает

MetaSearchMCP опрашивает несколько поисковых провайдеров параллельно, приводит ответы к одной схеме JSON и убирает дубли. Он отдает результаты по HTTP с документацией OpenAPI и как MCP-сервер по stdio для Claude Desktop, Cline, Continue и похожих клиентов. Агенту нужны предсказуемые поля, терпимость к частичным сбоям и сведения о каждом провайдере, а не страницы для браузера. Инструменты MCP: `search_web`, `search_google`, `search_academic`, `search_github`, `search_code`, `search_news`, `search_social`, `search_images`, `search_videos`, `search_finance`, `search_bio`, `compare_engines`, `list_providers` и `provider_health`. Провайдеров выбирают по именам или по тегам `web`, `academic`, `code`, `google`, а `max_total_results` ограничивает размер ответа. Для Google есть встроенный прямой скрейпер и платные API serpbase.dev и serper.dev.

Для кого. Тем, кто строит исследовательских агентов и конвейеры на LLM и хочет единый источник поиска по вебу, науке, коду и новостям.

Подходит, если

  • Агент сравнивает ответы нескольких поисковиков по одному запросу и ищет расхождения
  • В исследовании нужны научные статьи и репозитории, а общий веб-поиск мешает
  • Один провайдер упал по таймауту, но ответ должен прийти из остальных
  • Контекст агента ограничен, и размер выдачи надо удержать флагом `max_total_results`

Не подходит, если

  • Нужен гарантированно стабильный поиск в Google: прямой скрейпер работает по принципу наилучших усилий и может быть заблокирован
  • Запросы нельзя отправлять сторонним поисковым сервисам
  • Нужна готовая облачная служба без собственного запуска Python

Пример запроса к агенту

Найди по этому вопросу научные статьи и репозитории, объедини результаты без дублей и покажи, какие провайдеры ответили.

MCP

Транспорт
stdio, http
Авторизация
ключ необязателен

Переменные окружения

SERPER_API_KEY секрет
Ключ serper.dev для поиска Google, необязателен
ALLOW_UNSTABLE_PROVIDERS
Включает нестабильные провайдеры, включая прямой скрейпер Google

Ограничения

Нужен Python и собственный запуск: установщик `python scripts/install.py`, команда `metasearchmcp-mcp` для MCP по stdio или контейнер Docker для HTTP. Часть провайдеров требует ключей API (`SERPBASE_API_KEY`, `SERPER_API_KEY`, `BRAVE_API_KEY` и другие) и ограничена квотами. Прямой скрейпер Google включается через `ALLOW_UNSTABLE_PROVIDERS=true`, работает по принципу наилучших усилий и может блокироваться с адресов дата-центров. Автоматизированная выгрузка выдачи поисковиков способна нарушать их правила, решение остается за вами. Запросы уходят выбранным внешним сервисам.

Как отключить. Удалите запись `MetaSearchMCP` из настроек MCP-клиента и остановите HTTP-сервер или контейнер. Файл `.env` с ключами удалите или очистите вручную.

Частые вопросы

Как подключить к Claude Desktop?

Добавьте в конфигурацию сервер `MetaSearchMCP` с командой `metasearchmcp-mcp` и нужными ключами в `env`, например `SERPER_API_KEY`.

Как сузить поиск?

Параметр `tags` в `search_web` ограничивает категории, например `academic` или `code`. С `tag_match="all"` провайдер должен подходить под все теги.

Что делает provider_health?

Проверяет настройку провайдеров, а отдельная живая проверка отправляет по минимальному запросу каждому и показывает, кто реально отвечает.

Как запустить без MCP?

Командой `metasearchmcp` или `python -m metasearchmcp.server`, а в Docker выполните `docker build -t metasearchmcp .` и запуск с `--env-file .env`.

Для чего нужен ALLOW_UNSTABLE_PROVIDERS?

Включает нестабильные провайдеры, включая прямой скрейпер Google. Без него поиск Google идет через платные API, если ключи заданы.

Обсуждение

Вопросов и отзывов пока нет.

MCP-серверы

MCP-сервер веб-поиска, который сразу отдает агенту текст найденных страниц: ответы Stack Overflow, обсуждения GitHub, статьи arXiv

MCP-серверРасширенный доступ404Звезды репозитория

MCP-сервер объединенного поиска: один интерфейс к Tavily, Brave, Kagi, Exa, Linkup, Firecrawl и поиску по GitHub

MCP-серверРасширенный доступ358Звезды репозитория
Официальный

Официальный MCP-сервер SerpApi: агент получает выдачу Google, Bing, YouTube, Amazon и других поисковиков в JSON или Markdown

MCP-серверРасширенный доступ184Звезды репозитория

Локальный MCP-сервер без ключей API: поиск по нескольким системам, загрузка страниц и чтение документов для LLM.

MCP-серверРасширенный доступ179Звезды репозитория
Официальный

Официальный MCP Search1API: поиск в вебе, новости, загрузка страниц, карты сайтов и тренды с OAuth или ключом API.

MCP-серверРасширенный доступ175Звезды репозитория

MCP-сервер для веб-поиска в реальном времени: общий и тематический поиск, пакетные запросы и извлечение содержимого страниц

MCP-серверРасширенный доступ2,1 тыс.Звезды репозитория

Коротко о README

Проект задуман как поиск для машин, а не для людей: стабильные имена полей, изоляция таймаутов провайдеров и метаданные выполнения каждого запроса.

Бейдж для README

Сообщить о проблеме