Multi-provider web search MCP server with intelligent auto-routing (Serper, Tavily, Querit, Exa, Perplexity, You.com, SearXNG)
Project description
🔍 web-search-plus-mcp
Multi-provider web search MCP server with intelligent auto-routing.
A Model Context Protocol server that gives AI assistants access to 7 search providers with intelligent auto-routing. Analyzes query intent and picks the best provider automatically — no manual switching needed. Install, configure your keys, and go.
✨ Features
- Intelligent auto-routing — analyzes query intent and picks the best provider automatically
- 7 search providers — use one or all, graceful fallback if any key is missing
- Zero install option — run instantly with
uvx web-search-plus-mcp - MCP-native — works with Claude Desktop, NanoBot, and any MCP-compatible host
🔎 Supported Providers
| Provider | Best for | Free tier |
|---|---|---|
| Serper (Google) | Facts, news, shopping, local businesses | 2,500 queries/month |
| Tavily | Deep research, analysis, explanations | 1,000 queries/month |
| Querit | Multi-lingual AI search with rich metadata and real-time info | 1,000 queries/month |
| Exa (Neural) | Semantic discovery, finding similar content | 1,000 queries/month |
| Perplexity | AI-synthesized answers with citations | Via API key |
| You.com | Real-time RAG, LLM-ready snippets | Limited free tier |
| SearXNG | Privacy-first, self-hosted, $0 cost | Free (self-hosted) |
🧠 Auto-Routing Examples
| Query | Routed to | Why |
|---|---|---|
| "iPhone 16 Pro price" | Serper | Shopping intent detected |
| "how does TCP/IP work" | Tavily | Research/explanation intent |
| "latest multilingual EV market updates" | Querit | Real-time AI search |
| "companies like Stripe" | Exa | Discovery/semantic intent |
| "what is quantum computing" | Perplexity | Direct answer intent |
🚀 Quick Start
# Run instantly with uvx (no install needed)
uvx web-search-plus-mcp
# Or install globally with pip
pip install web-search-plus-mcp
web-search-plus-mcp
⚙️ Claude Desktop Config
Add to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):
{
"mcpServers": {
"web-search-plus": {
"command": "uvx",
"args": ["web-search-plus-mcp"],
"env": {
"SERPER_API_KEY": "your_serper_key",
"TAVILY_API_KEY": "your_tavily_key",
"QUERIT_API_KEY": "your_querit_key",
"EXA_API_KEY": "your_exa_key",
"PERPLEXITY_API_KEY": "your_perplexity_key",
"YOU_API_KEY": "your_you_key",
"SEARXNG_BASE_URL": "https://your-searxng-instance.example.com"
}
}
}
}
🤖 NanoBot Config
Add to your NanoBot config.json under mcp_servers:
{
"mcp_servers": [
{
"name": "web-search-plus",
"command": "uvx",
"args": ["web-search-plus-mcp"],
"env": {
"SERPER_API_KEY": "your_serper_key",
"TAVILY_API_KEY": "your_tavily_key",
"QUERIT_API_KEY": "your_querit_key",
"EXA_API_KEY": "your_exa_key",
"PERPLEXITY_API_KEY": "your_perplexity_key",
"YOU_API_KEY": "your_you_key",
"SEARXNG_BASE_URL": "https://your-searxng-instance.example.com"
}
}
]
}
🔑 Environment Variables
| Variable | Provider | Sign up |
|---|---|---|
SERPER_API_KEY |
Serper (Google) | console.serper.dev |
TAVILY_API_KEY |
Tavily | tavily.com |
QUERIT_API_KEY |
Querit | querit.ai |
EXA_API_KEY |
Exa | exa.ai |
PERPLEXITY_API_KEY |
Perplexity | docs.perplexity.ai |
YOU_API_KEY |
You.com | you.com/api |
SEARXNG_BASE_URL |
SearXNG (self-hosted) | docs.searxng.org |
At least one provider is required. More providers = better routing coverage. SearXNG needs no API key — just point SEARXNG_BASE_URL at your self-hosted instance.
You can also drop a .env file next to the server:
SERPER_API_KEY=xxx
TAVILY_API_KEY=xxx
QUERIT_API_KEY=xxx
EXA_API_KEY=xxx
PERPLEXITY_API_KEY=xxx
YOU_API_KEY=xxx
SEARXNG_BASE_URL=https://your-searxng-instance.example.com
🛠 Tool Reference
web_search
| Parameter | Type | Default | Description |
|---|---|---|---|
query |
string | required | Search query |
provider |
string | "auto" |
Force a provider: auto, serper, tavily, querit, exa, perplexity, you, searxng |
count |
integer | 5 |
Number of results to return |
Credits
Built on the web-search-plus routing logic — a multi-provider search skill for OpenClaw with intelligent auto-routing.
License
MIT © 2026 robbyczgw-cla
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file web_search_plus_mcp-0.1.2.tar.gz.
File metadata
- Download URL: web_search_plus_mcp-0.1.2.tar.gz
- Upload date:
- Size: 31.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0fd7ffbda745651cbbfc9321a5deb7401d0595e453f1594f95a610f0b30fc04f
|
|
| MD5 |
535757c5ae84b25656fc2996192998ad
|
|
| BLAKE2b-256 |
b529a48fde522c666fd6b137f26acfd8701e108fc7a09dd82de912721c06bd6a
|
File details
Details for the file web_search_plus_mcp-0.1.2-py3-none-any.whl.
File metadata
- Download URL: web_search_plus_mcp-0.1.2-py3-none-any.whl
- Upload date:
- Size: 32.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d17a4ad9894478754afc1b3317de1925319aa3dd1a222c95fd5afb3421e10727
|
|
| MD5 |
e2f2513b1636c3355ac057a2043e93d3
|
|
| BLAKE2b-256 |
773ebf8f29b7674b5cfc81388e626e3c628952e45d5f1959408a614dbf00b272
|