Skip to main content

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

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.

Release history Release notifications | RSS feed

This release

0.1.5 This release

2 files

0.1.4

2 files

0.1.3

2 files

0.1.2

2 files

0.1.1

2 files

0.1.0

2 files

Supported by

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