← 返回目录
D

DuckDuckGo Search MCP Server

社区
通过 DuckDuckGo 提供网页搜索和内容抓取功能的 MCP 服务器
分类
其他
Stars
★ 1.5k 非常热门
传输方式
stdio(本地进程)
运行环境
Python
凭据
无需凭据
许可证
MIT
最近提交
工具数
2
74FMRS · B

该服务器为 AI 助手提供了实用的网页搜索和内容抓取功能,内置了速率限制和过滤功能。但依赖 DuckDuckGo 和第三方网站,可能受指纹封锁影响,需额外安装浏览器后端。适合个人和小型项目使用。

最强项 · 文档质量 17/20 最弱项 · 可靠性 11/20

可靠性
11/20
安全与权限
15/20
维护活跃度
17/20
文档质量
17/20
安装易用性
14/20
查看各项评分依据
可靠性 11/20
仓库提供了清晰的启动命令(uvx)和多个工具(search, fetch_content),README中描述了自动回退到curl后端以应对TLS指纹封锁,且有SSRF保护措施。存在测试文件(test_server.py, test_e2e.py)和CI工作流,但未实际执行;静态审查无法验证所有路径,且后端依赖(curl_cffi)可能增加故障点,因此可靠性扣分。
安全与权限 15/20
fetch_content工具内置SSRF防护,拒绝私有IP和循环地址,并重新验证重定向。支持CA证书配置和安全搜索环境变量,权限最小化。未发现明显恶意行为或凭证窃取风险,但需要确认是否对危险操作有显式确认机制,整体安全评分较高。
维护活跃度 17/20
项目活跃,有持续提交和发布,MIT许可证明确,PyPI版本和下载量显示维护良好。开源问题仅4个,有清晰的贡献指南,依赖更新频繁。没有安全响应渠道的明显证据,但整体维护状况良好。
文档质量 17/20
README详尽,包含安装、配置、工具参数、区域代码、错误处理、后端选项、SSRF防护说明和开发测试命令。有SECURITY.md和PyPI链接,但缺少故障排除章节和详细的成本说明,文档质量很高但略有小瑕疵。
安装易用性 14/20
通过uvx安装和运行非常简单,Claude Desktop和Claude Code配置示例明确,支持多种传输和自定义选项。但是需要额外安装[browser] extra才能使用回退功能,且环境变量配置可能对不同平台有差异,总体设置步骤清晰,但依赖浏览器后端时需要额外步骤。

静态评测 · 未实际运行收录于 2026-08-07

查看 FMRS 评分方法 →

选型与风险

能访问什么访问网络

适合谁

  • 需要快速、无需 API 密钥的网页搜索功能的开发者
  • 希望在本地运行搜索服务的隐私意识用户
  • 使用 Claude Desktop 或 Claude Code 的 AI 应用开发

不适合谁

  • 需要大规模、高可靠性搜索 API 的企业应用
  • 需要高级搜索功能(如自定义排序、过滤)的用户
  • 在没有安装 curl_cffi 的情况下需要访问被指纹封锁的网站

所需权限

  • 出站网络访问到 DuckDuckGo 和其他网站
  • 读取环境变量以配置 SafeSearch、区域和 CA 证书
  • 可选:读取指定 CA 证书文件(用于 TLS 拦截代理)

风险与副作用

  • 搜索引擎可能偶尔返回空结果或错误,尤其是被防火墙封锁时
  • 内容抓取可能受到目标网站的 SSRF 保护限制(默认拒绝私有地址)
  • 误用可能导致速率限制或 IP 封锁

安装接入

准备工作

运行环境:Python

其他可选配置项(9 个)
DDG_SAFE_SEARCH 可选 设置 SafeSearch 过滤级别(STRICT/MODERATE/OFF),在服务器启动时的客户端配置 env 中填写。
DDG_REGION 可选 设置默认区域/语言代码(如 us-en、cn-zh),在客户端配置 env 中填写。
DDG_CA_CERTS 可选 指向 PEM CA 证书包路径,用于 TLS 拦截代理环境下验证出站请求证书。
DDG_SEARCH_BACKEND 可选 设置 search 工具的抓取后端(auto/httpx/curl),auto 为默认。
DDG_ALLOWED_HOSTS 可选 逗号分隔的允许 Host 列表,用于反向代理或 Docker 部署时避免 421 错误。
DDG_ALLOWED_ORIGINS 可选 逗号分隔的允许 Origin 列表,用于反向代理或 Docker 部署时避免 421 错误。
DDG_DISABLE_DNS_REBINDING_PROTECTION 可选 设为 1 关闭 DNS 重绑定防护,不建议使用。
DDG_SSL_VERIFY 可选 设为 0 完全禁用证书验证,不安全,优先使用 DDG_CA_CERTS。
DDG_ALLOW_PRIVATE_URLS 可选 设为 1 允许 fetch_content 访问内网/私有地址,仅限可信本地部署。
  1. 安装 uv(如果尚未安装)。
  2. 运行 uvx duckduckgo-mcp-server。
  3. 对于 Claude Desktop,在配置文件中添加 MCP 服务器配置。对于 Claude Code,使用 claude mcp add ddg-search uvx duckduckgo-mcp-server。
claude_desktop_config.json
{
  "mcpServers": {
    "ddg-search": {
      "command": "uvx",
      "args": [
        "duckduckgo-mcp-server"
      ]
    }
  }
}

以 Claude Desktop 为例。其他客户端的配置文件位置或字段可能不同(如 VS Code 使用 servers 字段),可用下方配置生成器转换。

.vscode/mcp.json
{
  "servers": {
    "ddg-search": {
      "command": "uvx",
      "args": [
        "duckduckgo-mcp-server"
      ]
    }
  }
}

写入项目的 .vscode/mcp.json(VS Code 使用 servers 字段)。

Terminal
claude mcp add ddg-search -- uvx duckduckgo-mcp-server

在终端运行;先把 <…> 占位符换成你自己的值。

验证是否装好

在 Claude Desktop 配置中添加 ddg-search 并重启后,查看工具列表中是否出现 search 和 fetch_content;再让它搜索 "python tutorial",能返回带标题和 URL 的结果即说明连接正常。

常见排障

  1. 如果搜索无结果,尝试安装 [browser] 扩展并使用 curl 后端
  2. 如果遇到 TLS 证书错误,通过 --ca-certs 或 DDG_CA_CERTS 指定 CA 证书
  3. 如果使用反向代理,设置 --allowed-hosts 和 --allowed-origins 避免 421 错误
  4. 检查速率限制,搜索每分钟 30 次,抓取每分钟 20 次

试试这样问

连接成功后,可以直接对 AI 助手这样说:

  • 帮我用 search 工具搜索 python tutorial,返回前 10 条结果
  • 用 search 搜索 latest news,region 设为 jp-ja
  • 用 fetch_content 抓取 https://example.com 的网页内容
  • 获取 https://example.com 页面正文,从第 8000 个字符开始继续读取

工具能力 2

search 只读
在 DuckDuckGo 上执行网页搜索,返回标题、URL 和摘要。
fetch_content 只读
抓取并解析指定 URL 的网页内容,返回清洗后的文本。

使用场景

在 AI 助手中执行实时网页搜索
抓取网页内容以进行摘要或分析
需要按区域或 SafeSearch 级别过滤搜索结果的场景

支持客户端

Claude Desktop
Claude Code

依据项目文档列出,未经本站实测。

详细介绍

这是一个基于 Model Context Protocol (MCP) 的服务器,利用 DuckDuckGo 提供网页搜索功能,并支持内容抓取与解析。它内置了速率限制、错误处理、安全过滤(SafeSearch)和区域设置,结果以适合大语言模型阅读的格式输出。支持多种传输方式(stdio、SSE、流式 HTTP),并可配置后端以绕过机器人检测。

同类可选方案

用Telethon驱动的Telegram MCP服务器,让MCP客户端读取聊天、管理群组、发送/修改消息、媒体、联系人及设置。

★ 1.8k · 工具数 76 与当前对比 →

源版本 8182af3f2295 数据同步于 2026-10-11 查看 FMRS 评分方法