关于 DuckDuckGo MCP Server
DuckDuckGo MCP Server 是面向需要网页搜索及页面内容的用户提供的 Python 和 Gradio 应用,可通过网页界面或 MCP 客户端使用。它支持设置结果数量、提取 Markdown 页面内容,并可选启用 AI 摘要。
主要功能
- 01DuckDuckGo 网页搜索
- 02可配置结果数量
- 03提取完整网页内容
- 04Markdown 格式输出
- 05可选 AI 摘要
适用场景
- 01通过网页界面搜索网络
- 02提取页面文本供后续处理
- 03通过 API 汇总搜索内容
MCP 相关
它向 MCP 客户端提供搜索和页面获取工具,并支持接入 Claude Desktop。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
还没有获取到工具列表
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
DuckDuckGo MCP 服务
一个基于 Web 的搜索界面,使用 DuckDuckGo 的搜索 API,通过 Python 和 Gradio 构建。
Docker 设置
前提条件
- 系统已安装 Docker
- Git(可选,用于克隆仓库)
构建 Docker 镜像
- 克隆仓库(如果尚未克隆):
git clone <repository-url>
cd ddg_mcp_server
- 构建 Docker 镜像:
docker build -t ddg-mcp-server .
运行容器
运行容器,并将端口 7860 映射到主机:
docker run -p 7860:7860 ddg-mcp-server
应用可通过以下地址访问:
故障排查
如果无法连接到应用:
- 确认容器正在运行:
docker ps
- 查看容器日志:
docker logs $(docker ps -q)
- 尝试停止任何正在运行的容器,然后重新启动:
docker stop $(docker ps -q)
docker run -p 7860:7860 ddg-mcp-server
功能
- 基于 Web 的 DuckDuckGo 搜索界面
- 提供完整内容的实时搜索结果
- Markdown 格式的输出
- 可配置结果数量
- AI 驱动的内容摘要(详情请参阅 SUMMARIZATION.md)
开发
该应用使用以下技术构建:
- Python 3.10
- Gradio Web 界面
- DuckDuckGo 搜索 API
- BeautifulSoup4 网页抓取
- Markdownify 内容转换
摘要功能的 API 配置
此应用支持使用 OpenAI 的 API 或任何兼容的 API 服务生成内容摘要。启用此功能的步骤如下:
- 将
.env.example文件复制为.env:
cp .env.example .env
- 编辑
.env文件并设置 API 凭据:
OPENAI_API_URL=https://api.openai.com/v1
ACCESS_TOKEN=your_api_key_here
注意:
- 如果未指定,
OPENAI_API_URL默认为官方 OpenAI API 服务端 - 摘要功能需要
ACCESS_TOKEN才能运行 - 更改
OPENAI_API_URL即可使用任何兼容 OpenAI 的 API
使用 Docker 和 API 凭据运行
使用 API 凭据运行 Docker 容器:
docker run -p 7860:7860 \
-e OPENAI_API_URL="https://api.openai.com/v1" \
-e ACCESS_TOKEN="your_api_key_here" \
ddg-mcp-server
测试 API 连接
配置好 API 凭据后,可以测试连接是否正常:
python main.py --test-api
此操作会验证 API 凭据,但不会启动完整的服务端。
模型配置
可在 config.py 文件中配置用于生成摘要的 AI 模型:
# Default model to use for summarization
DEFAULT_MODEL = "gpt-4.1-turbo"
有关模型配置的详细说明,请参阅 SUMMARIZATION.md。
评论
支持 Markdown
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。