Skip to main content
Glama
lzmd66

clean-search-mcp

by lzmd66

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.py

MCP 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 fallback

API

clean_search(query, max_results=5, with_content=True, deep_mode=False)

Param

Default

Description

query

required

Search query

max_results

5

Results to return (max 10)

with_content

True

Include extracted page text

deep_mode

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 PROXY for HTTP/Playwright

Dependencies

mcp, httpx, selectolax, trafilatura, duckduckgo-search

All lightweight pip packages. Playwright is optional (deep mode only).

License

MIT

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

  • A
    license
    Not graded
    quality
    D
    maintenance
    MCP 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
  • A
    license
    Not graded
    quality
    C
    maintenance
    A self-hosted, MCP-native web-search backend for AI agents that provides meta-search, clean extraction, RAG with citations, and GitHub project selection.
    5
    MIT