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

Metadata

Release files for mcpcn-web-search-mcp 0.1.5

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

Source distribution (sdist)

Source distribution for mcpcn-web-search-mcp 0.1.5
File Size Uploaded
mcpcn_web_search_mcp-0.1.5.tar.gz 10.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for mcpcn-web-search-mcp 0.1.5
File Interpreter ABI Platform
mcpcn_web_search_mcp-0.1.5-py3-none-any.whl Python 3 none any Details

Total release size: 21.9 kB

Release files / mcpcn_web_search_mcp-0.1.5.tar.gz

Download URL mcpcn_web_search_mcp-0.1.5.tar.gz
Size 10.2 kB
Tags Source
SHA-256 checksum
How to use checksums
eccc8dbb7467e81c7c92d67b47e4a7b230d7d46b36be50db000b940600e28719
BLAKE2b-256 checksum
How to use checksums
84e5238a62e7bb442cbe53057fdce46f921e6858ac6072433f047412e0c48aff
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.5

Release files / mcpcn_web_search_mcp-0.1.5-py3-none-any.whl

Download URL mcpcn_web_search_mcp-0.1.5-py3-none-any.whl
Size 11.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
5faab3d3898b79ef5f0067853b29fc7379a7b0ece73af3bdc6c040c9dccdb48a
BLAKE2b-256 checksum
How to use checksums
e1014bef4b4390eb3af1b6ccd166b93a55d25a4f705a6f537a1fc43c80f01604
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.5

Release history Release notifications | RSS feed

This release

0.1.5 This release

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

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