mcpField
D
DuckDuckGo MCP Server

DuckDuckGo MCP Server

本地服务
github.com/shgsousa搜索与检索373 周前更新

关于 DuckDuckGo MCP Server

DuckDuckGo MCP Server 是面向需要网页搜索及页面内容的用户提供的 Python 和 Gradio 应用,可通过网页界面或 MCP 客户端使用。它支持设置结果数量、提取 Markdown 页面内容,并可选启用 AI 摘要。

主要功能

  1. 01DuckDuckGo 网页搜索
  2. 02可配置结果数量
  3. 03提取完整网页内容
  4. 04Markdown 格式输出
  5. 05可选 AI 摘要

适用场景

  1. 01通过网页界面搜索网络
  2. 02提取页面文本供后续处理
  3. 03通过 API 汇总搜索内容

MCP 相关

它向 MCP 客户端提供搜索和页面获取工具,并支持接入 Claude Desktop。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"ddg_mcp_server": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"build"
]
}
}
}
启动命令docker run -i --rm build

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
ocibuild

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

DuckDuckGo MCP 服务

一个基于 Web 的搜索界面,使用 DuckDuckGo 的搜索 API,通过 Python 和 Gradio 构建。

Docker 设置

前提条件
  • 系统已安装 Docker
  • Git(可选,用于克隆仓库)
构建 Docker 镜像
  1. 克隆仓库(如果尚未克隆):
git clone <repository-url>
cd ddg_mcp_server
  1. 构建 Docker 镜像:
docker build -t ddg-mcp-server .
运行容器

运行容器,并将端口 7860 映射到主机:

docker run -p 7860:7860 ddg-mcp-server

应用可通过以下地址访问:

故障排查

如果无法连接到应用:

  1. 确认容器正在运行:
docker ps
  1. 查看容器日志:
docker logs $(docker ps -q)
  1. 尝试停止任何正在运行的容器,然后重新启动:
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 服务生成内容摘要。启用此功能的步骤如下:

  1. 将 .env.example 文件复制为 .env:
cp .env.example .env
  1. 编辑 .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

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。