Skip to main content

Multi-provider web search and extraction MCP server with intelligent auto-routing, quality reports, and research mode

Project description

🔍 web-search-plus-mcp

PyPI version Python 3.10+ MCP License: MIT Glama

Multi-provider web search and extraction MCP server with intelligent auto-routing.

web-search-plus-mcp is the standalone MCP packaging of Web Search Plus. It gives Claude Desktop, NanoBot, Cursor, and other MCP-compatible hosts access to the same Python routing engine family used by the Hermes/OpenClaw Web Search Plus tools.

Version note: web-search-plus-mcp uses its own MCP package version (0.2.1) while tracking the Web Search Plus engine family (v1.7). The Hermes plugin is versioned separately as hermes-web-search-plus v1.7.x.

✨ Features

  • 10 search providers — Serper, Brave, Tavily, Exa, Querit, Linkup, Firecrawl, Perplexity, You.com, SearXNG
  • 5 extract providers — Firecrawl, Linkup, Tavily, Exa, You.com
  • Intelligent auto-routing — scores query intent and picks a provider automatically
  • Quality reports — optional routing/result diagnostics
  • Research mode — opt-in multi-provider search + top-source extraction with a time budget
  • Zero-install runuvx web-search-plus-mcp
  • MCP-native — stdio server exposing web_search and web_extract

🚀 Quick Start

# Run instantly with uvx
uvx web-search-plus-mcp

# Or install globally
pip install web-search-plus-mcp
web-search-plus-mcp

At least one provider credential is required for search. Extraction needs at least one extraction-capable provider key.

⚙️ Claude Desktop Config

Add this to Claude Desktop's config file:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\\Claude\\claude_desktop_config.json
  • Linux: ~/.config/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "web-search-plus": {
      "command": "uvx",
      "args": ["web-search-plus-mcp"],
      "env": {
        "LINKUP_API_KEY": "your_linkup_key",
        "TAVILY_API_KEY": "your_tavily_key",
        "EXA_API_KEY": "your_exa_key",
        "FIRECRAWL_API_KEY": "your_firecrawl_key",
        "BRAVE_API_KEY": "your_brave_key",
        "SERPER_API_KEY": "your_serper_key",
        "QUERIT_API_KEY": "your_querit_key",
        "PERPLEXITY_API_KEY": "your_perplexity_key",
        "YOU_API_KEY": "your_you_key",
        "SEARXNG_INSTANCE_URL": "https://your-searxng-instance.example.com"
      }
    }
  }
}

You can also place a .env file next to the package/project with the same variables.

🔎 Search Providers

  • Serper — Google-style facts, news, shopping, local queries
  • Brave — general-purpose independent web index
  • Tavily — research and analysis
  • Exa — semantic discovery, similarity, deep/deep-reasoning synthesis
  • Querit — multilingual, real-time AI search
  • Linkup — source-backed grounding/citations
  • Firecrawl — web search plus scrape-ready content
  • Perplexity — direct synthesized answers
  • You.com — LLM-ready real-time snippets
  • SearXNG — privacy-first self-hosted meta-search

📄 Extract Providers

  • Linkup — recommended first choice for clean markdown and low cost
  • Firecrawl — robust scrape fallback, useful for JS-heavy/blocked pages
  • Tavily — extraction/content API
  • Exa — contents API
  • You.com — LLM-ready snippets/content where available

🛠 MCP Tool Reference

This MCP server exposes web_search and web_extract. The Hermes plugin exposes the same capability as web_search_plus and web_extract_plus; the names differ because MCP and Hermes use different tool surfaces.

web_search

Parameters:

  • query — required search query
  • providerauto, serper, brave, tavily, exa, querit, linkup, firecrawl, perplexity, you, searxng
  • count — results to return, default 5, max 20
  • depth — Exa depth: normal, deep, deep-reasoning
  • time_rangehour, day, week, month, year
  • include_domains / exclude_domains — domain allow/deny lists
  • modenormal or research
  • quality_report — include routing/result diagnostics
  • research_time_budget — best-effort wall-clock budget for research mode

Example MCP arguments:

{
  "query": "latest Hermes Agent release",
  "provider": "linkup",
  "count": 5,
  "quality_report": true
}

web_extract

Parameters:

  • urls — required list of URLs
  • providerauto, firecrawl, linkup, tavily, exa, you
  • formatmarkdown or html
  • include_images — include image metadata when supported
  • include_raw_html — include raw HTML when supported
  • render_js — render JavaScript before extraction when supported

Example MCP arguments:

{
  "urls": ["https://example.com"],
  "provider": "linkup",
  "format": "markdown"
}

🧠 Auto-Routing Examples

  • iPhone 16 Pro price → Serper/Brave shopping-style search
  • how does TCP/IP work → Tavily research-style search
  • latest multilingual EV market updates → Querit/Linkup real-time/source-backed search
  • companies like Stripe → Exa discovery search
  • what is quantum computing → Perplexity/You.com direct-answer style search
  • privacy focused search results → SearXNG when configured

Credits

Built on the Web Search Plus routing logic originally developed for OpenClaw/Clawhub and later ported to Hermes as hermes-web-search-plus.

License

MIT © 2026 robbyczgw-cla

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

web_search_plus_mcp-0.2.1.tar.gz (87.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

web_search_plus_mcp-0.2.1-py3-none-any.whl (42.7 kB view details)

Uploaded Python 3

File details

Details for the file web_search_plus_mcp-0.2.1.tar.gz.

File metadata

  • Download URL: web_search_plus_mcp-0.2.1.tar.gz
  • Upload date:
  • Size: 87.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.15

File hashes

Hashes for web_search_plus_mcp-0.2.1.tar.gz
Algorithm Hash digest
SHA256 01b585a4b632cedde7c957514b5b32813425a2f4b9171dbfa0c2306840ae613c
MD5 2e586fd5286607e1ace621226df51627
BLAKE2b-256 13ca856d1359b69ab5254a7d6b6ae58f08d60c3c5330d3fbdd55c820ceb4eb06

See more details on using hashes here.

File details

Details for the file web_search_plus_mcp-0.2.1-py3-none-any.whl.

File metadata

File hashes

Hashes for web_search_plus_mcp-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 d5555793bda841da914813fb78188df83b0a30ea1de8744e98a30fe35c3fa14c
MD5 e9a68147689970212b4dfe2b141f20cf
BLAKE2b-256 bfebc85b5b004e6b58bfc6d207407953460b93bbda2ccbcf1502f03e6cb5c5f9

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page