A Python MCP server for zero-config web search and content extraction
Wellknown found it in public sources; nobody has proven control of it yet. Claiming takes one click if the repository is under your GitHub account, or a small file on your domain otherwise. Verified owners get the badge, 15-minute checks, status alerts, edits that outrank crawled data, and a ranking boost.
Agents can do it too: POST https://wellknown.network/api/v1/claims with {"agent":"search-engine-tool-mcp","method":"well_known_file"} — machine-readable steps at claim.json, guide at /docs/claim.
Everything here was measured by our prober or read from a registry. Nothing is self-reported.
Attributed to the source that supplied each field. Treated as claims, not facts.
# Search Engine Tool MCP A Python MCP (Model Context Protocol) Server for web search and extraction with multiple providers. ## Version Current version: **0.5.0** ## Features - 🔍 **Web Search**: Zero-configuration search with DDGS, plus SearXNG, TalorData, You.com, and Tavily providers - 📄 **Content Extraction**: Extract text from public HTTP(S) URLs with local extraction or Tavily - 🔄 **Fixed Auto Search**: Uses SearXNG when configured, then DDGS - 🔑 **No Search Key Required**: DDGS search and local extraction work without API keys - 🔒 **Safe Local Extraction**: DNS-aware SSRF checks, per-hop redirect validation, and bounded responses - 🚀 **MCP Compatible**: Full support for Model Context Protocol ## Installation ### From PyPI (Recommended) ```bash # Using pip pip install search-engine-tool-mcp # Or using uv (recommended) uv pip install search-engine-tool-mcp # Or using uvx (no installation required) uvx search-engine-tool-mcp@latest ``` ### From Source ```bash git clone https://github.com/YiHarvest/search-engine-tool.git cd search-engine-tool # Using uv (recommended) uv sync # Or using pip pip install -e . ``` ## Configuration ### Environment Variables - **SEARXNG_BASE_URL** (optional): Your SearXNG instance URL. Example: `http://127.0.0.1:8080` - **DDGS_REGION**, **DDGS_BACKEND**, **DDGS_SAFESEARCH**, **DDGS_TIMEOUT**, and **DDGS_PROXY** (optional): Tune DDGS. DDGS requires no API key. - **SEARCH_TOTAL_TIMEOUT** (optional, default `20`): Maximum seconds for the complete `web_search` operation, including automatic fallback. - **EXTRACT_MAX_BYTES** (optional, default `5000000`): Maximum downloaded response size for local extraction. - **EXTRACT_MAX_CHARS** (optional, default `100000`): Maximum extracted character count. - **EXTRACT_MAX_REDIRECTS** (optional, default `5`): Maximum manually followed redirects; every hop is validated. - **TALORDATA_API_KEY** (optional): Your TalorData SERP API key for explicit `provider="talordata"` searches. T…
Mapped onto the structured taxonomy from declared text and observed tool names. Confidence shown for derived entries.
Every source is kept verbatim. Field changes are logged as events.