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 and URL extraction across the right providers — for Hermes Agent, OpenClaw, 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, errors, result counts, timing and extraction path when you need receipts.
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 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 which provider answered, why it was picked, timings and any fallbacks 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,
"elapsed_ms": 742,
"extraction_path": null
}
Install paths
Hermes Agent and OpenClaw Plugin are both primary flagship paths. 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. Best default 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 --enableStandalone 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-mcpPortable skill workflow with search scripts, extraction script, cache, setup helpers and provider fallback for CLI-driven agents.
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: search plus extraction, explicit-only guarded providers, no stale hero metrics.
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 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.
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.
Native OpenClaw install with routing preferences, provider fallback and extraction support.
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, 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.