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
Related MCP server: Google Search MCP Server
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
Maintenance
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
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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