The trade against a hosted search API is clear: you run a SearXNG container, and in exchange there is no search vendor between the agent and the results, no key to rotate, and no per-query quota. The parameter list is close to SearXNG's own, so anything you already know about tuning your instance carries over. The instance has to be reachable from wherever this server runs — the default points at a Docker bridge address, which is worth checking first.
A search server that points at a SearXNG instance you run. Nothing goes through a commercial search API — the results come from whichever engines your instance is configured to use.
- A search tool taking a query string q, with everything else optional
- Categories and engines narrow which sources answer, and enabled_engines and disabled_engines override the instance defaults per call
- Language, time_range across day, month or year, and page for walking further into results
- Safesearch, image_proxy, autocomplete and theme are all passed through, so the instance's behaviour is tunable from the call
- SSE and stdio transports, selected with TRANSPORT — SSE serves at /sse on the configured port
Python 3.9 or higher and a running SearXNG instance, which the README shows starting as a Docker container. SEARXNG_BASE_URL points at it; HOST, PORT and TRANSPORT configure the server itself. A Docker image can be built from the repository, and the server is also installable through Smithery.
Build from source — clone the repository and build it, then point your client at the binary
