DuckDuckGo MCP Server

# duckduckgo-search MCP Server [English](README.md) | 中文 一个基于 Model Context Protocol 的 DuckDuckGo 搜索服务器 这是一个基于 TypeScript 的 MCP 服务器,提供 DuckDuckGo 搜索功能。它通过以下方式展示了核心 MCP 概念: - 实现了 DuckDuckGo 搜索 API 的集成 - 提供了易用的搜索工具接口 - 支持速率限制和错误处理 ## 功能特性 ### 搜索工具 - `duckduckgo_search` - 使用 DuckDuckGo API 执行网络搜索 - 必需参数:`query`(搜索查询,最大 400 字符) - 可选参数:`count`(结果数量,1-20,默认 10) - 可选参数:`safeSearch`(安全搜索级别:strict/moderate/off,默认 moderate) - 返回格式化的 Markdown 搜索结果 ### 速率限制 - 每秒最多 1 个请求 - 每月最多 15000 个请求 ## 开发 ### 前置要求 - Node.js >= 18 - pnpm >= 8.0.0 ### 安装依赖 ```bash # 安装 pnpm(如果尚未安装) npm install -g pnpm # 安装项目依赖 pnpm install ``` ### 构建和运行 构建服务器: ```bash pnpm run build ``` 开发模式(自动重新构建): ```bash pnpm run watch ``` ## 安装 要在 Claude Desktop 中使用,请添加服务器配置: MacOS: `~/Library/Application Support/Claude/claude_desktop_config.json` Windows: `%APPDATA%/Claude/claude_desktop_config.json` ```json # online { "mcpServers": { "duckduckgo-search": { "command": "npx", "args": [ "-y", "duckduckgo-mpc-server" ] } } } # local { "mcpServers": { "duckduckgo-search": { "command": "node", "args": [ "/path/to/duckduckgo-search/build/index.js" ] } } } ``` ### 调试 由于 MCP 服务器通过 stdio 通信,调试可能具有挑战性。我们推荐使用 [MCP Inspector](https://github.com/modelcontextprotocol/inspector),可通过以下命令启动: ```bash pnpm run inspector ``` Inspector 将提供一个 URL,用于在浏览器中访问调试工具。