Чем Tavily бесит разработчиков RAG-систем
Представьте: вы собираете кастомный RAG-пайплайн для анализа рынка. Каждый запрос к API Tavily стоит денег. Каждый раз вы отправляете запрос в черный ящик и получаете результат, который нельзя контролировать. Хотите изменить логику ранжирования? Нельзя. Нужны сырые данные SERP? Нельзя. Хотите сэкономить на простых запросах? Тоже нельзя.
Проблема Tavily не в качестве поиска — он неплохой. Проблема в том, что вы теряете контроль над одним из ключевых компонентов RAG. А в 2026 году, когда гибридный поиск стал стандартом, это уже не просто неудобство, а архитектурная ошибка.
Tavily скрывает от вас два важнейших компонента: алгоритм выбора источников и логику извлечения контента. В production-системах это означает, что вы не можете оптимизировать поиск под конкретную задачу.
Что предлагает open-source альтернатива
MCP сервер для веб-поиска — это не просто еще один инструмент. Это архитектурный подход: вместо того чтобы платить за абстракцию, вы собираете поисковый пайплайн из понятных компонентов.
Вот что он умеет:
- Прямой доступ к поисковым движкам: Bing API (с 10K бесплатных запросов в месяц) и DuckDuckGo как fallback
- Сырые данные SERP: получаете не только результаты, но и полную структуру поисковой выдачи
- Кастомная фильтрация: можете отбрасывать сайты с низким доверием, сортировать по дате, фильтровать по доменам
- Веб-скрапинг с настройками: выбираете, какие элементы страницы извлекать (статьи, комментарии, таблицы)
- Локальное кэширование: результаты поиска сохраняются локально, что снижает затраты и ускоряет повторные запросы
Как это работает под капотом
Сервер реализован как стандартный MCP (Model Context Protocol) инструмент. Это значит, что он подключается к Claude Desktop, Cursor или любому другому клиенту, поддерживающему MCP.
Архитектура простая, но хитрая:
- Принимает поисковый запрос от LLM через стандартный MCP интерфейс
- Отправляет запрос в Bing API (если есть квоты) или DuckDuckGo
- Парсит результаты SERP, извлекает URL и сниппеты
- Фильтрует источники по настраиваемым правилам (можно исключить SEO-мусор)
- Загружает контент с выбранных страниц, чистит HTML от рекламы
- Возвращает структурированные данные обратно в LLM
Весь этот пайплайн работает локально на вашем сервере или даже на ноутбуке. Никаких внешних black-box компонентов.
| Функция | Tavily | MCP сервер |
|---|---|---|
| Контроль над алгоритмом | Нет | Полный |
| Стоимость (10K запросов/мес) | ~$50 | $0 |
| Доступ к сырым данным SERP | Нет | Да |
| Кастомная фильтрация | Ограниченная | Любая |
| Локальное кэширование | Нет | Да |
Когда это решение имеет смысл
Не всем нужен такой уровень контроля. Если вы делаете простой чат-бот для ответов на общие вопросы — Tavily подойдет лучше. Но есть сценарии, где кастомный поиск становится критичным:
Анализ конкурентов: нужно искать по конкретным доменам, фильтровать пресс-релизы, отслеживать упоминания брендов. Tavily не дает такой гибкости.
Академические исследования: требуется искать в научных репозиториях, arXiv, специализированных базах. Стандартный поиск Tavily здесь бесполезен.
Техническая документация: поиск по GitHub, Stack Overflow, официальной документации. Нужна точная настройка под каждый источник.
Мультиязычные проекты: когда нужно искать на разных языках с разными правилами ранжирования. Tavily предлагает базовую мультиязычность, но без тонкой настройки.
Если ваш RAG работает с узкоспециализированными источниками (как в Ragex для анализа кода), то кастомный поиск — не опция, а необходимость.
Интеграция с существующими системами
Самое приятное: этот MCP сервер не требует переписывания всей системы. Он работает как drop-in замена для Tavily в большинстве случаев.
Вот как выглядит минимальная конфигурация для Claude Desktop:
{
"mcpServers": {
"web-search": {
"command": "npx",
"args": ["@modelcontextprotocol/server-web-search"],
"env": {
"BING_API_KEY": "ваш_ключ",
"CACHE_DIR": "./cache"
}
}
}
}После этого Claude получает доступ к инструменту web_search, который можно вызывать прямо из диалога. Никаких изменений в коде агента не требуется.
Для более сложных сценариев можно использовать PlexMCP как универсальный шлюз, чтобы подключать локальные модели к этому инструменту поиска.
Что пойдет не так (и как это исправить)
Конечно, не все идеально. Bing API имеет лимиты — 10K запросов в месяц звучит много, но для активного production-использования может не хватить. Решение простое: DuckDuckGo как fallback.
Еще одна проблема: скорость. Tavily оптимизирован для быстрого ответа, а ваш самодельный сервер будет медленнее. Особенно если делать полноценный скрапинг каждой страницы. Здесь помогает стратегическое кэширование и оптимизация латентности.
Третья проблема: поддержка. Tavily обновляет свои парсеры под изменения сайтов. В open-source решении за это отвечаете вы. Но здесь же и преимущество: можете адаптировать парсеры под свои конкретные источники.
Если вы не готовы тратить время на поддержку парсеров — возможно, Tavily все же лучшее решение. Но если ваши источники стабильны (официальная документация, научные статьи), то проблема отпадает.
Кому подойдет этот подход
Это инструмент для тех, кто:
- Строит production RAG-системы с бюджетными ограничениями
- Работает с нишевыми источниками, которые Tavily плохо индексирует
- Нуждается в полном контроле над pipeline поиска и извлечения
- Уже использует MCP для других задач (как в Kindly для умного поиска)
- Хочет избежать vendor lock-in и зависимости от одного провайдера
Если же вы делаете прототип или MVP, и скорость разработки важнее качества поиска — Tavily выигрывает. Но помните: миграция с Tavily на кастомное решение позже будет болезненной.
Что дальше?
MCP сервер для веб-поиска — это не конечная точка, а стартовая площадка. На его основе можно строить более сложные системы:
Гибридный поиск: комбинировать результаты Bing, DuckDuckGo и локального векторного поиска по кэшированным данным.
Семантическая фильтрация: использовать LLM для оценки релевантности страниц перед их загрузкой (экономит время и трафик).
Адаптивные стратегии: автоматически выбирать поисковый движок в зависимости от типа запроса. Технические вопросы — к DuckDuckGo, коммерческие — к Bing.
Самое интересное начинается, когда вы комбинируете этот инструмент с другими MCP серверами. Например, можно сначала найти релевантные GitHub репозитории через веб-поиск, а затем проанализировать их код через Ragex для семантического поиска по коду.
Или использовать MCP Tool Registry для автоматического выбора инструментов поиска в зависимости от контекста.
Главный урок 2026 года: black-box API для ключевых компонентов RAG — это архитектурный риск. Инструменты вроде этого MCP сервера дают контроль обратно. Цена — немного времени на настройку. Награда — система, которую вы понимаете от начала до конца.
Начните с замены одного вызова Tavily на этот сервер в тестовом окружении. Посмотрите на разницу в результатах. Возможно, вы обнаружите, что ваша RAG-система работала не так хорошо, как могла бы. Просто потому, что кто-то другой решал, какие источники ей показывать.