Skip to main content

Multi-source web search MCP server with automatic failover

Project description

Web Search MCP Server

多源网页搜索 MCP 服务器,支持自动故障转移。专为国内用户优化,无需 VPN 即可使用。

特性

  • VPN 自动检测: 自动检测网络环境,开启 VPN 用国际源,未开启用国内源
  • 多搜索源支持: 国内源(必应中国、百度、搜狗、360)+ 国际源(DuckDuckGo、Google News、Wikipedia)
  • 自动故障转移: 如果一个源失败,自动尝试下一个
  • 语言检测: 自动为中日韩文查询调整搜索参数
  • 灵活输出: 文本(人类可读)或 JSON(结构化)格式
  • 网页抓取: 从 URL 提取可读内容
  • 无需 API Key: 所有搜索源均为免费

安装

# 从源码安装
pip install -e .

# 或使用 uv
uv pip install -e .

搜索源

描述 国内可用
bing_china 必应中国 (cn.bing.com)
baidu 百度搜索
sogou 搜狗搜索
so360 360搜索 (so.com)
ddg_lite DuckDuckGo Lite ❌ 需VPN
google_news_rss Google News RSS ❌ 需VPN
wikipedia Wikipedia OpenSearch ❌ 需VPN

默认优先级

自动检测 VPN 状态:

  • VPN 开启: DuckDuckGo → Google News → Wikipedia → 必应中国 → 百度 → 搜狗 → 360
  • VPN 关闭: 必应中国 → 百度 → 搜狗 → 360

首次搜索时会自动检测网络环境(尝试访问 Google),结果会缓存避免重复检测。

使用

运行服务器

# 直接执行
mcpcn-web-search-mcp

# 或通过 Python
python -m web_search_mcp.server

Claude Desktop 配置

添加到 claude_desktop_config.json:

{
  "mcpServers": {
    "web-search": {
      "command": "mcpcn-web-search-mcp"
    }
  }
}

或使用 uv:

{
  "mcpServers": {
    "web-search": {
      "command": "uv",
      "args": [
        "--directory",
        "/path/to/web-search-mcp",
        "run",
        "mcpcn-web-search-mcp"
      ]
    }
  }
}

工具

web_search

使用多个搜索源搜索互联网,支持自动故障转移。

参数:

名称 类型 默认值 描述
query string 必填 搜索查询词
max_results int 10 最大结果数 (1-20)
format string "text" 输出格式: "text" 或 "json"
sources string "" 逗号分隔的源列表

示例:

# 文本格式(默认)
web_search(query="Python 教程", max_results=5)

# JSON 格式
web_search(query="最新AI新闻", format="json")

# 指定搜索源
web_search(query="机器学习", sources="baidu,bing_china")

# 仅使用国际源
web_search(query="machine learning", sources="ddg_lite,wikipedia")

fetch_webpage

从 URL 获取并提取可读内容。

参数:

名称 类型 默认值 描述
url string 必填 要获取的 URL
max_length int 8000 最大内容长度

示例:

fetch_webpage(url="https://example.com/article")

架构

┌─────────────────────────────────────────────────────────────┐
│                    MCP Server (FastMCP)                      │
├─────────────────────────────────────────────────────────────┤
│  web_search()                    fetch_webpage()             │
│      │                                 │                     │
│      ▼                                 ▼                     │
│  MultiSourceSearcher              requests + BeautifulSoup   │
│      │                                                       │
│      ├──► BingChinaProvider (国内,免费)                     │
│      ├──► BaiduProvider (国内,免费)                         │
│      ├──► SogouProvider (国内,免费)                         │
│      ├──► So360Provider (国内,免费)                         │
│      ├──► DuckDuckGoLiteProvider (国际,免费)                │
│      ├──► GoogleNewsRSSProvider (国际,新闻)                 │
│      └──► WikipediaProvider (国际,百科)                     │
└─────────────────────────────────────────────────────────────┘

开发

# 安装开发依赖
pip install -e ".[dev]"

# 运行测试
pytest

# 代码检查
ruff check .

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mcpcn_web_search_mcp-0.1.5.tar.gz (10.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mcpcn_web_search_mcp-0.1.5-py3-none-any.whl (11.6 kB view details)

Uploaded Python 3

File details

Details for the file mcpcn_web_search_mcp-0.1.5.tar.gz.

File metadata

  • Download URL: mcpcn_web_search_mcp-0.1.5.tar.gz
  • Upload date:
  • Size: 10.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for mcpcn_web_search_mcp-0.1.5.tar.gz
Algorithm Hash digest
SHA256 eccc8dbb7467e81c7c92d67b47e4a7b230d7d46b36be50db000b940600e28719
MD5 4f356966ac0219fa634f86528b116a21
BLAKE2b-256 84e5238a62e7bb442cbe53057fdce46f921e6858ac6072433f047412e0c48aff

See more details on using hashes here.

File details

Details for the file mcpcn_web_search_mcp-0.1.5-py3-none-any.whl.

File metadata

File hashes

Hashes for mcpcn_web_search_mcp-0.1.5-py3-none-any.whl
Algorithm Hash digest
SHA256 5faab3d3898b79ef5f0067853b29fc7379a7b0ece73af3bdc6c040c9dccdb48a
MD5 cab61d7da98f908ceb16c3c2ed96c7d1
BLAKE2b-256 e1014bef4b4390eb3af1b6ccd166b93a55d25a4f705a6f537a1fc43c80f01604

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page