web-search-plus-mcp
The web-search-plus-mcp server enables AI assistants to perform intelligent web searches across multiple providers.
web_searchtool: Perform web searches with a requiredqueryparameter, optional provider override, and configurable result count (default: 5)Intelligent auto-routing: Analyzes query intent to automatically select the best provider — e.g., facts/news → Serper, research/explanations → Tavily, semantic discovery → Exa
7 supported providers: Serper (Google), Tavily, Querit, Exa, Perplexity, You.com, and SearXNG
Force a specific provider: Override auto-routing by specifying
auto,serper,tavily, orexaGraceful fallback: If a provider's API key is missing, the server falls back to available providers
Privacy option: SearXNG support for self-hosted, privacy-first searching at zero cost
MCP-native: Compatible with Claude Desktop, NanoBot, and any MCP-compatible host
Easy deployment: Zero-install via
uvxor standard pip installation; API keys configured via environment variables or.envfile
Integrated via Serper to provide search results for facts, news, shopping, and local businesses.
Integrated to provide AI-synthesized answers with citations as one of the search provider options.
Integrated as a privacy-first, self-hosted search provider for retrieving web search results.
🔍 web-search-plus-mcp
Multi-provider web search and Parallel-aware URL extraction for MCP clients.
web-search-plus-mcp is the standalone MCP packaging of Web Search Plus. It gives Claude Desktop, Cursor, NanoBot, Hermes native MCP, and other MCP-compatible hosts the same provider family used by the Hermes/OpenClaw Web Search Plus tools.
Version note: web-search-plus-mcp uses its own MCP package version (0.11.0) while tracking the Web Search Plus v2.4 engine family. The plugin package is versioned separately as hermes-web-search-plus v2.4.x.
✨ Features
13 search providers + auto-routing — provider metadata, schemas, defaults, and guarded/auto behavior are generated from the shared Web Search Plus provider registry
6 extract providers — Tavily, Exa, Linkup, Parallel, Firecrawl, You.com
Routing v2.3 auto-routing — registry-backed routing for multilingual/current, docs/API, arXiv, CVE/security, local/shopping, OSS discovery, and answer/synthesis queries
Quality reports + doctor checks — optional routing/result diagnostics plus compact offline health checks for configured providers/cache
Research mode — opt-in multi-provider search + top-source extraction with a time budget
Onboarding CLI —
status,list,setup, and persistent routingconfighelpers for MCP env/config wiringZero-install run —
uvx web-search-plus-mcpMCP-native — stdio server exposing stable
web_searchandweb_extracttools
Related MCP server: OneSearch MCP Server
🚀 Quick Start
# Run the MCP server instantly with uvx
uvx web-search-plus-mcp
# Or install globally
pip install web-search-plus-mcp
web-search-plus-mcpAt least one provider credential is required for search. Extraction needs at least one extraction-capable provider key.
🧭 Easier onboarding
Check configured providers:
web-search-plus-mcp statusList providers or presets:
web-search-plus-mcp list providers
web-search-plus-mcp list presetsWrite a starter .env template and print a canonical MCP stdio snippet:
web-search-plus-mcp setup --preset starterThe recommended starter preset is You.com + Serper + Linkup. It gives a practical Routing v2 baseline for fast current search, Google-style discovery, and extraction workflows without wiring every provider on day one.
status returns a non-zero exit code when no search provider is configured, which makes it usable as a config check in scripts.
Persistent routing preferences live in config.json rather than .env:
web-search-plus-mcp config show
web-search-plus-mcp config set-default you # strict fixed-provider mode
web-search-plus-mcp config set-routing on # restore Routing v2 auto-routing
web-search-plus-mcp config set-priority you,serper,exa,firecrawl,tavily,linkup,parallel,brave
web-search-plus-mcp config set-fallback serper
web-search-plus-mcp config disable perplexity
web-search-plus-mcp config enable perplexity
web-search-plus-mcp config disable kilo-perplexity
web-search-plus-mcp config set-threshold 0.45
web-search-plus-mcp config reset --yesUse --config-path /path/to/config.json or WEB_SEARCH_PLUS_CONFIG=/path/to/config.json for isolated MCP host installs. Provider secrets stay in environment variables; routing behavior stays in config.json.
Other presets:
minimal— You.com onlylean— You.com + Linkupstarter— You.com + Serper + Linkupall— every supported provider env var
⚙️ MCP host config
Canonical stdio snippet for Claude Desktop, Cursor, NanoBot, or Hermes native MCP:
{
"mcpServers": {
"web-search-plus": {
"command": "uvx",
"args": ["web-search-plus-mcp"],
"env": {
"YOU_API_KEY": "your_you_key",
"SERPER_API_KEY": "your_serper_key",
"LINKUP_API_KEY": "your_linkup_key"
}
}
}
}Common places to paste this snippet:
Claude Desktop macOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonClaude Desktop Windows:
%APPDATA%\\Claude\\claude_desktop_config.jsonClaude Desktop Linux:
~/.config/Claude/claude_desktop_config.jsonCursor: project/user MCP config using the same
mcpServersshapeHermes native MCP:
~/.hermes/config.yamlundermcp_serverswith equivalent command/env fields
You can also place a .env file next to the package/project with the same variables.
🔎 Search Providers
You.com — fast Routing v2 core provider for current, multilingual, and answer-shaped snippets
Serper — Google-style facts, news, shopping, local queries
Exa — semantic discovery, GitHub/docs, arXiv/academic, and OSS discovery
Firecrawl — web search plus scrape-ready content
Parallel — explicit-only LLM-ready web search with long excerpts (
PARALLEL_API_KEY,auto_allow=false)Tavily — research and analysis
Linkup — source-backed grounding/citations
Brave — explicit-only independent web index by default (
BRAVE_API_KEY,auto_allow=false)Perplexity — explicit-only native Perplexity API synthesized answers (
PERPLEXITY_API_KEY,sonar-pro,auto_allow=false)Kilo Perplexity — explicit-only Perplexity via Kilo gateway (
KILOCODE_API_KEY,perplexity/sonar-pro,auto_allow=false)SearXNG — privacy-first self-hosted meta-search
SerpBase — explicit-only Google SERP API (
SERPBASE_API_KEY,auto_allow=false)Querit — explicit-only multilingual, real-time AI search (
QUERIT_API_KEY,auto_allow=false)
📄 Extract Providers
Tavily — default first choice; fastest reliable extraction in the v2.1 benchmark
Exa — fast contents API, strong for docs/academic pages
Linkup — clean markdown and source-grounded fetches
Parallel — fast excerpt-rich docs fallback with optional full-content extraction
Firecrawl — robust scrape fallback, useful for JS-heavy/blocked pages
You.com — LLM-ready snippets/content where available
🛠 MCP Tool Reference
This MCP server exposes stable web_search and web_extract tools. The old beta web_answer tool was removed to match Web Search Plus v2.1+: use web_search for source discovery and let the MCP host synthesize from results when needed.
The Hermes plugin exposes the same stable capability as web_search_plus and web_extract_plus; the names differ because MCP and Hermes use different tool surfaces.
web_search
Use for source discovery, current events, prices, weather, sports lineups, schedules, and whenever you want the raw search landscape first.
Parameters:
query— required search queryprovider—auto,serper,brave,tavily,exa,linkup,firecrawl,parallel,perplexity,kilo-perplexity,you,searxng,serpbase,queritcount— results to return, default5, max20depth— Exa depth:normal,deep,deep-reasoningtime_range—hour,day,week,month,yearinclude_domains/exclude_domains— domain allow/deny listsmode—normalorresearchquality_report— include routing/result diagnosticsresearch_time_budget— best-effort wall-clock budget for research mode
Example MCP arguments:
{
"query": "latest AI hardware news",
"provider": "auto",
"count": 5,
"quality_report": true
}web_extract
Parameters:
urls— required list of URLsprovider—auto,tavily,exa,linkup,parallel,firecrawl,youformat—markdownorhtmlinclude_images— include image metadata when supportedinclude_raw_html— include raw HTML when supportedrender_js— render JavaScript before extraction when supported
Example MCP arguments:
{
"urls": ["https://example.com"],
"provider": "auto",
"format": "markdown"
}🧠 Routing v2 Examples
東京 AI ニュース 今日→ You.com multilingual/current searcharXiv 2024 LLM scaling laws→ Exa academic discoveryCVE-2025 openssl advisory→ Serper security/current searchbest bookshelf speakers under 1000 EUR Austria→ Serper/Firecrawl shopping/local searchopen source alternatives to Linear→ Exa/Firecrawl OSS discoverysummarize the tradeoffs of RAG vs fine-tuning→ You.com with synthesis hint metadata for the MCP host
Guarded providers can still be called explicitly. To let one participate in provider="auto", opt in:
web-search-plus-mcp config set-auto-allow parallel on
web-search-plus-mcp config set-auto-allow parallel offCredits
Built on the Web Search Plus routing engine and packaged as a standalone MCP server.
License
MIT © 2026 robbyczgw-cla
Maintenance
Tools
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/robbyczgw-cla/web-search-plus-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server