ddg-mcp MCP 服务器
DuckDuckGo 搜索 API MCP - 通过模型上下文协议提供 DuckDuckGo 搜索功能的服务器。
成分
提示
服务器给出如下提示:
search-results-summary :创建 DuckDuckGo 搜索结果的摘要
搜索词的必需“查询”参数
可选的“样式”参数用于控制详细程度(简要/详细)
工具
服务器实现了以下 DuckDuckGo 搜索工具:
ddg-text-search :使用 DuckDuckGo 在网络上搜索文本结果
必需:“关键词” - 搜索查询关键词
可选:“region”、“safesearch”、“timelimit”、“max_results”
ddg-image-search :使用 DuckDuckGo 在网络上搜索图片
必需:“关键词” - 搜索查询关键词
可选:“区域”、“安全搜索”、“时间限制”、“大小”、“颜色”、“类型图像”、“布局”、“许可证图像”、“最大结果”
ddg-news-search :使用 DuckDuckGo 搜索新闻文章
必需:“关键词” - 搜索查询关键词
可选:“region”、“safesearch”、“timelimit”、“max_results”
ddg-video-search :使用 DuckDuckGo 搜索视频
必需:“关键词” - 搜索查询关键词
可选:“区域”、“安全搜索”、“时间限制”、“分辨率”、“持续时间”、“license_videos”、“max_results”
ddg-ai-chat :与 DuckDuckGo AI 聊天
必填:“关键词” - 发送给 AI 的消息或问题
可选:“模型”- 要使用的 AI 模型(选项:“gpt-4o-mini”、“llama-3.3-70b”、“claude-3-haiku”、“o3-mini”、“mistral-small-3”)
Related MCP server: DuckDuckGo MCP Server
安装
先决条件
Python 3.9 或更高版本
uv (推荐)或 pip
从 PyPI 安装
从源安装
克隆存储库:
安装软件包:
配置
必需的依赖项
服务器需要duckduckgo-search包,当您安装ddg-mcp时它将自动安装。
如果需要手动安装:
DuckDuckGo 搜索参数
通用参数
这些参数适用于大多数搜索类型:
region :本地化结果的区域代码(默认值:“wt-wt”)
例如:“us-en”(美式英语)、“uk-en”(英式英语)、“ru-ru”(俄语)
查看DuckDuckGo 区域以了解更多选项
safesearch :内容过滤级别(默认值:“中等”)
"on": 严格过滤
“moderate”:中等过滤
“off”:不过滤
timelimit :结果的时间范围
“d”:最后一天
“w”:上周
“m”:上个月
“y”:去年(不适用于新闻/视频)
max_results :返回的最大结果数(默认值:10)
搜索运算符
您可以在搜索关键字中使用这些运算符:
cats dogs:关于猫或狗的搜索结果"cats and dogs":精确搜索“猫和狗”的结果cats -dogs:搜索结果中狗的数量较少cats +dogs:搜索结果中狗更多cats filetype:pdf:关于猫的 PDF(支持:pdf、doc(x)、xls(x)、ppt(x)、html)dogs site:example.com:来自 example.com 的关于狗的页面cats -site:example.com:关于猫的页面,不包括 example.comintitle:dogs:页面标题包含单词“dogs”inurl:cats:页面 URL 包含单词“cats”
图像搜索特定参数
尺寸:“小”、“中”、“大”、“壁纸”
颜色:“颜色”、“单色”、“红色”、“橙色”、“黄色”、“绿色”、“蓝色”、“紫色”、“粉色”、“棕色”、“黑色”、“灰色”、“青色”、“白色”
type_image :“照片”、“剪贴画”、“gif”、“透明”、“线条”
布局:“方形”、“高”、“宽”
license_image :“任何”、“公开”、“共享”、“商业共享”、“修改”、“商业修改”
视频搜索特定参数
分辨率:“高”,“标准”
持续时间:“短”、“中”、“长”
license_videos :“creativeCommon”,“youtube”
AI聊天模型
gpt-4o-mini :OpenAI 的 GPT-4o 迷你模型
llama-3.3-70b : Meta 的 Llama 3.3 70B 型号
claude-3-haiku :Anthropic 的 Claude 3 Haiku 模型
o3-mini :OpenAI 的 O3 迷你模型
mistral-small-3 :Mistral AI 的小型模型
快速入门
安装
克劳德桌面
在 MacOS 上: ~/Library/Application\ Support/Claude/claude_desktop_config.json在 Windows 上: %APPDATA%/Claude/claude_desktop_config.json
使用示例
文本搜索
高级示例:
图像搜索
高级示例:
新闻搜索
高级示例:
视频搜索
高级示例:
人工智能聊天
搜索结果摘要
克劳德配置
"ddg-mcp": { "command": "uv", "args": [ "--directory", "/PATH/TO/YOUR/INSTALLATION/ddg-mcp", "run", "ddg-mcp" ] },
发展
构建和发布
准备分发包:
同步依赖项并更新锁文件:
构建软件包分发版:
这将在dist/目录中创建源和轮子分布。
发布到 PyPI:
注意:您需要通过环境变量或命令标志设置 PyPI 凭据:
令牌:
--token或UV_PUBLISH_TOKEN或用户名/密码:
--username/UV_PUBLISH_USERNAME和--password/UV_PUBLISH_PASSWORD
使用 GitHub Actions 自动发布
此仓库包含一个 GitHub Actions 工作流,用于自动发布到 PyPI。以下情况会触发该工作流:
创建了一个新的 GitHub 版本
该工作流程通过 GitHub Actions 界面手动触发
要设置自动发布:
生成 PyPI API 令牌:
创建一个范围仅限于
ddg-mcp项目的新令牌复制令牌值(您只会看到一次)
将令牌添加到您的 GitHub 存储库机密中:
前往 GitHub 上的存储库
导航至“设置”>“机密和变量”>“操作”
点击“新建存储库秘密”
名称:
PYPI_API_TOKEN值:粘贴您的 PyPI 令牌
点击“添加秘密”
要发布新版本:
更新
pyproject.toml中的版本号在 GitHub 上创建新版本或手动触发工作流程
调试
由于 MCP 服务器通过 stdio 运行,调试起来可能比较困难。为了获得最佳调试体验,我们强烈建议使用MCP Inspector 。
您可以使用以下命令通过npm启动 MCP Inspector:
启动后,检查器将显示一个 URL,您可以在浏览器中访问该 URL 以开始调试。