MCP Smart Searcher
The MCP Smart Searcher server enables AI agents to perform multi-engine web searches and extract clean content from URLs.
web_search: Search the web using one or more engines simultaneously — DuckDuckGo, Baidu, Juejin, GitHub, GitHub Code, Tavily, Brave, and Startpage. Control which engines to use, how many results to return per engine (1–50, default 10), and run multiple engines at once for broader coverage.fetch_web_content: Fetch and extract text content from any public URL. Supports multiple output formats (Markdown, reader-mode article, plain text, or outline), optional prompt-based filtering to prioritize relevant content, and a configurable character limit (default 30,000).Configuration & Control: Restrict available engines via an allowlist, configure per-engine or global proxy settings, set concurrency limits for parallel requests, and integrate API keys for Tavily and GitHub engines.
Provides web search capabilities via Baidu as part of a multi-engine search system.
Provides web search capabilities via DuckDuckGo as part of a multi-engine search system.
Provides search capabilities for GitHub repositories and code as part of a multi-engine search system.
Provides web search capabilities via Juejin as part of a multi-engine search system.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@MCP Smart Searchersearch for 'MCP Smart Searcher' on DuckDuckGo"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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 8 engines simultaneously: DuckDuckGo, Baidu, Juejin, GitHub, GitHub Code, Tavily, Brave, Startpage
Web content extraction — Fetch and extract clean content from any public URL in multiple formats:
markdown(default) — Structured Markdown with headings, lists, code blocks, tables, and links preservedarticle— Reader-mode extraction via Mozilla Readability, ideal for blogs/docs/newstext— Plain text, legacy behavioroutline— Page structure overview (headings, regions, interactive elements) without full contentPlus noise removal, hidden-element stripping, 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-searcherMCP 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 buildConfiguration
All settings are configured via environment variables:
Variable | Description | Default |
| Comma-separated default engines when none specified |
|
| Comma-separated allowlist; unset = all allowed | (all) |
| Tavily AI Search API key | (none) |
| GitHub API token (for github/github_code engines) | (none) |
| Enable proxy for engines that need it |
|
| Proxy address |
|
| Override: comma-separated engines that use proxy | (auto) |
| Max parallel search requests |
|
| Logging level ( |
|
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=falseMCP 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-searcher2. 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=INFO3. 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
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
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/PXSR/mcp-smart-searcher'
If you have feedback or need assistance with the MCP directory API, please join our Discord server