使用说明

项目简介

DuckDuckGo MCP 服务器是一个基于 Model Context Protocol (MCP) 的后端应用,旨在为大型语言模型(LLM)提供便捷的网络信息访问能力。它通过集成 DuckDuckGo 搜索引擎,实现了网页搜索和网页内容抓取两大核心功能,并且无需用户配置 DuckDuckGo API 密钥,开箱即用。

主要功能点

  • 网页搜索: 利用 DuckDuckGo 搜索引擎,根据用户提供的关键词进行网页搜索,并返回包含标题、摘要和链接的搜索结果列表。
  • 网页内容抓取: 根据用户提供的 URL,抓取网页的文本内容,提取网页中的主要信息,方便 LLM 理解和处理网页信息。

安装步骤

1. 使用 Docker (推荐)

Docker 方式安装最为简便,无需配置 Python 环境。

  • 确保已安装 Docker 环境。
  • 执行以下命令构建 Docker 镜像:
    docker build -t mcp/duckduckgo .

2. 使用 pip

  • 确保已安装 Python 3.6+ 和 pip。
  • 克隆仓库到本地:
    git clone https://github.com/Glitchfix/mcp-duckduckgo.git
    cd mcp-duckduckgo
  • 安装依赖:
    pip install -r requirements.txt

3. 使用 fastmcp (如果已安装)

  • 如果您已经安装了 'fastmcp' 客户端工具,可以使用以下命令直接安装:
    fastmcp install /path/to/mcp-duckduckgo/app.py
    请将 '/path/to/mcp-duckduckgo/app.py' 替换为 'app.py' 文件的实际路径。

服务器配置

MCP 服务器需要配置到 MCP 客户端才能使用,例如 Claude。以下是在 Claude Desktop 或 Claude.ai 中配置 DuckDuckGo MCP 服务器的示例。

Claude Desktop 配置示例

打开 Claude 的设置,找到 "MCP Servers" (MCP服务器) 部分,添加一个新的服务器配置。

  • 使用 pip 或 fastmcp 安装:

    {
      "duckduckgo": {
        "command": "python",
        "args": ["/path/to/mcp-duckduckgo/app.py"]
      }
    }

    请将 '/path/to/mcp-duckduckgo/app.py' 替换为 'app.py' 文件的实际路径。

  • 使用 Docker 安装:

    {
      "duckduckgo": {
        "command": "docker",
        "args": ["run", "-i", "--rm", "mcp/duckduckgo"]
      }
    }

Claude.ai (浏览器版) 配置示例

  1. 访问 Claude.ai 网站并登录。
  2. 点击个人头像,选择 "Settings" (设置)。
  3. 导航到 "MCP Servers" (MCP服务器) 部分。
  4. 点击 "Add Server" (添加服务器) 按钮,添加一个新的服务器配置,配置内容与 Claude Desktop 类似。

配置说明:

  • 'server name': 可以自定义服务器名称,例如 "duckduckgo"。
  • 'command': 服务器启动命令。
    • 使用 pip 或 fastmcp 安装时,通常为 'python'。
    • 使用 Docker 安装时,通常为 'docker'。
  • 'args': 启动命令的参数。
    • 使用 pip 或 fastmcp 安装时,为 'app.py' 脚本的路径。
    • 使用 Docker 安装时,为 'docker run -i --rm mcp/duckduckgo',表示运行 Docker 镜像 'mcp/duckduckgo'。

基本使用方法

成功配置 MCP 服务器后,在 Claude 或其他 MCP 客户端中,您可以使用自然语言指令来调用 DuckDuckGo MCP 服务器提供的工具。

示例:

  • 网页搜索: 在对话中输入类似 'Use DuckDuckGo to search for "最新的AI研究论文 2025"' 的指令,即可使用 DuckDuckGo 搜索相关内容。
  • 网页内容抓取: 输入类似 'Use DuckDuckGo to fetch the content from https://example.com' 的指令,即可抓取指定网页的内容。
  • 组合使用: 可以组合使用搜索和抓取功能,例如 'Search DuckDuckGo for "气候变化报告 2025", then fetch and summarize the content from the first result' (先搜索气候变化报告,然后抓取第一个结果的内容并进行总结)。

具体指令格式可能会因 MCP 客户端而异,请参考您使用的 MCP 客户端的文档。

信息

分类

网页与API