Labsco
MCP SERVER

SearXNG HTTP MCP

by whw23

Web search through a SearXNG instance — hundreds of engines behind one query, no search API key and no per-search billing.

Web Search EnginesVerified
Summary
Search that answers to an instance you control, rather than to an API's quota and terms.

The value is where the query goes: a SearXNG instance of your own, aggregating many engines, with no key and nothing billed per search. The container makes that practical, since it is self-contained and does not require standing up SearXNG separately first. What you take on in exchange is operating it — result quality follows whichever engines your instance has enabled, which is exactly what engine_info exists to tell you.

What it is

A server wrapping SearXNG, the privacy-respecting metasearch engine that aggregates results from many search engines at once. Three tools: search with filters, autocomplete a partial query, and list which engines and categories the instance actually has enabled.

What you get
  • search queries the instance across its engines, filtered by category, language, safesearch setting and time range, or narrowed to a named engine list
  • Multi-page fanout — up to five pages in a single call — with max_results capping what actually comes back into the conversation
  • autocomplete returns query suggestions for a partial phrase, which is how you find the wording that retrieves something
  • engine_info lists the enabled engines grouped by category, so a query is aimed at what this instance can actually reach rather than at what SearXNG could reach in principle
  • Categories well beyond general web search: news, images, videos, science and IT among them
  • No search API key anywhere in the path — queries go to a SearXNG instance instead of a commercial search API
Requirements

Three ways to run it. The container image ghcr.io/whw23/searxng-http-mcp is self-contained: run it detached and connect over Streamable HTTP at /mcp/, where API_KEY turns on authentication and leaving it empty means none, or run the same image with --stdio for a local client. If you already run SearXNG, uvx searxng-http-mcp is enough with SEARXNG_URL pointing at your instance, which defaults to http://127.0.0.1:8080. The uvx path needs Python 3.14 or newer.

Setup effort

One command — uvx searxng-http-mcp