# @ericthered926/duckduckgo-mcp-server 中文文档

规范地址：https://npmcn.com/package/%40ericthered926/duckduckgo-mcp-server/

版本：0\.6\.0
npm 元数据更新时间：2025-12-18T06:08:25.806Z
中文译文更新时间：2026-11-13T21:05:55.650Z
软件包许可：MIT

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40ericthered926/duckduckgo-mcp-server
原文对照：https://npmcn.com/package/%40ericthered926/duckduckgo-mcp-server/?lang=original
项目主页：https://github.com/ericthered926/duckduckgo-mcp-server#readme
源码仓库：https://github.com/ericthered926/duckduckgo-mcp-server

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：50 kB，7 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- Node.js 要求：\>=18\.0\.0
- 运行依赖：3 个
- 首次发布：2025-12-18T03:34:43.187Z
- 最新版本发布：2025-12-18T06:08:25.603Z
- 近 30 天下载量：151858（2026-10-14 至 2026-11-12，npm 官方下载统计）
- 已发布版本数：3（近 12 个月 3 个）

## 中文简介

DuckDuckGo 网络和新闻搜索的模拟上下文协议服务器

## 安装

```sh
npm install @ericthered926/duckduckgo-mcp-server
```

也可以使用：`pnpm add @ericthered926/duckduckgo-mcp-server`、`yarn add @ericthered926/duckduckgo-mcp-server`、`bun add @ericthered926/duckduckgo-mcp-server`

## README

# DuckDuck Go MCP 服务器

A 类 [示范背景协议(MCP)](https://modelcontextprotocol.io/) 为 AI 助手提供 DuckDuckGo 搜索功能的服务器.

[![npm version](https://img.shields.io/npm/v/@ericthered926/duckduckgo-mcp-server.svg)](https://www.npmjs.com/package/@ericthered926/duckduckgo-mcp-server)

> **归属**: 此项目为叉 [日相/达克杜克-姆克普服务器](https://github.com/zhsama/duckduckgo-mcp-server),最初由 [日间](https://github.com/zhsama)。这个分叉增加了英语本地化、新闻搜索、区域支持、时间过滤和现代工具.

## 特征

-   **网络搜索** - 以特定区域和时间过滤结果搜索网络
-   **新闻搜索** - 搜索有来源和日期信息的最近新闻报道
-   **切换优化** - 低VRAM LLMs的可配置结果限制、片段截取和格式化
-   **安全搜索** 内容过滤(严格、中度、关闭)
-   **地区支助** - 不同国家的地方化成果
-   **时间过滤** - 按日、周、月、年筛选结果
-   **限制费率** - 防止滥用的固定费率限额
-   **可配置日志** - 调试、信息、警告、错误或无

## 安装

### 先决条件

-   节点.js 18.0.0(与节点24测试)
-   无

### 安装并构建

```bash
npm install
npm run build
```

## 可用工具

### `duckduckgo_web_search`

使用 DuckDuckGo 进行网络搜索.

| 参数 | 类型 | 需求 | 默认 | 说明 |
| --- | --- | --- | --- | --- |
| `query` | 字符串 | 对 | \- 说吧 | 搜索查询(最多400个字符) |
| `limit` | 编号 | 没有 | DDG MA RESULTS (英语) | 超越默认结果限制(1-20) |
| `count` | 编号 | 没有 | DDG MA RESULTS (英语) | \[折旧:使用 `limit`成果数目 |
| `safeSearch` | 字符串 | 没有 | "温和" | 过滤器: “收缩”、“中度”或“关闭” |
| `region` | 字符串 | 没有 | "wt-wt" (英语) | 区域代码(如"us-en","uk-en","de-de"等) |
| `time` | 字符串 | 没有 | "所有" (众) | 时间范围:"日","周","月","年","都" |

**示例**

```json
{
  "query": "TypeScript best practices",
  "count": 5,
  "region": "us-en",
  "time": "month"
}
```

### `duckduckgo_news_search`

搜取近期新闻文章.

| 参数 | 类型 | 需求 | 默认 | 说明 |
| --- | --- | --- | --- | --- |
| `query` | 字符串 | 对 | \- 说吧 | 新闻搜索查询(最多400个字符) |
| `limit` | 编号 | 没有 | DDG MA RESULTS (英语) | 超越默认结果限制(1-20) |
| `count` | 编号 | 没有 | DDG MA RESULTS (英语) | \[折旧:使用 `limit`成果数目 |
| `safeSearch` | 字符串 | 没有 | "温和" | 过滤器: “收缩”、“中度”或“关闭” |
| `time` | 字符串 | 没有 | "所有" (众) | 时间范围:"日","周","月","年","都" |

**示例**

```json
{
  "query": "artificial intelligence",
  "count": 10,
  "time": "week"
}
```

## 支助地区

| 代码 | 地区 |
| --- | --- |
| `wt-wt` | 全世界 |
| `us-en` | 美国 |
| `uk-en` | 联合王国 |
| `ca-en` | 加拿大(英语) |
| `au-en` | 澳大利亚 |
| `de-de` | 德国 |
| `fr-fr` | 法国 |
| `es-es` | 页:1 |
| `it-it` | 意大利 |
| `jp-jp` | 日本 |
| `br-pt` | 联合国 |
| `mx-es` | 墨西哥 |
| `in-en` | 印度 |

区域代码 `xx-xx` 格式也可以工作.

## 配置

### 环境变量

#### Token 优化(用于低VRAM LLMs)

| 变量 | 默认 | 说明 |
| --- | --- | --- |
| `DDG_MAX_RESULTS` | 3个 | 返回结果的默认数 |
| `DDG_MAX_SNIPPET_LENGTH` | 150个 | 每个片段最大字符( 用. ) |
| `DDG_ENABLE_FULL_CONTENT` | 虚假 | 设定为“ true ” 以禁用校正 |
| `DDG_STRIP_EMOJI` | 虚假 | 设定为“ true ” 从标题/ 文本中删除 |
| `DDG_OUTPUT_FORMAT` | "强烈" | 选项:“强烈”、“json”、“最小” |

#### 限制费率

| 变量 | 默认 | 说明 |
| --- | --- | --- |
| `RATE_LIMIT_PER_SECOND` | 1个 | 每秒最大请求数 |
| `RATE_LIMIT_PER_MONTH` | 15000个 | 每月最多请求数 |

#### 日志

| 变量 | 默认 | 说明 |
| --- | --- | --- |
| `LOG_LEVEL` | 信息( i) | 日志级别:调试、信息、警告、错误、无 |

### 实例

```bash
# Token-optimized for low VRAM (12GB RTX 5070)
DDG_MAX_RESULTS=3 DDG_MAX_SNIPPET_LENGTH=150 npm run start

# Full content for high-VRAM systems
DDG_MAX_RESULTS=10 DDG_MAX_SNIPPET_LENGTH=500 DDG_ENABLE_FULL_CONTENT=true npm run start

# Debug logging
LOG_LEVEL=debug npm run start
```

## 一体化

### 克劳德桌面

添加到您的 Claude 桌面配置 :

**马可斯:** `~/Library/Application Support/Claude/claude_desktop_config.json`  
**窗口 :** `%APPDATA%/Claude/claude_desktop_config.json`

```json
{
  "mcpServers": {
    "duckduckgo": {
      "command": "npx",
      "args": ["-y", "@ericthered926/duckduckgo-mcp-server"]
    }
  }
}
```

### MCPO(开放网络信息)

对于 [方案干事](https://github.com/open-webui/mcpo) 一体化:

```json
{
  "mcpServers": {
    "duckduckgo": {
      "command": "npx",
      "args": ["-y", "@ericthered926/duckduckgo-mcp-server"],
      "env": {
        "DDG_MAX_RESULTS": "3",
        "DDG_MAX_SNIPPET_LENGTH": "150",
        "DDG_ENABLE_FULL_CONTENT": "false"
      }
    }
  }
}
```

### 地方发展

```json
{
  "mcpServers": {
    "duckduckgo": {
      "command": "node",
      "args": ["/path/to/duckduckgo-mcp-server/build/index.js"],
      "env": {
        "LOG_LEVEL": "debug"
      }
    }
  }
}
```

## 发展

### 脚本

| 命令 | 说明 |
| --- | --- |
| `npm run build` | 编译类型脚本 |
| `npm run start` | 运行服务器 |
| `npm run dev` | 开发的监视模式 |
| `npm run lint` | 运行 ESLint + Pretier 检查 |
| `npm run lint:fix` | 自动补丁问题 |
| `npm run format` | Pretier 格式代码 |
| `npm run test` | 运行测试 |
| `npm run typecheck` | 只检查脚本类型 |

### 调试

使用 [MCP 检查员](https://github.com/modelcontextprotocol/inspector)数字 :

```bash
npx @modelcontextprotocol/inspector node build/index.js
```

### 项目结构

```
duckduckgo-mcp-server/
├── src/
│   └── index.ts          # Main server (web + news search)
├── test/
│   └── server.test.js    # Smoke tests
├── build/                 # Compiled output
├── .husky/               # Pre-commit hooks
├── eslint.config.js      # ESLint 9.x flat config
├── tsconfig.json         # Strict TypeScript config
├── .prettierrc           # Prettier formatting
├── .editorconfig         # Editor settings
└── .nvmrc                # Node version (24)
```

## 费率限制

默认利率限制是保守的,以避免被 DuckDuckGo 封锁:

-   **每秒1个请求** - 防止限制费率
-   **每月15 000项请求** - 合理的月上限

需要时通过环境变量调整.

## 解决问题

### 服务器不会启动

1.  检查 Node.js 版本 : `node --version` (应该18岁)
2.  重建: `npm run build`
3.  检查构建输出中的类型脚本出错

### 费率限制出错

-   等待限制窗口重置( 每秒1秒, 或者调整限制)
-   检查多个实例是否共享同一计数器

### 未返回结果

-   尝试不同的查询或删除时间过滤器
-   检查SafeSearch是否屏蔽结果
-   DuckDuckGo 对于非常具体的查询可能不会返回结果

### 调试日志

启用调试日志以查看详细请求信息 :

```bash
LOG_LEVEL=debug npm run start
```

## 贷项

这个项目是一个叉子 [日相/达克杜克-姆克普服务器](https://github.com/zhsama/duckduckgo-mcp-server),最初由 [日间](https://github.com/zhsama)。 。 。 .

### 叉子里有什么新东西

-   **调试优化** - 低VRAM LLMs的可配置结果限制和片段截取
-   **强烈输出格式** - 单行结果,以尽量减少象征性使用
-   **URL 清理** - 条状物跟踪参数(Utm-X、滑行、滑行等)
-   **`limit` 参数** - 在需要更多上下文时, LLM 能够覆盖默认
-   英语本地化( 所有评论和输出)
-   新闻搜索工具`duckduckgo_news_search`(中文(简体) )
-   对地方成果的区域/地方支助
-   时间范围过滤
-   通过配置日志 `LOG_LEVEL`
-   现代 ESLint 9.x 平面配置
-   初步格式化
-   Husky 预承诺钩
-   综合测试套件
-   严格类型脚本配置

## 许可证

麻省理工学院-见 [自由主义](https://npmcn.com/package/%40ericthered926/duckduckgo-mcp-server/LICENSE) 详细情况.

## 常见问题

### @ericthered926/duckduckgo-mcp-server 是什么？

DuckDuckGo 网络和新闻搜索的模拟上下文协议服务器

### 如何安装 @ericthered926/duckduckgo-mcp-server？

在项目目录运行 npm install @ericthered926/duckduckgo-mcp-server，或使用 pnpm add / yarn add / bun add。它还提供命令行工具 duckduckgo-mcp-server，可以用 npx duckduckgo-mcp-server 直接运行。

### @ericthered926/duckduckgo-mcp-server 支持 TypeScript 吗？

支持。包内自带 TypeScript 类型声明（package\.json 声明了 types 入口），安装后即可获得类型提示，无需再安装 @types 包。

### @ericthered926/duckduckgo-mcp-server 支持 ESM 还是 CommonJS？

以 ES Module 形式发布，推荐使用 import 引入。在 CommonJS 项目中，Node\.js 20\.19\+ / 22\.12\+ 可以直接 require\(\) 不含顶层 await 的 ES Module，更早的版本需要改用动态 import\(\)。

### @ericthered926/duckduckgo-mcp-server 需要什么版本的 Node\.js？

package\.json 的 engines 字段要求 Node\.js \>=18\.0\.0。版本不符时 npm 默认只给出警告，开启 engine-strict 后会拒绝安装。

### @ericthered926/duckduckgo-mcp-server 可以商用吗？

@ericthered926/duckduckgo-mcp-server 使用 MIT 许可。宽松许可：允许商业使用、修改和再分发，通常只需在分发时保留原版权与许可声明。以上为概括，不构成法律意见，请以许可原文为准。

### @ericthered926/duckduckgo-mcp-server 的下载量有多少？

根据 npm 官方下载统计，@ericthered926/duckduckgo-mcp-server 在 2026/10/14 – 2026/11/12 这 30 天内被下载 151,858 次，日均约 5,062 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @ericthered926/duckduckgo-mcp-server 还在维护吗？

最新版本 0\.6\.0 发布于 2025/12/18（10 个月前）；至今共发布 3 个版本，其中过去 12 个月发布了 3 个；首次发布于 2025/12/18。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

