Added
-
Multi-instance failover and optional parallel fanout for
SEARXNG_URL:SEARXNG_URLnow accepts several semicolon-separated SearXNG replica URLs that are treated as interchangeable. In the default failover mode a search tries each instance in order until one returns results; an instance with 3 consecutive hard failures is skipped for 60 seconds, while a200 OKwith an empty result set is treated as healthy and does not trigger cooldown. Set the newSEARXNG_FANOUT=trueto instead query all healthy instances in parallel and merge results — deduplicated by canonical URL, keeping the highest-scoring copy and ordered by descending score. A single-URLSEARXNG_URLbehaves exactly as before, so no configuration change is required. (FEAT-047, #128) -
Capability discovery aggregated across all instances for filter guidance:
searxng_instance_infoand thecategories/enginessearch parameters now aggregate live/configcapabilities from every reachable configured instance instead of a single one. The tool reportscommoncategories and engines (supported on every reachable instance, so safe for consistent multi-instance results) alongside best-effortavailablevalues, keeping filter guidance accurate when replicas differ in their enabled engines. A/configendpoint that fails is skipped for about 60 seconds, or retried immediately whensearxng_instance_infois called withrefresh=true. (FEAT-048, #130)
Fixed
-
safesearchaccepted as a string enum and honoring the instance default when omitted:safesearchis now declared as a string enum ("0","1","2") so MCP clients that send every tool argument as a string — notably Gemini and Antigravity — no longer fail schema validation. The schema default was also dropped, so omittingsafesearchnow falls back to each instance's server-side default instead of forcing a value. (BUG-006, #127) -
Docker Compose HTTP transport reachable from the host: The HTTP transport in the provided
docker-composesetup now binds to0.0.0.0instead of a loopback address, so the mapped port is reachable from the host rather than only from inside the container.
Full Changelog: v1.7.2...v1.8.0