使用说明

项目简介

duckduckgo-mpc-server 是一个实现了 Model Context Protocol (MCP) 的服务器,它集成 DuckDuckGo 搜索引擎,为大型语言模型 (LLM) 客户端提供网页搜索功能。通过这个服务器,LLM 可以调用 'duckduckgo_web_search' 工具来执行搜索查询,获取网络上的最新信息,从而增强 LLM 的知识广度和实时性。

主要功能点

  • DuckDuckGo 网页搜索工具: 提供 'duckduckgo_web_search' 工具,允许 LLM 客户端通过指定关键词进行网页搜索。
    • 支持参数:
      • 'query': 搜索关键词 (必填,最大长度 400 字符)。
      • 'count': 返回结果数量 (可选,范围 1-20,默认 10)。
      • 'safeSearch': 安全搜索级别 (可选,'strict'/'moderate'/'off',默认 'moderate')。
    • 返回格式化的 Markdown 搜索结果,方便 LLM 理解和使用。
  • 速率限制: 为了保证服务稳定性和避免滥用,服务器实施了简单的速率限制。
    • 每秒最多处理 1 个请求。
    • 每月最多处理 15000 个请求。

安装步骤

  1. 安装 Node.js 和 pnpm: 确保你的环境中安装了 Node.js (版本 >= 18) 和 pnpm (版本 >= 8.0.0)。如果未安装 pnpm,可以使用 npm 安装:
    npm install -g pnpm
  2. 安装项目依赖: 克隆仓库到本地后,在项目根目录下运行命令安装依赖:
    pnpm install
  3. 构建项目: 运行命令构建 TypeScript 代码:
    pnpm run build

服务器配置

MCP 客户端(例如 Claude Desktop)需要配置 MCP 服务器的启动命令才能连接和使用 'duckduckgo-search' 服务器。以下是配置信息,请根据你的使用场景选择合适的配置添加到 MCP 客户端的配置文件中。

配置文件位置 (以 Claude Desktop 为例):

  • MacOS: '~/Library/Application Support/Claude/claude_desktop_config.json'
  • Windows: '%APPDATA%/Claude/claude_desktop_config.json'

配置内容 (JSON 格式):

在线使用 (推荐,需要预先全局安装 'duckduckgo-mpc-server' 包):

{
  "mcpServers": {
    "duckduckgo-search": {
        "command": "npx",  // 使用 npx 命令执行
        "args": [
          "-y",           // 自动确认安装包 (如果未安装)
          "duckduckgo-mpc-server" // 要执行的 npm 包名,即 duckduckgo-mpc-server
        ]
    }
  }
}

本地使用 (适用于开发或不希望全局安装的情况):

{
  "mcpServers": {
    "duckduckgo-search": {
      "command": "node", // 使用 node 命令执行
      "args": [
        "/path/to/duckduckgo-search/build/index.js" //  duckduckgo-mpc-server  构建后的入口文件路径,请替换为实际路径
      ]
    }
  }
}

注意:

  • '/path/to/duckduckgo-search/build/index.js' 需要替换为 duckduckgo-mpc-server 项目在你的本地文件系统中的实际路径。

基本使用方法

  1. 启动 MCP 服务器: 配置完成后,MCP 客户端(如 Claude Desktop)在启动时会自动尝试连接配置的 MCP 服务器。如果使用本地方式,请先确保已经构建项目 ('pnpm run build')。

  2. 在 LLM 中调用工具: 在支持 MCP 协议的 LLM 客户端中,你可以指示 LLM 使用 'duckduckgo_web_search' 工具进行搜索。例如,在 Claude 中,你可以这样指示:

    请使用 duckduckgo_web_search 工具搜索 "最新的AI技术发展"。

    LLM 客户端会解析你的指令,并根据工具的定义和参数,自动调用 'duckduckgo-search' MCP 服务器提供的搜索工具,并将搜索结果返回给你。

  3. 查看调试信息: 如果需要调试,可以使用 'pnpm run inspector' 命令启动 MCP Inspector,它会提供一个浏览器界面来查看 MCP 服务器和客户端之间的通信详情。

通过以上步骤,你就可以成功搭建并使用 duckduckgo-mpc-server 为你的 LLM 客户端提供网页搜索能力。

信息

分类

网页与API