DuckDuckGo 搜索 MCP 服务器使用说明

项目简介

本项目 'duckduckgo-mcp-server' 是一个实现了 Model Context Protocol (MCP) 的服务器,它将 DuckDuckGo 搜索引擎的功能封装成一个易于调用的 工具 (Tool),使支持 MCP 协议的 LLM 客户端(如 Claude Desktop)能够通过该服务器进行网页搜索,从而扩展 LLM 的知识范围和信息获取能力。

主要功能点

  • 网页搜索工具: 提供 'duckduckgo_web_search' 工具,允许 LLM 客户端通过指定关键词进行 DuckDuckGo 网页搜索。
  • 参数可配置: 搜索工具支持 'query' (搜索关键词,必填), 'count' (返回结果数量,可选), 'safeSearch' (安全搜索级别,可选) 等参数,可以根据需求定制搜索行为。
  • 结果格式化: 搜索结果以 Markdown 格式返回,方便 LLM 理解和处理。
  • 速率限制: 为了保证服务稳定,服务器内置了简单的速率限制,防止滥用。
  • 易于部署: 基于 Node.js 和 npm 生态,易于安装和部署。
  • 兼容 MCP 协议: 严格遵循 MCP 协议规范,可与任何兼容 MCP 协议的客户端配合使用。

安装步骤

  1. 安装 Node.js 和 pnpm: 确保你的环境中已安装 Node.js (>= 18) 和 pnpm (>= 8.0.0)。如果未安装 pnpm,可以使用 npm 安装:
    npm install -g pnpm
  2. 安装项目依赖: 克隆或下载仓库代码后,在项目根目录下运行以下命令安装依赖:
    pnpm install
  3. 构建项目: 运行以下命令构建项目:
    pnpm run build
    构建成功后,将在 'build' 目录下生成可执行的 JavaScript 文件 'index.js'。

服务器配置

MCP 服务器需要配置到 MCP 客户端中才能使用。以 Claude Desktop 为例,你需要修改 Claude 的配置文件 'claude_desktop_config.json'。根据你的部署方式(在线或本地),选择相应的配置添加到 'mcpServers' 字段下。

在线使用配置 (假设已将项目发布到 npm,可通过 'npx' 运行):

{
  "mcpServers": {
    "duckduckgo-search": {  // 服务器名称,客户端用于标识
      "command": "npx",  // 启动命令,这里使用 npx 运行 npm 包
      "args": [
        "-y",  // 自动确认安装包
        "duckduckgo-mcp-server" // npm 包名,假设已发布
      ]
    }
  }
}

本地使用配置 (假设项目代码在 '/path/to/duckduckgo-search' 目录):

{
  "mcpServers": {
    "duckduckgo-search": {  // 服务器名称,客户端用于标识
      "command": "node",  // 启动命令,使用 node 运行 JavaScript 文件
      "args": [
        "/path/to/duckduckgo-search/build/index.js" // 服务器入口文件路径,请替换为实际路径
      ]
    }
  }
}

注意:

  • 请根据实际情况修改 '/path/to/duckduckgo-search' 为你的项目代码路径。
  • 配置文件的路径在不同操作系统上有所不同,请参考 README 中的说明找到对应路径。
  • 'server name' (例如 "duckduckgo-search") 可以自定义,客户端会使用这个名称来引用该服务器。

基本使用方法

配置完成后,在 Claude Desktop 等 MCP 客户端中,你就可以使用 'duckduckgo_web_search' 工具进行网页搜索了。

例如,在 Claude 中,你可以这样指示:

请使用 duckduckgo_web_search 工具搜索 "最新的科技新闻",返回 5 条结果。

客户端会将上述指令转换为 MCP 的 'CallToolRequest' 发送给 'duckduckgo-mcp-server',服务器执行搜索后将结果返回给客户端,客户端再将结果呈现给用户或用于后续的 LLM 处理。

调试

如果遇到问题,可以使用仓库提供的 MCP Inspector 工具进行调试。运行命令 'pnpm run inspector' 启动 Inspector,它会提供一个浏览器 URL,你可以在浏览器中查看 MCP 服务器和客户端之间的通信数据,帮助定位问题。

信息

分类

网页与API