MCP Smart Searcher
A smart MCP server for multi-engine web search with AI-powered results, supporting 6 search engines and web content extraction.
README
MCP Smart Searcher
A smart MCP (Model Context Protocol) server for multi-engine web search with AI-powered results.
Features
- Multi-engine search — Search across 6 engines simultaneously: DuckDuckGo, Baidu, Juejin, GitHub, GitHub Code, Tavily
- Web content extraction — Fetch and extract clean text from any public URL, with noise removal and prompt-guided filtering
- Rate limiting — Built-in concurrency control via semaphore
- Proxy support — Per-engine proxy configuration
- Engine allowlist — Restrict which engines can be used
Installation
# For users
pip install mcp-smart-searcher
# For development
pip install -e ".[dev]"
Usage
Run the server
# Direct command (after pip install)
mcp-smart-searcher
# Or via Python module
python -m mcp_smart_searcher
# Or via uvx (no install required)
uvx mcp-smart-searcher
MCP client configuration
Add to your MCP client config (e.g., Claude Desktop):
{
"mcpServers": {
"smart-searcher": {
"command": "mcp-smart-searcher"
}
}
}
Or with uvx (no install required):
{
"mcpServers": {
"smart-searcher": {
"command": "uvx",
"args": ["mcp-smart-searcher"]
}
}
}
Development
# Run with MCP inspector
mcp dev src/mcp_smart_searcher/server.py
# Run tests
PYTHONPATH=src pytest
# Build
python -m build
Configuration
All settings are configured via environment variables:
| Variable | Description | Default |
|---|---|---|
DEFAULT_SEARCH_ENGINE |
Default engine when none specified | duckduckgo |
ALLOWED_SEARCH_ENGINES |
Comma-separated allowlist; unset = all allowed | (all) |
TAVILY_API_KEY |
Tavily AI Search API key | (none) |
GITHUB_TOKEN |
GitHub API token (for github/github_code engines) | (none) |
USE_PROXY |
Enable proxy for engines that need it | true |
PROXY_URL |
Proxy address | http://127.0.0.1:10809 |
PROXY_ENGINES |
Override: comma-separated engines that use proxy | (auto) |
MAX_CONCURRENT_SEARCH |
Max parallel search requests | 5 |
LOG_LEVEL |
Logging level (DEBUG/INFO/WARNING/ERROR) |
INFO |
Proxy behavior
By default, domestic engines (baidu, juejin) skip proxy, while all others use proxy. You can override this with PROXY_ENGINES:
# Only use proxy for DuckDuckGo and GitHub
PROXY_ENGINES=duckduckgo,github,github_code
# Disable proxy entirely
USE_PROXY=false
MCP client configuration with env vars
{
"mcpServers": {
"smart-searcher": {
"command": "mcp-smart-searcher",
"env": {
"TAVILY_API_KEY": "tvly-xxx",
"GITHUB_TOKEN": "ghp_xxx",
"PROXY_URL": "http://127.0.0.1:10809",
"LOG_LEVEL": "INFO"
}
}
}
}
Or with uvx (no install required):
{
"mcpServers": {
"smart-searcher": {
"command": "uvx",
"args": ["mcp-smart-searcher"],
"env": {
"TAVILY_API_KEY": "tvly-xxx",
"GITHUB_TOKEN": "ghp_xxx"
}
}
}
}
Quick Start
1. Install
pip install mcp-smart-searcher
2. Configure (optional)
Create a .env file or set environment variables:
# .env
TAVILY_API_KEY=tvly-your-key-here
GITHUB_TOKEN=ghp_your-token-here
PROXY_URL=http://127.0.0.1:10809
LOG_LEVEL=INFO
3. Add to your MCP client
{
"mcpServers": {
"smart-searcher": {
"command": "mcp-smart-searcher"
}
}
}
4. Done!
Your AI agent can now search the web and fetch web pages.
License
Apache-2.0
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.