English | 中文
一个基于 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
# 安装 pnpm(如果尚未安装)
npm install -g pnpm
# 安装项目依赖
pnpm install
构建服务器:
pnpm run build
开发模式(自动重新构建):
pnpm run watch
要在 Claude Desktop 中使用,请添加服务器配置:
MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%/Claude/claude_desktop_config.json
# online
{
"mcpServers": {
"duckduckgo-search": {
"command": "npx",
"args": [
"-y",
"duckduckgo-mcp-server"
]
}
}
}
# local
{
"mcpServers": {
"duckduckgo-search": {
"command": "node",
"args": [
"/path/to/duckduckgo-search/build/index.js"
]
}
}
}
由于 MCP 服务器通过 stdio 通信,调试可能具有挑战性。我们推荐使用 MCP Inspector,可通过以下命令启动:
pnpm run inspector
Inspector 将提供一个 URL,用于在浏览器中访问调试工具。