Docs · MCP · Hermes · OpenClaw

Web Search Plus developer resources

Repos, install commands, and agent endpoints for Web Search Plus. There is no hosted Web Search Plus API. You run the router and bring provider keys.

Install

Auth and API surface

No OpenAPI spec and no webhooks. Authentication is the API key of each search or extract provider you enable. The router does not mint keys and does not proxy billing.

Agent files

Provider privacy, terms, and pricing →

Why it exists

Better search without depending on one service.

Different searches work better in different places. Web Search Plus chooses from the providers you have and keeps your agent working when one of them has a bad day.

01

Picks a good provider

News, research, shopping and technical searches do not all need the same search service.

02

Tries another when needed

Missing key, provider problem or empty result? It can move to the next option instead of stopping the whole task.

brave→serper→tavily ✓
03

Shows its work

You keep the original sources and can ask for extra details about which provider ran, what failed and how long it took.

One hardcoded backendWeb Search Plus
✕One service goes down and search stops
✓Another provider can take over
✕The same search engine is used for every job
✓Different jobs can use different providers
✕Every app needs its own search setup
✓One engine works across Hermes, OpenClaw and MCP apps
✕Empty results fail without explanation
✓Optional reports show what happened
✕Copies can outrank the original page
✓Official and original sources get priority
✕Huge pages fill the agent's context
✓Long pages are cleaned and shortened
✕Unsafe internal addresses can be opened
✓Private and system addresses are blocked by default

Under the hood

What happens after you press search.

Web Search Plus understands the kind of search, chooses a provider and tries the next one if needed. You can ask for the technical details when you want them.

01

Understand the question

Is it research, news, shopping, local search or a page to read?

02

Choose a provider

It picks a suitable provider from the ones you configured.

03

Try the next one

If the first provider fails or returns nothing, another can take over.

04

Show extra details

Turn on quality_report=true when you want to see which provider ran and how long it took.

quality-report.json
{
  // example quality report
  "query_intent": "research",
  "provider_used": "tavily",
  "reason": "research intent + key available",
  "fallback_chain": ["brave", "serper"],
  "fallbacks_taken": 0,
  "results_returned": 8,
  "metadata": { "intent_rerank": true },
  "authority_signals": {
    "canonical_top_result": true,
    "canonical_domain_hits": 3
  },
  "elapsed_ms": 742
}

Install paths

Runtime installation

Hermes Agent and OpenClaw Plugin are both primary flagship paths. NanoClaw gets its own utility-skill front-end, and the MCP server keeps every other client on the same routing engine.

OpenClaw Plugin

primary · v4.4.0

The best fit for OpenClaw. Version 4.4.0 is a light sync toward 5.0.1, not a full 5.0 engine port: one bad URL no longer sinks an extraction batch, blank pages and empty answers fall through to the next provider, searches without hits say so, long queries fit Brave's limit, the first provider follows the query type, and a new provider_order: custom switch is available. DonSeTch 4.7.0 is the tested separately installed provider. Version 4.3.1 matches Hermes and MCP 4.3.1: DonSeTch 4.2.9, no_cache and cache_ttl with shorter caching for recency queries, adaptive routing that learns from every attempt, and defaults.max_results when no count is given. Local search uses separately installed DonSeTch. The extra tools stay off until you allow them. Needs OpenClaw 2026.8.1.

stable · native OpenClaw plugin

openclaw plugins install clawhub:web-search-plus-plugin-v2

Hermes Agent

primary · v5.1.6

Search and read pages inside Hermes. Listed in the Hermes plugin catalog as web-search-plus. Catalog install checks out the reviewed commit; later pins need hermes plugins update web-search-plus. Version 5.1.6 drops Google goto redirect links that Serper returns for results 4 and later (they cannot be decoded and made useless sources), asks SerpBase for mobile results so its links work, filters broken URLs, and starts security and shopping searches with Brave; tested DonSeTch is now 4.10.3. Version 5.1.5 makes the optional local DonSeTch provider work on Windows (fix by @pompousman) and tests DonSeTch 4.10.2. Version 5.1.4 makes the optional local DonSeTch provider work with DonSeTch 4.7.1 and newer again (tested 4.10.1) and, when DonSeTch is the only configured provider, names it in the automatic-search message instead of saying there is no provider. Version 5.1.3 tells upgraders from 5.0 where a key in the old plugin-folder .env went (the file is only checked for existence, never opened) and the command to store it again, lets Hermes' own web_search use your keys through the native backend, and no longer tells the model to prefer Hermes' web_search. Version 5.1.4 (includes 5.1.3) returns compact responses by default: one 8-result search used to send about 24 KB (~6,000 tokens) to the client and now sends about 800–2,000 tokens, with snippets capped at 1,200 characters, plus the Hermes 5.1.6 engine fixes. Clients that parse the full v3 contract must pass detail: "full" (or set WEB_SEARCH_PLUS_MCP_DETAIL=full). Version 5.1.2 keeps the pages already fetched when a provider hits a rate limit partway through a batch extraction, answers every requested URL, keeps multi-line snippets inside their own result, and ends the search header with machine-readable results=, elapsed_ms= and fallback_from= bits. Since 5.1, provider keys come only from the active Hermes profile (hermes config set BRAVE_API_KEY <key> or Hermes Desktop > Settings > Plugins > Web Search Plus), no longer from a plugin-folder .env; hermes web-search-plus status and setup show what the profile sees, and /reload applies a new key in the interactive CLI. Version 5.0.1 fixes 5.0.0: normal queries no longer trip the source-only filter, one bad URL no longer sinks an extraction batch, long pages report their real length, searches without hits say so, rate-limit waits are capped and long queries work at Brave. Version 5.0.0 picks the provider by query type (Brave for general, news, local and community; Exa for docs and academic; Serper for security and shopping), starts the next provider after at most 2.5 s, searches a clearly German or French query in that language and accepts domain suffixes such as .gov. setup.py config set-order or the Desktop field “Provider order” keeps your own order. Version 4.3.5 kept ?v=-style links apart in dedup and lets missing-key hints survive the v3 error path. Version 4.3.4 fixed first-run setup: setup.py status reports provider_setup_required until a provider key is set, and missing-key errors name the setup command and environment variables. Version 4.3.2 was a security release (stricter extract URL checks, same-origin redirects for provider API calls, 16 MiB response limit, provider error text no longer passed to the model); 4.3.3 accepts internationalized hostnames. Version 4.3.1 reuses keep-alive provider connections, so repeated searches skip TCP and TLS setup (live medians 6–17 % faster per provider). Version 4.3.0 added a settings form in Hermes Desktop (country, language, result count, routing, SearXNG URL and provider keys) and makes adaptive routing learn from real searches again. Cache knobs from 4.2.1 and optional native WSP routing stay. DonSeTch 4.2.9 is the tested separately installed provider.

hermes plugins install web-search-plus --enable
hermes plugins update web-search-plus

NanoClaw Utility Skill

GitHub

Adds the Web Search Plus command-line tool to NanoClaw containers. No MCP server is required.

/add-web-search-plus

MCP Server

PyPI v5.1.4

Use Web Search Plus in Claude Desktop, Cursor, NanoBot and other MCP apps. Version 5.1.2 keeps the pages already fetched when a provider hits a rate limit partway through a batch extraction and answers every requested URL; it matches the Hermes 5.1.2 engine (Hermes 5.1.3, 5.1.4 and 5.1.5 change setup hints, tool text and DonSeTch handling only) without the Hermes-only setup and output changes. Version 5.0.1 brings the same fixes as Hermes 5.0.1: normal queries no longer trip the source-only filter, one bad URL no longer sinks an extraction batch, long pages report their real length, searches without hits say so, rate-limit waits are capped and long queries work at Brave. Version 5.0.0 carries the Hermes 5.0 engine: routing by query type, faster fallback, query-language search, domain suffix filters and readable “Out of credits” errors. Version 4.3.5 delivered missing-key hints to the client, marks failed calls with isError, applies your locale to Brave, You.com, Firecrawl, SerpBase and SearXNG, and keeps web_extract within its size limit. Version 4.3.4 pointed missing-key errors to web-search-plus-mcp setup, .env or the client env block instead of an inline key in config.json. Version 4.3.2 carried the Hermes security fixes; 4.3.3 accepts internationalized hostnames. Version 4.3.1 runs the search engine inside the MCP server instead of starting a process per call (auto-routing median 1.70 s → 0.99 s) and reuses keep-alive provider connections. Restart the server after adding a key to .env, because it is now read once at start. Version 4.3.0 matched Hermes 4.3.0: adaptive routing learns again, and web_search honours defaults.max_results when no count is given. Your existing web_search and web_extract tools and setup stay the same. The Desktop settings form, the native Hermes adapter and the Hermes-only automatic recency cache cap are not part of this package.

uvx --from web-search-plus-mcp==5.1.4 web-search-plus-mcp

OpenClaw Skill

v5.0.1

A portable source-only Web Search Plus skill for OpenClaw installs that do not use the native plugin. Version 5.0.1 runs the Web Search Plus 5.0.1 engine: routing by query type (Brave; Exa for docs and academic; Serper for security and shopping), faster fallback, per-URL extraction and all 5.0.1 fixes. Old flags and environment variables keep working. DonSeTch, Octen, TinyFish and Parallel stay on the native plugin.

stable compatibility option · ClawHub latest

openclaw skills install web-search-plus

Quickstart

Client configuration

Choose your client and configure a provider key.

OpenClaw

# OpenClaw Plugin
openclaw plugins install clawhub:web-search-plus-plugin-v2

# Then allow the tools you want (they stay optional until you do)
# tools.alsoAllow: web_search_plus, web_extract_plus, …

# Configure at least one provider key in plugin config
plugins.entries.web-search-plus-plugin-v2.config.braveApiKey=your-brave-key
plugins.entries.web-search-plus-plugin-v2.config.tavilyApiKey=your-tavily-key
plugins.entries.web-search-plus-plugin-v2.config.exaApiKey=your-exa-key
plugins.entries.web-search-plus-plugin-v2.config.linkupApiKey=your-linkup-key

Hermes

# Hermes Agent — catalog (reviewed SHA)
hermes plugins install web-search-plus --enable
hermes web-search-plus setup
hermes config set BRAVE_API_KEY <key>
hermes web-search-plus status

# GitHub source (not the catalog pin)
hermes plugins install robbyczgw-cla/hermes-web-search-plus --enable

# Later catalog pins
hermes plugins update web-search-plus

# /reload in the CLI (or restart Hermes), then use Plus tools (default):
web_search_plus(query="latest AI model releases", quality_report=true)
web_extract_plus(urls=["https://example.com/docs"])

# Optional — Hermes' own web_search via WSP (Hermes-only, not MCP):
hermes config set web.search_backend wsp
# Extraction: wsp only with a key that can extract pages (Tavily, Exa, Linkup, …);
# with search-only keys such as Brave keep Hermes' extraction:
hermes config set web.extract_backend exa

Claude Desktop

{
  "mcpServers": {
    "web-search-plus": {
      "command": "uvx",
      "args": ["--from", "web-search-plus-mcp==5.1.4", "web-search-plus-mcp"],
      "env": {
        "YOU_API_KEY": "your-key",
        "SERPER_API_KEY": "your-key",
        "LINKUP_API_KEY": "your-key"
      }
    }
  }
}

Cursor

{
  "mcpServers": {
    "web-search-plus": {
      "command": "uvx",
      "args": ["--from", "web-search-plus-mcp==5.1.4", "web-search-plus-mcp"],
      "env": {
        "YOU_API_KEY": "your-key",
        "SERPER_API_KEY": "your-key",
        "LINKUP_API_KEY": "your-key"
      }
    }
  }
}

NanoBot

{
  "tools": {
    "mcpServers": {
      "web-search-plus": {
        "command": "uvx",
        "args": ["--from", "web-search-plus-mcp==5.1.4", "web-search-plus-mcp"],
        "env": {
          "YOU_API_KEY": "your-key",
          "SERPER_API_KEY": "your-key",
          "LINKUP_API_KEY": "your-key"
        }
      }
    }
  }
}

Current state

Release history

The page tracks the release train: Hermes on v5.1.6, MCP on v5.1.4, the OpenClaw Plugin on v4.4.0, and the OpenClaw Skill on v5.0.1, plus the current NanoClaw paths — no fossilized release copy. Hermes users install from the plugin catalog by name; catalog SHA bumps lag GitHub releases until a separate pin PR lands.

Hermes plugin catalogSeptember 15, 2026

Web Search Plus is listed in the Hermes plugin catalog as web-search-plus (community). Catalog install checks out the reviewed commit. Later pins reach users through hermes plugins update web-search-plus. GitHub source install still follows the repo, not the catalog pin. Catalog →

Hermes v5.1.6 + MCP v5.1.4 · better sources and compact responsesOctober 30, 2026

Search results lose their useless links: Google goto redirects (Serper returns them for results 4 and later since Google’s mid-2026 change) are dropped instead of shown, so a Serper search keeps about three sources. SerpBase now asks for mobile results and returns working links (no 404s in four test searches), broken URLs are filtered for every provider, and security and shopping searches start with Brave. Tested DonSeTch is now 4.10.3. MCP 5.1.4 (includes 5.1.3) sends compact responses by default: one 8-result search used to send about 24 KB (~6,000 tokens) to the client and now sends about 800–2,000 tokens; snippets are capped at 1,200 characters. Clients that parse the full v3 contract must pass detail: "full" (or set WEB_SEARCH_PLUS_MCP_DETAIL=full). Hermes release · MCP on PyPI · MCP release

Hermes v5.1.3 · upgrade hints and native backendOctober 20, 2026

Upgrading from 5.0 no longer loses a key silently: hermes web-search-plus status, setup and the tools name the old plugin-folder .env (checked for existence only, never opened) and the command hermes config set BRAVE_API_KEY <key>, then /reload. Hermes' own web_search can use your WSP keys with hermes config set web.search_backend wsp; set web.extract_backend wsp only with a key that can extract pages (Tavily, Exa, Linkup, …), and with search-only keys such as Brave keep Hermes' extraction (hermes config set web.extract_backend exa). status warns about the two broken setups; the plugin never writes Hermes config. The tool description no longer tells the model to prefer Hermes' web_search. MCP stays on 5.1.2. Hermes release

Hermes v5.1.5 · DonSeTch on WindowsOctober 25, 2026

The optional local DonSeTch provider works on Windows: every DonSeTch search and extract used to fail there with donsetch: Provider execution failed. Fix by @pompousman (PR #168). Linux and macOS behave as before. Tested DonSeTch is now 4.10.2 (4.7.0 and newer work). MCP stays on 5.1.2. Hermes release

Hermes v5.1.4 · DonSeTch 4.7.1 and newerOctober 20, 2026

The optional local DonSeTch provider works with DonSeTch 4.7.1 and newer again (tested 4.10.1; 4.7.0+ supported). Reported and analysed by @friday-cp (issue #164). If DonSeTch is the only configured provider, automatic search no longer says “no provider”: it names DonSeTch and how to use it (provider="donsetch" or hermes web-search-plus config set-auto-allow donsetch on). MCP stays on 5.1.2. Hermes release

Hermes + MCP v5.1.2 · extraction and keysOctober 18, 2026

Hermes 5.1 moves provider keys into the active Hermes profile: hermes config set BRAVE_API_KEY <key> or Hermes Desktop > Settings > Plugins > Web Search Plus. A plugin-folder .env is no longer read; run hermes web-search-plus status or setup to see which keys the profile has, and /reload in the interactive CLI after storing one. MCP keeps reading its own .env and client env block. 5.1.2 keeps already fetched pages when a rate limit hits mid-batch, answers every requested URL, keeps multi-line snippets inside their result, and adds results=, elapsed_ms= and fallback_from= to the Hermes search header. Hermes release · MCP on PyPI

OpenClaw Skill v5.0.1 · on the 5.0.1 engineOctober 10, 2026

The portable OpenClaw skill runs the Web Search Plus 5.0.1 engine: routing by query type (Brave; Exa for docs and academic; Serper for security and shopping), faster fallback, per-URL extraction and all 5.0.1 fixes. Old flags and environment variables keep working. DonSeTch, Octen, TinyFish and Parallel stay on the native plugin. Release → · ClawHub →

OpenClaw Plugin v4.4.0 · light sync toward 5.0.1October 10, 2026

Light sync toward 5.0.1, not a full 5.0 engine port: one bad URL no longer sinks an extraction batch, blank pages and empty answers fall through to the next provider, searches without hits say so, long queries fit Brave's limit, the first provider follows the query type, and a new provider_order: custom switch is available. DonSeTch 4.7.0 is the tested separately installed provider. Release → · ClawHub →

Hermes + MCP v5.0.1 · fixes for 5.0.0October 10, 2026

Bug-fix release, no breaking changes. Normal queries no longer trip the source-only filter, one bad URL no longer sinks an extraction batch, long pages report their real length, searches without hits say so, rate-limit waits are capped and long queries work at Brave. Hermes release · MCP on PyPI

Hermes + MCP v5.0.0 · routing by query typeOctober 9, 2026

Automatic routing picks the provider by query type: Brave for general, news, local and community queries, Exa for docs and academic, Serper for security and shopping. When a provider fails, answers empty or runs past its p75 latency, the next one starts after at most 2.5 s. A clearly German or French query is searched in that language, include_domains accepts suffixes such as .gov, and an empty provider account reads “Out of credits”. Breaking: engine modules moved to wsp_core/, the heuristic router and Perplexity are gone. Hermes release · MCP on PyPI

Hermes + MCP v4.3.5 · dedup, locale, MCP errorsOctober 8, 2026

Dedup no longer merges different pages on the same path such as youtube.com/watch?v=A and ?v=B; only tracking parameters are dropped. MCP clients now see the missing-key hint (provider, environment variable, setup command) and isError: true on failed calls. MCP applies your locale to Brave, You.com, Firecrawl, SerpBase and SearXNG instead of a fixed US/en, and web_extract stays within its size limit. Hermes → · PyPI →

Hermes + MCP v4.3.4 · first-run setupOctober 7, 2026

With no provider key, setup.py status now reports provider_setup_required instead of ready, and missing-key errors name the setup command and the environment variables instead of suggesting keys in config.json. DonSeTch keeps its stderr excerpt when a session closes. Hermes → · PyPI →

Hermes + MCP v4.3.2 and v4.3.3 · securityOctober 1, 2026

4.3.2 rejects ambiguous extract URLs, checks every resolved IP for private ranges, follows only same-origin redirects on provider API calls so keys never leave their origin, bounds response size, and stops passing provider error text to the model. 4.3.3 converts internationalized hostnames to punycode before validation. Upgrading is recommended. 4.3.2 → · 4.3.3 →

OpenClaw Plugin v4.3.1 · parity with Hermes and MCPSeptember 23, 2026

The native OpenClaw plugin catches up from 4.0.3: DonSeTch 4.2.9 evidence, Exa, Parallel and Tavily fidelity fixes, no_cache and cache_ttl with recency caps, per-attempt adaptive routing samples, and defaults.max_results. Hermes-only features (native backend, Desktop settings, Jev) are not part of the plugin. Release → · ClawHub →

Hermes + MCP v4.3.1 · faster searchesSeptember 23, 2026

Hermes and MCP reuse keep-alive provider connections, so repeated searches skip TCP and TLS setup; Hermes medians dropped 6–17 % per provider. MCP also runs the search engine in-process instead of starting a process per call: auto-routing median 1.70 s → 0.99 s. WSP_HTTP_KEEPALIVE=0 and WSP_FORCE_SUBPROCESS=1 restore the old paths. Hermes → · PyPI →

Hermes + MCP v4.3.0 · Desktop settings + adaptive routingSeptember 23, 2026

Hermes Desktop can now configure Web Search Plus from its plugin settings form, including all 13 provider keys. Adaptive routing records provider samples again; it had stopped learning since the 3.0 engine. Result count follows defaults.max_results when no count is given. MCP gets the routing and result-count fixes. Hermes → · PyPI →

Hermes + MCP v4.2.1 · cache knobs + DonSeTch 4.2.9September 21, 2026

Search gains optional no_cache and cache_ttl. Hermes also shortens the search-cache TTL automatically on recency or freshness filters; MCP does not. Tested DonSeTch is now 4.2.9. Hermes → · PyPI →

Hermes + MCP v4.2.0 · optional overlay + Windows importSeptember 18, 2026

Optional news-versus-search overlay is off by default. Windows import no longer crashes when POSIX fcntl is missing — thanks @gzwahoo. Hermes → · PyPI →

Hermes + MCP v4.1.1 · adapter fidelitySeptember 9, 2026

Exa search prefers requested highlights. Parallel Search sends result count and domain filters through advanced_settings instead of rewriting the query. Tavily recency uses native time_range; time_range wins over freshness; receipts match the filter that was sent. Hermes → · PyPI →

Hermes + MCP v4.1.0 · native Hermes backend + DonSeTch 3.6.1September 5, 2026

Hermes 4.1.0 adds an opt-in wsp backend so native web_search and web_extract can call the existing WSP engine in-process. Plus tools stay the default; install does not select the backend. The native path is Hermes-only — MCP 4.1.0 carries the same DonSeTch 3.6.1 adapter update (compact evidence, namespaced diagnostics, stdio-only child transport) without native backend registration. DonSeTch remains separately installed AGPL-3.0-only and explicit-only. Historical Hound / Master-Fetch credit stays with Bishesh Bhandari (@dondai1234). Hermes → · PyPI →

OpenClaw Skill v4.0.0 · source-onlyAugust 31, 2026

The portable skill drops Perplexity/Kilo answer synthesis. Ranked source URLs and extracted page text only. Not a copy of plugin 4.0.3 — DonSeTch, Parallel, Octen and TinyFish stay on the native plugin. Release notes → · ClawHub →

OpenClaw Plugin v4.0.3 · DonSeTch replaces HoundAugust 31, 2026

The native OpenClaw plugin now matches Hermes 4.0.3. Hound is removed; install DonSeTch separately and point donsetchBin at an absolute path. Octen and TinyFish stay explicit-only. Parallel can join automatic routing. Floor is OpenClaw 2026.8.1. Release notes → · ClawHub →

Hermes + MCP v4.0.3 · DonSeTch 3.2.1 testedAugust 25, 2026

The tested DonSeTch binary is now 3.2.1. Live stdio Search and Fetch still work; 2.x binaries report incompatible_major. DonSeTch remains separately installed and explicit-only. Parallel routing from 4.0.2 is unchanged. Hermes → · PyPI →

Hermes + MCP v4.0.2 · Parallel fast + auto-routingAugust 22, 2026

Parallel Search now defaults to fast. When a PARALLEL_API_KEY is configured, Parallel joins automatic routing; set auto_allow.parallel=false to keep it explicit. Use advanced or research mode for deeper work. Parallel remains high-risk under its standard Customer Terms. Hermes → · PyPI →

Hermes + MCP v4.0.0 · DonSeTch replaces HoundAugust 16, 2026

The optional Hound sidecar is gone. Hermes and the standalone MCP package now use a separately installed DonSeTch 2.1.0 stdio provider through DONSETCH_BIN. It stays explicit-only by default; browser and anti-bot outcomes remain host-dependent. Hermes → · PyPI →

MCP v3.6.0 · Agent Plugins packagingAugust 6, 2026

The standalone package now ships portable Agent Plugins 1.0-compatible plugin.json and mcp.json manifests. Clients can start the published server through an exact uvx pin while the stable web_search and web_extract tools remain unchanged. PyPI → · Release notes →

Hermes v3.4.2 · transparent Research previewsAugust 7, 2026

Long source summaries keep the stable 500-character compatibility preview, but now carry an explicit truncation marker showing the original content length. The fix makes bounded output honest without changing short-summary behavior or the public tool contract. Release notes →

Hermes v3.4.1 · Exa freshness + TinyFishJuly 30, 2026

Exa now turns day, week, month and year freshness requests into concrete publication-date bounds while preserving explicit date overrides. TinyFish joins as an explicit-only, BYOK source-search provider and never enters automatic routing. Its standard Terms permit broad Customer Data uses, including training-related uses, so WSP rates it high risk and links the warning beside setup guidance. Exa freshness contribution: @kesku. Release notes →

MCP v3.4.1July 30, 2026

The standalone package carries the same Exa freshness and explicit-only TinyFish support while preserving exactly two MCP tools, 15 Search providers and 9 Extract providers. TinyFish still requires your own key and the same high-risk Terms review. PyPI → · Release notes →

MCP v3.4.0 · Octen via MonidJuly 28, 2026

An optional source-search provider you call explicitly with provider="octen". Octen supplies ranked source results and highlights; Monid provides API access and billing through MONID_API_KEY. Native recency and domain filters are supported, full-content and answer modes stay outside the integration, and Octen never enters automatic routing unless an operator deliberately opts it in. Release notes →

OpenClaw Plugin v3.3.0July 25, 2026

The OpenClaw plugin completes the source-only port and joins the rest of Web Search Plus on the 3.3.0 line. Two new tools ship with it: web_search_health_plus, a read-only view of in-process provider health, and web_extract_benchmark_plus, an explicit-only extraction benchmark capped at three provider calls. Per-call routing_override_provider now pins exactly one provider with no silent fallback, extraction stays inside operator ceilings with page-on-demand full text through content_ref, and Hound can be connected as an optional loopback-only sidecar. Compatibility note: Perplexity direct and the Kilo Perplexity gateway are gone from the provider schema, runtime and config — they are not source-only evidence providers. Release notes →

Hermes v3.3.0July 24, 2026

Bounded heading-aware extraction spans retain the body beneath a matching heading; provenance-safe result enrichment preserves contributing observations and adds explainable fetch hints; completion-order Research can stop after a conservative diversity quorum while preempted providers remain visible. The interaction ideas are independently adapted from Hound / Master-Fetch v11.2.0, the MIT-licensed project by Bishesh Bhandari (@dondai1234). Hound code is not bundled or claimed as Robby's code.

MCP v3.3.0July 24, 2026

The standalone package realigns from 1.2.0 to the portable WSP 3.3 engine version without breaking its two MCP tools. It carries the same semantic spans, provenance-safe enrichment, Research quorum and repaired quality_report projection, with Hound still connected only as a separately installed sidecar.

Hermes v3.2.0July 22, 2026

Optional local Search + Extract through Hound 11.1.6, connected as a loopback-only MCP sidecar. Hound stays separately installed and explicit-only by default; WSP retains source-only output, SSRF checks, bounded context, cache ownership and truthful provider receipts. Credit: Hound / Master Fetch, created by Bishesh Bhandari (@dondai1234).

MCP v1.2.0July 22, 2026

The standalone package tracks the portable WSP 3.2 engine: 13 Search and 9 Extract providers, Hound sidecar support, explicit MCP/httpx dependency floors, packaged setup guidance and truthful provider identity on fresh cache hits.

Hermes v3.1.2July 21, 2026

Patch release for two Provider SDK integration defects found in post-release review. Extraction requests served by SDK-discovered providers no longer fail closed inside the extraction-cache identity: they contribute a deterministic identity derived from their spec and the non-secret scalar settings of their config section, while unknown, unregistered providers still fail closed. And the providers.d non-production gate now acts before module execution — fixtures declaring production=False are skipped without being imported unless the explicit opt-in is set. No behavioural changes for built-in providers or any search path; existing caches remain valid. Release notes →

MCP v1.1.0July 20, 2026

The standalone MCP package syncs the portable Web Search Plus v3.1.1 engine: budget preflight, diversity scoring, self-hosted profiles, shadow-policy observations, semantic extraction spans, the versioned extraction-cache identity, and the public wsp_sdk with fail-closed providers.d discovery — while keeping the stable two-tool MCP boundary. v1.0.1 before it fixed auto-request fallback in the MCP projection. Release notes →

Hermes v3.1.1July 20, 2026

WSP 3.1 ships everything 3.0 deferred, plus the quality and budget layers around it — every feature opt-in, defaults functionally unchanged. A deterministic shadow routing policy now runs beside Classic Routing v2, persists its would-be decisions (never query text) and reports agreement and provider divergences in the read-only Operator Console; Classic remains authoritative and WSP_ROUTING_CLASSIC_ONLY=1 still wins. Budget preflight checks provider-call caps, daily quota, timeout and context budgets before the first provider call and degrades deterministically or aborts with a typed error. Quality reports gain a diversity diagnosis (registrable-domain coverage, canonical-URL duplication, near-duplicate content, provider mix). The extraction cache gets a versioned, request-exact identity contract — no wrong hits after endpoint, budget or extraction-config changes. A self-hosted profile runs automatic routing on SearXNG and keyless Keenable without commercial keys. Opt-in semantic spans return query-conditioned passages under a mechanical offset contract (NFC, Unicode codepoints, half-open ranges). And the new provider SDK makes a provider one self-contained providers.d module with scaffolding and a conformance suite — zero core-file edits. New Console endpoint: per-provider daily health trends. v3.1.1 hardens SDK receipt provenance and test-state isolation, restores schema-generator parity, and removes wall-clock flakes from journal concurrency tests. Release notes →

Hermes v3.0.2July 14, 2026

WSP 3.0.2 hardens registered Search/Extract entrypoints, bounded Research fan-out, cache identity, immutable full-text references and timeout snapshots. Building on v3.0, Web Search Plus is a source-only evidence engine: frozen native v3 request/response contracts with v2 compatibility projections, lossless provider observations captured before filtering/dedup/rerank/truncation, typed provider errors with complete attempt history and truthful routing/cache receipts, deterministic bounded-context extraction with page-on-demand full-text storage, SQLite operational state (dry-run-first migration, verified backups, idempotent apply, digest-checked rollback), a local loopback-only, token-authenticated, read-only Operator Console, direct extraction benchmarking with privacy-safe aggregate history, Classic Routing v2 kill switches and Brave in the default auto-pool. Compatibility note: WSP 3.0 is mechanically source-only — the native Perplexity and Kilo-Perplexity answer endpoints are no longer registered; existing keys are ignored, not deleted. The public Hermes tools remain web_search_plus and web_extract_plus. Release notes →

Hermes v2.9.1July 10, 2026

Shared cache operations now preserve provider health, performance and usage telemetry, invalid UTF-8 foreign JSON no longer crashes stats or clear, and Parallel extraction gets a fair 60k-per-result default budget for long pages. Release notes →

Hermes v2.9.0July 2, 2026

Patch release for Hermes Agent v0.18 standalone plugin discovery: Web Search Plus now loads from outside the plugin directory without cwd-sensitive sibling imports, while v2.8 keeps truncate-and-store extraction, unified freshness filters and provider benchmarking.

Hermes v2.7.0June 30, 2026

Private/internal extraction target URLs are blocked before provider dispatch, keyless-provider setup is smoother, and setup.py fastpath checks whether current public Hermes is routed through Web Search Plus cleanly.

Hermes v2.6.1June 26, 2026

GroktoCrawl can be used as a local Firecrawl-compatible backend through the existing firecrawl.api_url and firecrawl.scrape_url overrides; no separate provider or default backend required.

Hermes v2.6.0June 26, 2026

Keenable joins the Hermes provider lineup for search and extraction. Use KEENABLE_API_KEY for authenticated calls; the keyless public endpoint is opt-in and disabled by default.

Hermes v2.5.1June 16, 2026

Config-driven provider gating now covers both search and extraction. Firecrawl and any other provider can be disabled centrally in config.json without touching release code.

MCP v1.0.1July 20, 2026

Corrective routing release: normal provider=auto Search and Extract requests once again expand to multiple candidates and continue after quota or rate-limit failures. Explicit provider selections remain strict unless fallback is requested. The release adds boundary regressions that reproduce the former one-candidate plan and prove an executed second-provider fallback after a simulated 429. Release notes →

MCP v1.0.0July 14, 2026

The standalone MCP package now tracks the portable Web Search Plus v3.0.2 source-only contract: canonical v3 evidence and receipts, truthful multi-provider Research, bounded extraction and immutable full-text references, cache provenance, typed failures, and a stable two-tool MCP boundary for web_search and web_extract. Release notes →

OpenClaw Skill v3.3.0July 5, 2026

Feature sync with Web Search Plus v2.5–v2.9 for the standalone skill runtime: Keenable, freshness controls, news search, Serper extraction, locale routing, adaptive provider memory, stronger SSRF guards and long-page handling.

OpenClaw Plugin v3.2.0July 5, 2026

Feature sync with the current Web Search Plus engine: Keenable, freshness controls, news search, Serper extraction, locale routing, SSRF target guards, long-page handling and Parallel extraction budget tuning.

OpenClaw Plugin v3.1.0June 10, 2026

Native plugin release adds research mode, authority reranking, quality signals and retry jitter; ClawHub artifact verified and install-smoked through OpenClaw.

NanoClaw utility skillGitHub

Dedicated NanoClaw front-end packages the shared engine as a self-contained wsp CLI skill for agent containers — search and extract, no MCP bridge required.

FAQ

Quick answers.

Do I need API keys for all 15 providers?

No. One provider is enough. Commercial APIs use their own keys; SearXNG can be self-hosted, Keenable has an opt-in public tier, and DonSeTch can run as a separately installed local stdio provider without a provider API key.

Which clients does it work with?

Hermes Agent and OpenClaw natively as flagship plugins, NanoClaw through a dedicated utility-skill front-end, plus Claude Desktop, Claude Code, Cursor, NanoBot and any other MCP-compatible client through the standalone web-search-plus-mcp server on PyPI.

What happens when a provider fails?

The router falls through the chain: a missing key, provider error or empty result set moves the request to the next candidate automatically. The quality report records every fallback that was taken, so nothing fails silently.

Does it extract page content too, or just search?

Both. web_search_plus handles live search across 15 source-only search providers, and web_extract_plus pulls clean content from URLs across 9 extraction providers with the same fallback behavior.

What does it cost?

The router itself is free and open source. Commercial provider costs and data terms depend on what you configure. Self-hosted SearXNG and local DonSeTch avoid provider request fees but still have egress and storage boundaries; TinyFish and Octen remain explicit privacy trade-offs. See the provider guide for pricing, training, retention and ZDR caveats.