DuckDuckGo MCP Server
duckduckgo-search MCP 服务器
English |中文
DuckDuckGo 搜索的模型上下文协议服务器
这是一个基于 TypeScript 的 MCP 服务器,提供 DuckDuckGo 搜索功能。它通过以下方式演示 MCP 的核心概念:
与 DuckDuckGo 搜索集成
易于使用的搜索工具界面
速率限制和错误处理支持
特征
搜索工具
duckduckgo_search- 使用 DuckDuckGo API 执行网络搜索必需参数:
query(搜索查询,最多 400 个字符)可选参数:
count(结果数量,1-20,默认10)可选参数:
safeSearch(安全级别:严格/中等/关闭,默认中等)返回格式化的 Markdown 搜索结果
速率限制
每秒最多 1 个请求
每月最多 15000 个请求
Related MCP server: DuckDuckGo MCP Server
发展
先决条件
Node.js >= 18
pnpm >= 8.0.0
安装
# Install pnpm if not already installed
npm install -g pnpm
# Install project dependencies
pnpm install构建并运行
构建服务器:
pnpm run build对于使用自动重建的开发:
pnpm run watch在 Claude Desktop 中设置
要与 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-mpc-server"
]
}
}
}
# local
{
"mcpServers": {
"duckduckgo-search": {
"command": "node",
"args": [
"/path/to/duckduckgo-search/build/index.js"
]
}
}
}调试
由于 MCP 服务器通过 stdio 进行通信,调试起来可能比较困难。我们推荐使用MCP Inspector ,它以包脚本的形式提供:
pnpm run inspector检查器将提供一个 URL 来访问浏览器中的调试工具。
Available Tools
1 toolduckduckgo_web_searchB
Performs a web search using the DuckDuckGo, ideal for general queries, news, articles, and online content. Use this for broad information gathering, recent events, or when you need diverse web sources. Supports content filtering and region-specific searches. Maximum 20 results per request.
| Name | Required | Description | Default |
|---|---|---|---|
| count | No | Number of results (1-20, default 10) | |
| query | Yes | Search query (max 400 chars) | |
| safeSearch | No | SafeSearch level (strict, moderate, off) | moderate |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It adds useful context like 'maximum 20 results per request' and mentions content filtering and region-specific searches, but does not cover aspects like rate limits, authentication needs, or error handling, leaving gaps in behavioral understanding.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately sized with three sentences that efficiently cover purpose, usage, and constraints. It is front-loaded with the core function and avoids unnecessary repetition, though minor improvements in flow could elevate it to a 5.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity (3 parameters, no output schema, no annotations), the description provides a basic overview but lacks details on return values, error cases, or advanced usage. It is adequate for a simple search tool but incomplete for robust agent interaction.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema fully documents all parameters. The description does not add any parameter-specific details beyond what the schema provides, such as explaining the impact of 'safeSearch' levels or query formatting. Baseline 3 is appropriate as the schema handles the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool 'performs a web search using DuckDuckGo' with specific use cases like 'general queries, news, articles, and online content.' It distinguishes itself as a general-purpose search tool, though without sibling tools to differentiate from, it cannot achieve a perfect 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides implied usage guidance with phrases like 'ideal for general queries' and 'use this for broad information gathering,' but lacks explicit when-not-to-use scenarios or alternatives. Without sibling tools, it cannot offer comparative guidance, limiting its score.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
1 tool update
v1.0.0- First observed
duckduckgo_web_search
TDQS
Scored across 1 tool
With only one tool, there is no possibility of ambiguity or overlap between tools. The tool's purpose is clearly defined as performing web searches using DuckDuckGo.
Since there is only one tool, naming consistency is inherently perfect. The tool name 'duckduckgo_web_search' follows a clear verb_noun pattern that would be appropriate if more tools were added.
A single tool for a web search server is too minimal for the apparent scope. While the tool covers basic search functionality, a more complete surface would likely include additional tools such as for image search, news search, or advanced query options, making this feel thin and incomplete.
The tool surface is severely incomplete for a DuckDuckGo server. It only provides general web search, missing obvious functionalities like image search, video search, instant answers, or autocomplete, which are core features of DuckDuckGo. This will limit agents to basic queries without specialized capabilities.
Maintenance
Related MCP Connectors
MCP server for Firecrawl — web search, scraping, and biomedical/arXiv paper search.
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
Free web search for AI agents. No API key required. Hosted MCP in active development.
A Model Context Protocol server for Wix AI tools
Related MCP Servers
- AlicenseAqualityAmaintenanceA Model Context Protocol (MCP) server that provides web search capabilities through DuckDuckGo, with additional features for content fetching and parsing.315,517 PyPI1,522MIT
- FlicenseBqualityDmaintenanceA server that provides DuckDuckGo search capabilities (text, image, news, video search and AI chat) through the Model Context Protocol.516-
- AlicenseCqualityCmaintenanceA Model Context Protocol server implementation that enables AI assistants like Claude to perform Google searches and retrieve web data directly through natural language requests.1423 npm169MIT
- FlicenseNot gradedqualityDmaintenanceA Model Context Protocol server that enables AI applications like Claude Desktop and Cursor IDE to perform web searches via DuckDuckGo's search engine.-