duckduckgo-search MCP Server
English | 中文
A Model Context Protocol server for DuckDuckGo Search
This is a TypeScript-based MCP server that provides DuckDuckGo search functionality. It demonstrates core MCP concepts through:
- Integration with DuckDuckGo Search
- Easy-to-use search tool interface
- Rate limiting and error handling support
Features
Search Tool
duckduckgo_search- Perform web searches using DuckDuckGo API- Required parameter:
query(search query, max 400 characters) - Optional parameter:
count(number of results, 1-20, default 10) - Optional parameter:
safeSearch(safety level: strict/moderate/off, default moderate) - Returns formatted Markdown search results
- Required parameter:
Rate Limits
- Maximum 1 request per second
- Maximum 15000 requests per month
Development
Prerequisites
- Node.js >= 18
- pnpm >= 8.0.0
Installation
# Install pnpm if not already installed
npm install -g pnpm
# Install project dependencies
pnpm install
Build and Run
Build the server:
pnpm run build
For development with auto-rebuild:
pnpm run watch
Setup in Claude Desktop
To use with Claude Desktop, add the server config:
On MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json
On 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"
]
}
}
}
Debugging
Since MCP servers communicate over stdio, debugging can be challenging. We recommend using the MCP Inspector, which is available as a package script:
pnpm run inspector
The Inspector will provide a URL to access debugging tools in your browser.
Recommend MCP Servers 💡
jpheimonen/code-oracle
A Python MCP server using Gemini 2.5 Flash to locate code in a codebase for Cursor.
enrichment-mcp
An MCP server for performing security data enrichment using third-party services like VirusTotal and Shodan
php-mcp/server
A comprehensive PHP SDK for building Model Context Protocol (MCP) servers, supporting stdio, http+sse, and streamable HTTP transports.
mcp-afl-server
This is a Model Context Protocol (MCP) server that provides AFL (Australian Football League) data from Squiggle API.
brightdata/brightdata-mcp
Bright Data's MCP server enabling LLMs, agents, and apps to access real-time web data seamlessly without getting blocked
@effytech/freshdesk_mcp
An MCP server implementation that integrates with Freshdesk, enabling AI models to interact with Freshdesk modules and perform various support operations.