使用说明

项目简介

DuckDuckGo MCP 服务器是一个实现了 Model Context Protocol (MCP) 的后端服务,它将 DuckDuckGo 搜索引擎的功能封装成一个工具,供支持 MCP 协议的 LLM 客户端(如 Claude)调用。通过该服务器,LLM 客户端可以方便地进行网络搜索,获取最新的信息,并将其作为上下文信息用于对话或任务执行。

主要功能点

  • DuckDuckGo 搜索: 提供强大的 DuckDuckGo 搜索引擎功能。
  • 自定义搜索参数: 支持设置搜索区域、安全搜索级别和返回结果数量。
  • 结构化搜索结果: 返回包含标题、URL、描述以及元数据的结构化 JSON 格式搜索结果。
  • 内容类型识别: 自动识别搜索结果的内容类型,如文档、文章、社交媒体等。
  • 语言检测与主题识别: 自动检测搜索query的语言,并识别搜索结果中的主题标签。

安装步骤

本 MCP 服务器可以通过 'npx' 命令直接运行,无需全局安装。

  1. 确保已安装 Node.js 和 npm (或 npx): 通常情况下,安装 Node.js 会同时安装 npm,而 npx 已经包含在 npm 之中。

  2. 使用 npx 运行: 在终端中执行以下命令即可启动服务器:

    npx duck-duck-mcp

服务器配置

对于 MCP 客户端,您需要配置服务器的启动命令和相关参数,以便客户端能够连接并使用 DuckDuckGo 搜索工具。以下是一个典型的 MCP 服务器配置示例,您需要将其填入 MCP 客户端的相应配置项中。

{
  "serverName": "duck-duck-mcp",
  "command": "duck-duck-mcp",
  "args": [],
  "transport": "stdio"
}

配置参数说明:

  • serverName: 服务器名称,可以自定义,例如 "duck-duck-mcp"。
  • command: 运行服务器的命令。 由于我们使用 'npx' 方式运行,因此命令为 'duck-duck-mcp'。 如果需要全局安装后运行,命令则为 'mcp-server-search' (根据 'README.md' 提示)。
  • args: 启动命令的参数。 本服务器默认情况下无需额外启动参数,因此为空数组 '[]'。
  • transport: 传输协议,本服务器使用标准输入输出 (stdio) 进行通信,因此设置为 '"stdio"'。

请注意: MCP 客户端需要支持 'stdio' 传输协议才能与此服务器正常通信。

基本使用方法

启动服务器后,在 MCP 客户端中即可调用名为 'search' 的工具进行 DuckDuckGo 搜索。

调用示例 (JSON-RPC 请求):

以下是一个调用 'search' 工具的 JSON-RPC 请求示例,展示了如何传递搜索关键词和可选参数:

{
  "jsonrpc": "2.0",
  "method": "call_tool",
  "params": {
    "tool_call_id": "unique-call-id-123",
    "tool_name": "search",
    "arguments": {
      "query": "最新的AI技术发展",
      "options": {
        "region": "zh-cn",
        "safeSearch": "MODERATE",
        "numResults": 10
      }
    }
  },
  "id": 1
}

参数说明:

  • query: 要搜索的关键词。
  • options: 可选的搜索参数,包括:
    • region: 搜索区域,默认为 '"zh-cn"'。
    • safeSearch: 安全搜索级别,可选值 '"OFF"', '"MODERATE"', '"STRICT"', 默认为 '"MODERATE"'。
    • numResults: 返回结果数量,默认为 '50'。

服务器将返回 JSON 格式的搜索结果,客户端可以解析并利用这些信息。

信息

分类

网页与API