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
 
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: 
 
- Maximum 1 request per second
 - Maximum 15000 requests per month
 
- Node.js >= 18
 - pnpm >= 8.0.0
 
# Install pnpm if not already installed
npm install -g pnpm
# Install project dependencies
pnpm installBuild the server:
pnpm run buildFor development with auto-rebuild:
pnpm run watchTo 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"
      ]
    }
  }
}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 inspectorThe Inspector will provide a URL to access debugging tools in your browser.

