Skip to main content

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 preserved
    • article — Reader-mode extraction via Mozilla Readability, ideal for blogs/docs/news
    • text — Plain text, legacy behavior
    • outline — Page structure overview (headings, regions, interactive elements) without full content
    • Plus 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-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_ENGINES Comma-separated default engines when none specified duckduckgo,baidu,startpage,tavily,brave
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

Metadata

Release files for mcp-smart-searcher 0.3.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for mcp-smart-searcher 0.3.1
File Size Uploaded
mcp_smart_searcher-0.3.1.tar.gz 11.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for mcp-smart-searcher 0.3.1
File Interpreter ABI Platform
mcp_smart_searcher-0.3.1-py3-none-any.whl Python 3 none any Details

Total release size: 24.9 kB

Release files / mcp_smart_searcher-0.3.1.tar.gz

Download URL mcp_smart_searcher-0.3.1.tar.gz
Size 11.8 kB
Tags Source
SHA-256 checksum
How to use checksums
8feaec1860540b1387cc0ee9ab90630f9d3e4f16c6c024b5cb3c345bb65e2be3
BLAKE2b-256 checksum
How to use checksums
5507f1e0431165703250ba0677bebd168a6d12e0a7f5aa81c530bc215ad3ce4c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.2

Release files / mcp_smart_searcher-0.3.1-py3-none-any.whl

Download URL mcp_smart_searcher-0.3.1-py3-none-any.whl
Size 13.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
85b5071b5916dc3e30fec59bef713db29b3496bcba18dfd020431aa7b9a10872
BLAKE2b-256 checksum
How to use checksums
54c5b1bedd98535ac618e92fd33badba95e761c5c8c4adfc6ea8791e1ae35936
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.2

Release history Release notifications | RSS feed

This release

0.3.1 This release

2 release files

0.3.0

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page