SoSearch MCP
Keyless web search for agents: a Rust service over HTTP or MCP merges DuckDuckGo, Brave and Yahoo results into one JSON.
- 135 ★ on the repository
- Last commit
Broad access
Why this level
- Search results are scraped with a spoofed browser TLS fingerprint, which may violate the engines' terms and get your IP blocked.
- The agent's search queries go straight to DuckDuckGo, Yahoo and Brave.
Install
- Works in
Manual install
./SoSearch --mcpStarts MCP mode of a prebuilt binary from GitHub Releases or after a build.
Access and checks
How we reviewBroad accessThe tool can change data, run commands or handle secrets.
- Search results are scraped with a spoofed browser TLS fingerprint, which may violate the engines' terms and get your IP blocked.
- The agent's search queries go straight to DuckDuckGo, Yahoo and Brave.
This is third-party code. Review the repository files before installing.
What it does
SoSearch is a Rust service that imitates APIs like SerpAPI and Tavily without paid keys. A query goes in parallel to DuckDuckGo, Yahoo (Bing-powered) and Brave Search, the HTML results are parsed and normalised into one `SearchResult` JSON array. To get blocked less often, the `rquest` client impersonates a Chrome 124 TLS fingerprint. Running without flags starts an HTTP server (`/search?q=...`, port 10080), running with `--mcp` starts an MCP server over stdio with the `web_search` tool. The README gives configurations for Claude Desktop and Gemini CLI, plus a separate Windows example.
Who it is for. Owners of local agents and self-hosted setups who need web search without signing up for paid search APIs.
Good fit when
- A local agent needs web search and you do not want to pay for a SerpAPI or Tavily key.
- One query is compared across three independent result sets: DuckDuckGo, Yahoo and Brave.
- A search service runs in Docker inside your own network and is called over HTTP.
- Claude Desktop gets search through `--mcp` with no cloud intermediary.
Not a fit when
- The project is commercial: the CC BY-NC 4.0 license forbids commercial use.
- You need guaranteed results: HTML parsing breaks when search engines change their markup.
- Search engine rules in your scenario forbid automated queries.
Example request
Search the web for three recent reviews of Rust 1.90 and give me the links.MCP
- Transport
- stdio
- Authentication
- not required
Limitations
The CC BY-NC 4.0 license allows non-commercial use only. SoSearch parses HTML from DuckDuckGo, Yahoo and Brave and impersonates Chrome, so a markup change or an IP block breaks results, and automated queries may violate the engines' terms. There are no registry packages: prebuilt binaries sit in GitHub Releases, or build with `cargo run --release` (Windows needs Rust, CMake, NASM and LLVM/Clang). Over MCP only the `web_search` tool is exposed and it does not fetch full pages.
How to disable. Remove the `sosearch` entry from the MCP client configuration and stop the HTTP process or container if you ran one.
FAQ
How do I connect SoSearch to Claude Desktop?
Add a `sosearch` server to `claude_desktop_config.json` with `command` pointing at the binary and `args` `["--mcp"]`. On Windows use double backslashes in the path.
Which search engines does SoSearch query?
DuckDuckGo, Yahoo (Bing-powered) and Brave Search. Results are normalised into one `SearchResult` format.
How do I check the HTTP mode?
Run `cargo run --release` and call `curl "http://localhost:10080/search?q=hello+world"`.
Are API keys needed?
No. The project queries the search engines directly and needs no keys.
Can SoSearch run in Docker?
Yes: the repository has a `Dockerfile` and `docker-compose.yml`, and the `docker.yml` workflow publishes images. For a quick check `cargo run --release` works.
Discussion
No questions or reviews yet.
Related
MCP serversWeb search via DuckDuckGo and page reading for the agent with no API keys, with built-in rate limiting
A local MCP server with no API keys: multi-engine web search, page fetching and document reading tuned for LLMs.
Local Rust metasearch based on SearXNG: agents get JSON results and read pages over MCP with a hard cap on response size
A web search MCP server that gives the agent full page text at once: Stack Overflow answers, GitHub threads, arXiv papers
Local web search for an agent with no API keys: results are ranked on your machine and only the relevant passages come back
MCP server with DuckDuckGo search and page text extraction: several URLs can be passed in one call
Comparison with similar tools
Cards that share the main search query, and how they differ.
| Tool | Official | Authentication | Repository stars | Main difference |
|---|---|---|---|---|
| SoSearch (this card) | no | not required | 135 | |
| Brave Search API Skills | yes | 196 | teaches an agent to call the official Brave Search API with a key; SoSearch parses HTML from three engines with no keys | |
| Tavily Agent Skills | yes | 490 | runs through the Tavily platform and its key; SoSearch runs on your side and queries search engines directly |
README in short
The README explains the idea (fast tokio-based search, blocking avoidance through TLS impersonation, one result format), lists the engines and project layout, describes the HTTP and MCP modes and gives a quick start for Linux, macOS and Windows. The skills bundled in the repository are for developing the project itself.