DuckDuckGo搜索服务器

基于DuckDuckGo搜索API的Web搜索界面,支持实时结果、Markdown格式输出和AI内容摘要。

  • by shgsousa
  • Python
  • 本地部署
  • 3 星标
  • 更新于
在 GitHub 查看 shgsousa/ddg_mcp_server

使用说明

DuckDuckGo MCP服务器

基于网络的搜索界面,使用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

特性

  • 使用DuckDuckGo的基于Web的搜索界面
  • 实时搜索结果,内容完整
  • Markdown格式输出
  • 可配置的结果数量
  • 基于AI的内容摘要(参见 总结.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

使用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凭据。

模型配置

用于摘要的AI模型可以在 config.py 文件:

# Default model to use for summarization
DEFAULT_MODEL = "gpt-4.1-turbo"

有关模型配置的详细说明,请参阅 总结.md.