clean-search-mcp
Integrates DuckDuckGo as a search engine source to retrieve clean, spam-free search results filtered by domain blocklists and content quality scoring.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@clean-search-mcpsearch for best practices in React hooks"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
clean-search-mcp ๐งน
A lightweight MCP (Model Context Protocol) service that provides clean, spam-free search results for AI agents. Filters out content farms, malware sites, SEO garbage, and low-quality content before they reach your LLM.
Features
Three search engines โ Yandex + Bing + DuckDuckGo auto-fallback
176K+ domain blocklist โ auto-updated from 25+ community sources, covers malware/scam/ads/trackers/content farms
Three-layer filtering โ domain blacklist โ content rules โ quality scoring
Content extraction โ full page text via trafilatura + selectolax
Result scoring โ 0-1 quality score (official docs 0.8 > tutorials 0.6 > garbage 0)
LRU cache โ search cache 6h, fetch cache 24h, auto-cleanup
User blacklist โ add domains on the fly, report bad results
Deep mode โ optional Playwright fallback for JS-heavy pages
No heavy dependencies โ pure HTTP, no browser required
Related MCP server: evo-scry
Quick Start
pip install -r requirements.txt
python main.pyMCP Client Config
{
"mcpServers": {
"clean-search": {
"command": "python",
"args": ["/path/to/clean_search_mcp/main.py"]
}
}
}Test Locally
python test_local.py "your search query" -n 5
python test_local.py "your query" -n 5 --no-content # skip page content
python test_local.py "your query" --deep # use Playwright fallbackAPI
clean_search(query, max_results=5, with_content=True, deep_mode=False)
Param | Default | Description |
| required | Search query |
| 5 | Results to return (max 10) |
| True | Include extracted page text |
| False | Use Playwright fallback for JS pages |
Returns [{title, url, snippet, content, score}] sorted by quality.
add_user_blacklist(domain)
Add a domain to personal blocklist.
report_bad_result(url)
Report a low-quality URL (domain auto-blocked).
Configuration
Edit config.py to tune:
Search providers: enable/disable Yandex, Bing, DuckDuckGo
Blacklist sources: add or remove community blocklist URLs
Scoring weights: adjust domain authority, content quality bonuses
Caching: TTL, max files, cleanup interval
Proxy: set
PROXYfor HTTP/Playwright
Dependencies
mcp, httpx, selectolax, trafilatura, duckduckgo-searchAll lightweight pip packages. Playwright is optional (deep mode only).
License
MIT
This server cannot be deployed
Maintenance
Related MCP Connectors
Free web search for AI agents. No API key required. Hosted MCP in active development.
Multi-engine search for AI agents. Trust scoring, local corpus, MCP-native. Self-hostable, BYOK.
Scrape, crawl and search the web for AI agents via MCP.
Your agent needs the open web โ searched by more than one engine, and read as clean markdown rather than raw HTML. **What you can ask for** โข "Search this question with two providers and tell me where they disagree." โข "Scrape these 40 URLs into markdown, in one batch." โข "Crawl this documentation site and give me every page." โข "Do deep research on this topic and cite the sources." โข "Find the academic papers behind this claim." **How to use it** Point any MCP client at https://mcp.aisa.one/search/mcp and sign in with OAuth โ there is no key to create or paste. 30 tools across several independent providers: Tavily and Exa search, answers, contents and agent runs; Firecrawl scrape, batch scrape, crawl, map and search; Perplexity Sonar, Sonar Pro, reasoning and deep research; Oxylabs AI search and LLM jobs; OpenAI and Anthropic web search; and scholarly search. **Why this rather than the source** Several independent indexes behind one account, because one engine's blind spot is not visible from inside it. **It is also a door to the rest** The same login reaches 26 sources and 580+ operations. Find the page here, then ask the same agent who links to it or how much traffic it gets โ without adding a second server. **What it costs** Finding and inspecting an operation is free. Running one is billed per call at API prices, with no seat and no monthly minimum, and every call takes max_price_usd so an agent cannot overspend by accident. **Where else it reaches** https://mcp.aisa.one/seo-serp/mcp for the Google results page itself, https://mcp.aisa.one/seo-serp-other-engines/mcp for Bing, Baidu and Naver.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceA read-only MCP server that gives AI agents the web as compact, ranked, verified evidence โ no API keys, no cloud retrieval, all models local.17 npm1MIT
- AlicenseNot gradedqualityDmaintenanceMCP server for internet search via direct Google and DuckDuckGo HTML scraping with AI-powered result normalization and optional summarization, requiring no API keys for search.MIT
- AlicenseAqualityBmaintenanceEnables AI agents to perform multi-engine web search, fetch web pages, and extract clean Markdown content via MCP, with no API keys required.354 PyPI8MIT
- AlicenseNot gradedqualityCmaintenanceA self-hosted, MCP-native web-search backend for AI agents that provides meta-search, clean extraction, RAG with citations, and GitHub project selection.5MIT