Clean search MCP across Yandex, Bing and DuckDuckGo
clean-search-mcp
A spam-filtered search MCP server: Yandex, Bing and DuckDuckGo, a 176K-domain blocklist and result quality scoring
- 2 ★ on the repository
- Last commit
- MIT
Extended access
Why this level
- Starts a local server that scrapes Yandex and Bing results and searches DuckDuckGo
- Reads public pages and publishes nothing
Install
- Works in
- Services
Manual install
pip install -r requirements.txt && python main.pyQuick start from the README; dependencies are lightweight, Playwright is optional for deep mode.
Access and checks
How we reviewExtended accessThe tool runs code or makes network calls and only reads external data.
- Starts a local server that scrapes Yandex and Bing results and searches DuckDuckGo
- Reads public pages and publishes nothing
This is third-party code. Review the repository files before installing.
What it does
The server provides a clean_search tool that queries three engines with automatic fallback: it works through the sources listed in config.SEARCH_PROVIDERS, scraping Yandex HTML results at yandex.ru with no official API, scraping Bing HTML too, and using the duckduckgo_search library for DuckDuckGo. Results pass three filtering layers: a 176K-domain blocklist aggregated from 25-plus community sources, content rules, and a 0-to-1 quality score where official docs outrank tutorials and garbage content scores zero. It extracts full page text via trafilatura and selectolax, caches for 6 and 24 hours, and has a deep mode with a Playwright fallback for JS-heavy pages. Users can add domains to a personal blocklist and report bad results.
Who it is for. For agent developers who want spam- and content-farm-free search with Russian-language coverage via Yandex.
Good fit when
- You want one search across Yandex, Bing and DuckDuckGo with fallback between them
- Filtering spam and content farms before results reach the LLM matters
- You want extracted page text right away, not just a link and snippet
Not a fit when
- You need to stay strictly within Yandex's official API: Yandex results here come from HTML scraping, not the Search API
- You need production-grade stability: scraping can break if the markup changes or the User-Agent gets blocked
Example request
Find five high-quality sources about configuring Nginx, no content farms, and give me their full textMCP
- Transport
- stdio
- Authentication
- not required
Limitations
Yandex and Bing search is implemented by scraping the HTML results page with no official key, rather than via the Search API, so markup changes or blocks can break the parser at any time. Some source code and comments are in Chinese. Deep mode with Playwright requires installing a separate heavy package. clean_search caps out at 10 results per call.
How to disable. Remove the clean-search entry from mcpServers and stop the python main.py process.
FAQ
Does it use the official Yandex API?
No, Yandex is queried by scraping the results page HTML; no official key is needed, but stability is not guaranteed.
Can I add my own domain to the blocklist?
Yes, add_user_blacklist adds a domain to a personal list, and report_bad_result blocks a URL after a complaint.
Discussion
No questions or reviews yet.
Related
All Yandex Search toolsYandex and Google search MCP server
web-compass
An MCP web-search and content-extraction server via Yandex and Google on top of SerpAPI, geared toward RU/CIS results
Yandex search MCP server with offline install
MCP Search Server
A search MCP server on the Yandex Cloud Search API with a monitoring dashboard, Brave fallback and an offline bundle for air-gapped networks
Yandex Search API v2 MCP server
yandex-search-mcp
A self-hosted MCP for Yandex Search API v2: web, image and generative search across all six Yandex indexes
Yandex Search MCP via browser automation
yandex-search-mcp
An unofficial Playwright-based MCP server that searches Yandex through a browser with authenticated cookies, extracting and ranking page content for an agent
Yandex search MCP on .NET with AOT compilation
Yandex Search MCP Server (.NET)
A .NET 10 Yandex search MCP server with native AOT compilation, page-to-Markdown conversion and regex search
OpenSERP MCP server with Yandex search
@openserp/mcp
An MCP server for the OpenSERP search platform: web and image search across several engines including Yandex, plus page text extraction
README in short
The README lists the features: three engines with fallback, a 176K-domain blocklist from 25-plus sources, three-layer filtering, content extraction, quality scoring, LRU caching, a user blocklist and optional Playwright for heavy pages. It shows quick-start commands, an MCP client config, local testing, and the clean_search function parameters.