MCP чистого поиска по Яндексу, Bing и DuckDuckGo
clean-search-mcp
MCP-сервер поиска с фильтром спама: Яндекс, Bing и DuckDuckGo, блоклист из 176 тысяч доменов и оценка качества результатов
Низкий риск
Низкий уровень ставим, когда запись в основном дает агенту инструкции и справочные материалы.
Почему такой уровень
- Сервер только читает публичные результаты поиска и содержимое страниц
- Скрапинг HTML-выдачи вместо официального API создает риск блокировки по User-Agent на стороне Яндекса или Bing
Установка
Ручная установка
pip install -r requirements.txt && python main.pyБыстрый старт из README, зависимости легкие, Playwright опционален для deep-режима.
Это чужой код. Посмотрите файлы в репозитории перед установкой.
Что делает
Сервер дает инструмент clean_search, который ищет по трем движкам с автоматическим переключением при сбое: сначала пробует источники из списка config.SEARCH_PROVIDERS, для Яндекса это HTML-выдача по yandex.ru без официального API, для Bing тоже HTML-парсинг, для DuckDuckGo библиотека duckduckgo_search. Результаты проходят три слоя фильтрации: черный список из 176 тысяч доменов, собранный из более чем 25 источников сообщества, контентные правила и оценка качества от 0 до 1, где официальная документация весит выше туториалов, а мусорный контент обнуляется. Есть извлечение полного текста страницы через trafilatura и selectolax, кэш на 6 и 24 часа и режим deep с фолбэком на Playwright для страниц с тяжелым JS. Пользователь может добавлять домены в личный блок-лист и жаловаться на плохой результат.
Для кого. Для разработчиков агентов, которым нужен поиск без спама и контент-ферм с покрытием русскоязычной выдачи через Яндекс.
Подходит, если
- Нужен единый поиск сразу по Яндексу, Bing и DuckDuckGo с фолбэком между ними
- Важна фильтрация спама и контент-ферм перед тем, как результат попадет в LLM
- Нужно сразу получать извлеченный текст страницы, а не только ссылку и сниппет
Не подходит, если
- Важна работа строго через официальный API Яндекса: здесь выдача Яндекса получается HTML-скрапингом, а не Search API
- Нужна стабильность в промышленном масштабе: скрапинг выдачи может сломаться при изменении верстки или блокировке по User-Agent
Пример запроса к агенту
Найди пять качественных источников про настройку Nginx без контент-ферм и дай их полный текстОграничения
Поиск по Яндексу и Bing реализован скрапингом HTML-страницы выдачи без официального ключа, а не через Search API, поэтому верстка или блокировки могут в любой момент сломать парсер. Часть исходного кода и комментариев на китайском языке. Глубокий режим с Playwright требует установки отдельного тяжелого пакета. Максимум 10 результатов за один вызов clean_search.
Как отключить. Удалите запись clean-search из mcpServers и остановите процесс python main.py.
MCP
- Транспорт
- stdio
- Авторизация
- не нужна
Проверка безопасности
- Сервер только читает публичные результаты поиска и содержимое страниц
- Скрапинг HTML-выдачи вместо официального API создает риск блокировки по User-Agent на стороне Яндекса или Bing
Коротко о README
README перечисляет возможности: три движка с фолбэком, блоклист на 176 тысяч доменов из 25+ источников, трехслойная фильтрация, извлечение контента, оценка качества, LRU-кэш, пользовательский блок-лист и опциональный Playwright для тяжелых страниц. Показаны команды быстрого старта, конфиг для MCP-клиента, локальное тестирование и параметры функции clean_search.
Частые вопросы
Используется ли официальный API Яндекса?
Нет, Яндекс запрашивается HTML-скрапингом страницы выдачи, официальный ключ не нужен, но и не гарантирована стабильность.
Можно ли добавить свой домен в блок-лист?
Да, инструмент add_user_blacklist добавляет домен в личный список, а report_bad_result блокирует URL после жалобы.
Похожие
CLI, скилл и Python-библиотека для управления браузером: агент кликает, заполняет формы и читает страницы через CDP
Скилл собирает обсуждения темы за последние 30 дней из Reddit, X, YouTube, HN, Polymarket и GitHub и сводит их в бриф
Официальный MCP-сервер команды Chrome DevTools: агент управляет живым Chrome, смотрит сеть, консоль и записывает трейсы производительности
Быстрый CLI на Rust для автоматизации браузера агентами: снимки доступности со ссылками на элементы, MCP-сервер и скиллы