Home / MCP / Duck Duck MCP Server
MCP server using DuckDuckGo to perform searches and return structured results with metadata.
Configuration
View docs{
"mcpServers": {
"duck_duck_mcp": {
"command": "npx",
"args": [
"duck-duck-mcp"
]
}
}
}Duck Duck MCP is a MCP server implementation that uses DuckDuckGo as the search backend. It is designed to integrate with MCP-enabled clients to provide structured search results with metadata, automatic language detection, and intelligent content classification. This guide walks you through using, installing, and configuring the Duck Duck MCP server so you can rapidly couple it with supported AI clients.
You run the Duck Duck MCP server to expose a search capability that MCP clients can query. Start the server using either a quick executable path or a locally installed CLI, then provide your queries through the MCP client. The server will return structured results that include titles, URLs, descriptions, and metadata such as result type, source, region, and safety context. You can tailor searches by region, safe search level, and the number of results returned, and you will receive results that are automatically classified and language-detected.
Prerequisites you should have before installing: Node.js (latest LTS) and npm or npx available in your shell.
# Install via Smithery (preferred if you use the Smithery workflow)
npx -y @smithery/cli install duck-duck-mcp --client claude
# Or run directly without installing the Smithery client
npx -y @smithery/cli install duck-duck-mcp --client claudeTo start the MCP server, choose one of the following commands. These are direct runtime invocations you can use in your environment.
# Start via npx (recommended)
npx duck-duck-mcp
# Start if you have a global binary installed
mcp-server-searchYou can customize the search behavior by passing a query with options for region, safe search level, and the number of results. Here is how a search request might be structured at the client level (in MCP terms):
{
"query": "搜索关键词",
"options": {
"region": "zh-cn",
"safeSearch": "MODERATE",
"numResults": 50
}
}The server responds with an array of results where each item includes a title, URL, description, and metadata. Metadata indicates the type of content (article, documentation, social, etc.) and the source domain. The response also includes overall metadata such as the original query, timestamp, and search context (region and safe search):
{
"type": "search_results",
"data": [
{
"title": "标题",
"url": "网址",
"description": "描述",
"metadata": {
"type": "article|documentation|social|other",
"source": "域名"
}
}
],
"metadata": {
"query": "搜索关键词",
"timestamp": "时间戳",
"resultCount": 50,
"searchContext": {
"region": "zh-cn",
"safeSearch": "MODERATE"
},
"queryAnalysis": {
"language": "zh-cn|en",
"topics": ["technology", "documentation"]
}
}
}Performs a DuckDuckGo-based search through the MCP server, returning structured results with metadata including title, URL, description, and source metadata.