← 返回目录
O

Open WebSearch

社区
无需 API 密钥的多引擎网页搜索与内容抓取
GitHub 源仓库 ↗
★ 1.7k Stars 分类 · 其他 非常热门 源版本 ea2f0eee845f
51FMRS · D
可靠性
8/20
安全与权限
11/20
维护活跃度
10/20
文档质量
12/20
安装易用性
10/20

open-websearch 是一个功能丰富的多引擎搜索 MCP 服务器,提供 CLI 和本地守护进程,无需 API 密钥。它支持多种搜索后端和内容抓取。但依赖爬虫,存在被封锁的风险,适合个人开发和小型项目,不适合高可靠性要求的场景。

查看 FMRS 评分方法 →

open-websearch 是一个 MCP 服务器,同时提供 CLI 和本地守护进程,支持多引擎(必应、百度、DuckDuckGo、Exa、Brave、CSDN、掘金、Startpage、搜狗)的网页搜索和内容抓取,无需 API 密钥。它支持 HTTP 代理配置以访问受限资源,并提供结构化结果(标题、URL、描述)。此外,它还支持抓取特定平台的文章内容(如 CSDN、掘金、GitHub README)以及通用网页/Markdown 内容。该项目采用 Apache-2.0 许可证。

工具能力

search
在多引擎中搜索网页,返回结构化结果。
fetchLinuxDoArticle
抓取 Linux.do 论坛文章的完整内容。
fetchCsdnArticle
抓取 CSDN 博客文章的完整内容。
fetchGithubReadme
抓取 GitHub 仓库的 README 内容。
fetchJuejinArticle
抓取掘金文章的完整内容。
fetchWebContent
抓取公开 HTTP(S) 页面或 Markdown 文件的内容。

安装接入

  1. 使用 npx 快速开始:npx open-websearch@latest,或设置环境变量(如 DEFAULT_SEARCH_ENGINE=duckduckgo)。
  2. 对于本地安装:克隆仓库,运行 npm installnpm run build
  3. 配置 MCP 客户端(如 Claude Desktop、Cherry Studio、Cursor)使用 stdio 或 streamable-http 传输。
  4. 可选:配置代理(USE_PROXY=truePROXY_URL)和 Playwright(用于浏览器回退)。
claude_desktop_config.json
{
  "mcpServers": {
    "web-search": {
      "command": "npx",
      "args": [
        "open-websearch@latest"
      ],
      "env": {
        "MODE": "stdio",
        "DEFAULT_SEARCH_ENGINE": "duckduckgo",
        "ALLOWED_SEARCH_ENGINES": "duckduckgo,bing,exa"
      }
    }
  }
}

选型与风险

适合谁

  • 需要无密钥多引擎搜索的开发者。
  • 集成到 MCP 客户端(如 Claude Desktop、Cursor)的 Agent 工作流。
  • 需要本地守护进程提供 HTTP API 的服务场景。

不适合谁

  • 需要高可靠性和合规性的生产级搜索服务(因爬虫限制)。
  • 对搜索引擎服务条款敏感的应用。
  • 需要实时搜索结果的场景,可能因爬虫限制而失败。

所需权限

  • 网络访问:执行搜索和抓取内容需要出站 HTTP 请求。
  • 本地端口:以 HTTP 模式运行时占用 3000 端口(可通过 PORT 环境变量修改)。
  • 无需 API 密钥或认证。
  • 可选:Playwright 浏览器自动化(需要安装 Chromium 或连接远程浏览器)。

风险与副作用

  • 搜索引擎可能封锁频繁请求,导致暂时不可用。
  • 结果依赖搜索引擎 HTML 结构,可能因引擎更新而失败。
  • 某些页面可能无法提取可读内容(如 JS 密集页面)。
  • 使用代理或伪造 IP CIDR 时需注意网络合规性。

常见排障

  1. 检查环境变量(如 `DEFAULT_SEARCH_ENGINE`、`USE_PROXY`、`PORT`)是否正确设置。
  2. 对于支持 streamable-http 的客户端,确保 `baseUrl` 指向 `http://localhost:3000/mcp`。
  3. 如果遇到网络限制,设置 `USE_PROXY=true` 和 `PROXY_URL`。
  4. 如果抓取某些网站失败,尝试使用 Playwright 模式(`SEARCH_MODE=auto`)。

使用场景

在多个搜索引擎中执行网页搜索,无需 API 密钥。
抓取特定平台文章(如 CSDN、掘金、GitHub README)用于深入分析。
通过 CLI 或守护进程集成到自动化脚本中。

支持客户端

Claude Desktop完整支持
Cherry Studio完整支持
Cursor完整支持
VSCode完整支持