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

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.
All reasons and checks

netlops/sosearch

Install

Manual install

./SoSearch --mcp

Starts MCP mode of a prebuilt binary from GitHub Releases or after a build.

Access and checks

How we review

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

Web search via DuckDuckGo and page reading for the agent with no API keys, with built-in rate limiting

MCP serverExtended access1.6KRepository stars

A local MCP server with no API keys: multi-engine web search, page fetching and document reading tuned for LLMs.

MCP serverExtended access179Repository stars

Local Rust metasearch based on SearXNG: agents get JSON results and read pages over MCP with a hard cap on response size

MCP serverExtended access961Repository stars

A web search MCP server that gives the agent full page text at once: Stack Overflow answers, GitHub threads, arXiv papers

MCP serverExtended access404Repository stars

Local web search for an agent with no API keys: results are ranked on your machine and only the relevant passages come back

MCP serverExtended access151Repository stars

MCP server with DuckDuckGo search and page text extraction: several URLs can be passed in one call

MCP serverExtended access151Repository stars

Comparison with similar tools

Cards that share the main search query, and how they differ.

ToolOfficialAuthenticationRepository starsMain difference
SoSearch (this card)nonot required135
Brave Search API Skillsyes196teaches an agent to call the official Brave Search API with a key; SoSearch parses HTML from three engines with no keys
Tavily Agent Skillsyes490runs 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.

README badge

Report a problem