Intent routing
Research, shopping, news, local, semantic discovery and extraction each get routed to providers that are actually good at that job.
Agentic web search
Web Search Plus routes live web search, research mode and URL extraction across the right providers — now security-hardened for Hermes Agent, OpenClaw, NanoClaw, Claude Code, Cursor, NanoBot and any MCP client.
Why it exists
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.
Research, shopping, news, local, semantic discovery and extraction each get routed to providers that are actually good at that job.
Missing key, provider hiccup or empty result? It falls through instead of making the agent faceplant like a demo on conference Wi‑Fi.
Quality reports explain provider choice, canonical-domain boosts, errors, timing and extraction path; SSRF guards block private and metadata URLs by default.
Provider mesh
Use one interface; route across search, discovery, extraction and self-hosted privacy paths.
Under the hood
No black box. Each request is classified, routed, retried, canonical-reranked when intent calls for it, and — if you ask — explained back to you.
The query is read first: research, news, shopping, local, semantic discovery or URL extraction.
The best provider for that intent is chosen from the keys you actually have configured — one key works, more keys route smarter.
Missing key, provider error or empty result set? The chain moves to the next candidate instead of surfacing a dead end to the agent.
Pass quality_report=true and the response explains provider choice, fallback chain, canonical-domain hits, timings and any reranking taken.
{
// 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
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.
Native OpenClaw tools: web_search_plus, web_extract_plus and web_routing_config_plus. v3.1.0 adds research mode, authority reranking and retry jitter for OpenClaw workflows.
openclaw plugins install clawhub:web-search-plus-plugin-v2Hermes plugin exposing web_search_plus and web_extract_plus, now with in-process tool calls, parallel research mode and Hermes profile .env loading.
hermes plugins install robbyczgw-cla/hermes-web-search-plus --enableNanoClaw front-end for Web Search Plus: a self-contained utility skill that installs the wsp CLI into agent containers, no MCP required, no metered WebSearch pool.
/add-web-search-plusStandalone Python MCP server for Claude Desktop, Cursor, NanoBot and other clients. Current PyPI line carries the shared routing engine, 13 search providers, 6 extraction providers and registry-backed diagnostics.
uvx web-search-plus-mcpPortable skill workflow with research mode, canonical-source reranking, SSRF-protected URL extraction, hardened caching disclosures and narrow SkillSpector-clean triggers.
openclaw skills install web-search-plusQuickstart
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
The page tracks the current mainline surface: Hermes v2.4.0, OpenClaw Plugin v3.1.0, OpenClaw Skill v3.2.0 and MCP v0.11.0 — no fossilized release copy.
Feature sync with Hermes v2.4.0 plus SkillSpector fixes: narrow triggers, privacy disclosures, hardened local cache permissions, SSRF URL guard, permission metadata and credential redaction.
Native plugin release adds research mode, authority reranking, quality signals and retry jitter; ClawHub artifact verified and install-smoked through OpenClaw.
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.
Standalone MCP package keeps Claude Desktop, Cursor, NanoBot and other clients on the same shared routing engine and provider registry.
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
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.
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.
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.
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.
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.