Agentic web search

One search.
Every source.

Web Search Plus routes live web search and URL extraction across the right providers — for Hermes Agent, OpenClaw, Claude Code, Cursor, NanoBot and any MCP client.

13 search providers 6 extraction providers routing · fallback · quality reports Built by Robby Czesany @robbyczgw-cla
routing-preview.jsonlive
latest model pricing
fresh broad query
Brave
compare RAG papers
research query
Tavily
extract docs URL
content fetch + fallback
Exa → Linkup
similar OSS projects
semantic discovery
Exa
13search providers
6extraction providers
4install paths
1interface to learn

Why it exists

Stop hardcoding one search backend.

Agents need different sources for different jobs. Web Search Plus picks the route, keeps fallbacks warm, and returns clean structured results without turning every project into provider glue code.

01

Intent routing

Research, shopping, news, local, semantic discovery and extraction each get routed to providers that are actually good at that job.

02

Failure-tolerant

Missing key, provider hiccup or empty result? It falls through instead of making the agent faceplant like a demo on conference Wi‑Fi.

03

Debuggable

Quality reports explain provider choice, errors, result counts, timing and extraction path when you need receipts.

One hardcoded backendWeb Search Plus
Provider outage = every agent run breaks
Automatic fallback chain keeps answers flowing
Same engine forced on news, research, shopping and code
Each intent routes to a provider that is actually good at it
New client or runtime = new provider glue code
One engine across Hermes, OpenClaw and any MCP client
Empty results fail silently mid-task
Quality reports show who answered, why and how fast

Provider mesh

Coverage without the mess.

Use one interface; route across search, discovery, extraction and self-hosted privacy paths.

Serper Google-style results Brave broad web Tavily research Exa semantic discovery Querit multilingual Linkup grounded citations Firecrawl scrape-ready content Perplexity summarized web Kilo Perplexity gateway route You.com web + code SerpBase Google SERP Parallel explicit search + extract SearXNG self-hosted

Under the hood

Every query gets a plan.

No black box. Each request is classified, routed, retried and — if you ask — explained back to you.

01

Classify intent

The query is read first: research, news, shopping, local, semantic discovery or URL extraction.

02

Pick the provider

The best provider for that intent is chosen from the keys you actually have configured — one key works, more keys route smarter.

03

Fall through on failure

Missing key, provider error or empty result set? The chain moves to the next candidate instead of surfacing a dead end to the agent.

04

Return the receipts

Pass quality_report=true and the response explains which provider answered, why it was picked, timings and any fallbacks taken.

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,
  "elapsed_ms": 742,
  "extraction_path": null
}

Install paths

Pick your runtime.

Hermes Agent and OpenClaw Plugin are both primary flagship paths. The MCP server keeps every other client on the same routing engine.

MCP Server

PyPI v0.10.0

Standalone Python MCP server for Claude Desktop, Cursor, NanoBot and other clients. Synced with Web Search Plus v2.3: Routing v2.3, 13 search providers, 6 extraction providers and registry-backed diagnostics.

uvx web-search-plus-mcp

OpenClaw Skill

v3.0.3

Portable skill workflow with search scripts, extraction script, cache, setup helpers and provider fallback for CLI-driven agents.

openclaw skills install web-search-plus

Quickstart

Paste once, search everywhere.

Choose your client. Copy button included because typing config JSON on mobile is cruel and unusual punishment.

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

# 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 Agent
hermes plugins install robbyczgw-cla/hermes-web-search-plus --enable
python ~/.hermes/plugins/web-search-plus/setup.py setup

# Restart/reload Hermes, then use:
web_search_plus(query="latest AI model releases", quality_report=true)
web_extract_plus(urls=["https://example.com/docs"])
{
  "mcpServers": {
    "web-search-plus": {
      "command": "uvx",
      "args": ["web-search-plus-mcp"],
      "env": {
        "YOU_API_KEY": "your-key",
        "SERPER_API_KEY": "your-key",
        "LINKUP_API_KEY": "your-key"
      }
    }
  }
}
{
  "mcpServers": {
    "web-search-plus": {
      "command": "uvx",
      "args": ["web-search-plus-mcp"],
      "env": {
        "YOU_API_KEY": "your-key",
        "SERPER_API_KEY": "your-key",
        "LINKUP_API_KEY": "your-key"
      }
    }
  }
}
{
  "tools": {
    "mcpServers": {
      "web-search-plus": {
        "command": "uvx",
        "args": ["web-search-plus-mcp"],
        "env": {
          "YOU_API_KEY": "your-key",
          "SERPER_API_KEY": "your-key",
          "LINKUP_API_KEY": "your-key"
        }
      }
    }
  }
}

Current state

Fresh, not fossilized.

The page tracks the current mainline surface: search plus extraction, explicit-only guarded providers, no stale hero metrics.

Hermes v2.4.0June 8, 2026

In-process Hermes tool calls remove subprocess startup overhead, research mode fans providers out concurrently, and CLI/config helpers now load keys from the active Hermes profile .env.

Hermes ProviderSpec registryMay 29, 2026

Hermes v2.3.0 centralizes provider metadata across setup, config, routing, extraction, doctor diagnostics and CLI choices, reducing drift across the 13-search / 6-extract provider mesh.

MCP v0.10.0May 29, 2026

Standalone MCP package synced with Web Search Plus v2.3: shared ProviderSpec registry, Routing v2.3, doctor checks, research mode, 13 search providers and 6 extraction providers.

OpenClaw Pluginlatest path

Native OpenClaw install with routing preferences, provider fallback and extraction support.

FAQ

Quick answers.

Do I need API keys for all 13 providers?

No. One provider key is enough to get started — routing adapts to whichever keys are present and simply gets smarter as you add more. SearXNG even works self-hosted with no commercial key at all.

Which clients does it work with?

Hermes Agent and OpenClaw natively as flagship plugins, 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 13 providers, and web_extract_plus pulls clean content from URLs across 6 extraction providers with the same fallback behavior.

What does it cost?

The router itself is free and open source on GitHub. You only pay the providers you choose to configure — many offer generous free tiers, and the self-hosted SearXNG path costs nothing.