+- **In-memory search result cache:** Repeated `searxng_web_search` calls with identical arguments are now served from a per-process cache instead of re-querying the instance, mirroring the existing URL-reader cache. The cache key is a SHA-256 of the tool name plus the search arguments canonicalized with sorted object keys, so semantically identical requests hit the same entry regardless of argument order, while any change to the query or parameters caches separately. Two new variables tune it: `SEARCH_CACHE_TTL_MS` (default `86400000`, 24 hours) sets the entry lifetime, and `SEARCH_CACHE_MAX_ENTRIES` (default `200`) caps the cache, evicting the least-frequently-used entry first with the oldest entry as the tie-breaker. Invalid or non-positive values fall back to the defaults. (FEAT-008, [#164](https://github.com/ihor-sokoliuk/mcp-searxng/pull/164))
0 commit comments