MetaSearchMCP
Метапоиск для агентов: один MCP-сервер и HTTP API собирают результаты многих поисковиков в единый JSON с дедупликацией.
- 58 ★ репозитория
- Последний коммит
- MIT
Расширенный доступ
Почему такой уровень
- Запросы отправляются внешним поисковым сервисам, а прямой скрейпер Google может нарушать правила поисковика
Установка
- Работает в
Ручная установка
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-сервер объединенного поиска: один интерфейс к Tavily, Brave, Kagi, Exa, Linkup, Firecrawl и поиску по GitHub
Официальный MCP-сервер SerpApi: агент получает выдачу Google, Bing, YouTube, Amazon и других поисковиков в JSON или Markdown
Локальный MCP-сервер без ключей API: поиск по нескольким системам, загрузка страниц и чтение документов для LLM.
Официальный MCP Search1API: поиск в вебе, новости, загрузка страниц, карты сайтов и тренды с OAuth или ключом API.
MCP-сервер для веб-поиска в реальном времени: общий и тематический поиск, пакетные запросы и извлечение содержимого страниц
Коротко о README
Проект задуман как поиск для машин, а не для людей: стабильные имена полей, изоляция таймаутов провайдеров и метаданные выполнения каждого запроса.