Home / MCP / DuckDuckGo MCP Server

DuckDuckGo MCP Server

Provides DuckDuckGo search via MCP with a simple search tool, rate limiting, and Markdown-formatted results.

typescript
Installation
Add the following to your MCP client configuration file.

Configuration

View docs
{
    "mcpServers": {
        "duckduckgo_search": {
            "command": "npx",
            "args": [
                "-y",
                "duckduckgo-mcp-server"
            ]
        }
    }
}

A TypeScript MCP server that exposes DuckDuckGo search functionality via the Model Context Protocol. It enables you to perform web searches through a simple tool interface while handling rate limits and errors gracefully.

How to use

You access the DuckDuckGo search tool through your MCP client. Use the duckduckgo_search tool to perform web searches. Provide the required query parameter with your search terms (up to 400 characters). Optional parameters let you adjust results: count to specify how many results (1–20, default 10) and safeSearch to set the safety level (strict/moderate/off, default moderate). The tool returns a formatted Markdown list of results for easy display.

How to install

Prerequisites: you need a recent Node.js runtime and a package manager.

Node.js >= 18 and pnpm >= 8.0.0 are required to build and run the server.

# Install pnpm if not already installed
npm install -g pnpm

# Install project dependencies
pnpm install

# Build the server
pnpm run build

# For development with auto-rebuild
pnpm run watch

Setup in Claude Desktop

To use the server with Claude Desktop, configure the MCP servers in the Claude config. There are two example configurations: online (running through a package runner) and local (running a built index.js directly). Use the snippet that matches your setup.

# 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

MCP servers communicate over stdio, which can be challenging to debug. Use the MCP Inspector to access debugging tools in your browser. The inspector is available as a package script.

pnpm run inspector

Notes and considerations

Rate limits are enforced to protect the service: a maximum of 1 request per second and up to 15,000 requests per month. Handle errors gracefully in your client and present clear messages to users when limits are reached.

Available tools

duckduckgo_search

Performs web searches using the DuckDuckGo API and returns results formatted in Markdown, with support for optional count and safeSearch parameters.