Home / MCP / DuckDuckGo MCP Server

DuckDuckGo MCP Server

Provides web search and content extraction via DuckDuckGo with LLM-friendly output.

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

Configuration

View docs
{
    "mcpServers": {
        "ddg_search": {
            "command": "uvx",
            "args": [
                "duckduckgo-mcp-server"
            ]
        }
    }
}

You deploy a DuckDuckGo-based MCP server that lets you perform web searches and fetch web content, with results formatted for efficient use by large language models. It handles rate limiting, error handling, and clean output to integrate search and content parsing into your workflows.

How to use

You can use this MCP server with any MCP client by running the local SDP (stdio) configuration that points to the DuckDuckGo MCP server and then using the client to perform searches or fetch content. The server exposes two core capabilities: a search tool that queries DuckDuckGo and returns formatted results, and a content fetching tool that retrieves and cleans text from webpages. Use these tools to rapidly obtain search results and extract readable content for downstream tasks.

How to install

Prerequisites you need before installing are Node.js and Python tooling. You will install a CLI tool to wire up MCP servers and then run the DuckDuckGo MCP server locally for development or use an automatic installer if you prefer.

# Install the MCP server via Smithery for Claude Desktop automatically
npx -y @smithery/cli install @nickclyde/duckduckgo-mcp-server --client claude

# Install the server directly for development using uv
uv pip install duckduckgo-mcp-server

Configuration example for Claude Desktop

To run the server with Claude Desktop, add this MCP server entry to your Claude Desktop configuration. The runtime command uses the stdio approach with a local server process.

{
  "mcpServers": {
    "ddg-search": {
      "command": "uvx",
      "args": ["duckduckgo-mcp-server"]
    }
  }
}

Development

For local development and testing, you can use the MCP CLI. Run the server in development mode or install it locally for Claude Desktop testing.

# Run with the MCP Inspector
mcp dev server.py

# Install locally for testing with Claude Desktop
mcp install server.py

Available tools

search

Performs a web search on DuckDuckGo and returns formatted results including titles, URLs, and snippets.

fetch_content

Fetches and parses content from a webpage, returning cleaned and formatted text suitable for reading or model consumption.