Back to MCP Catalog

DuckDuckGo Search MCP Server

SearchPython
Web search capabilities through DuckDuckGo with content fetching and parsing
Available Tools

search

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

querymax_results

fetch_content

Fetches and parses content from a webpage, returning cleaned and formatted text

url

DuckDuckGo Search provides a privacy-focused web search experience through the DuckDuckGo search engine. It offers advanced features including intelligent content fetching and parsing, making it ideal for LLMs that need to access current web information. The server includes built-in rate limiting protection, comprehensive error handling, and formats results specifically for optimal large language model consumption. With both search and content fetching capabilities, it serves as a complete solution for web information retrieval.

Overview

DuckDuckGo Search is a Model Context Protocol (MCP) server that enables web search capabilities through DuckDuckGo, along with webpage content fetching and parsing. This tool is designed to help language models access current information from the web in a format optimized for their consumption.

Installation

Using Smithery

The easiest way to install DuckDuckGo Search for Claude Desktop is via Smithery:

npx -y @smithery/cli install @nickclyde/duckduckgo-mcp-server --client claude

Manual Installation

  1. Install the package using uv:
uv pip install duckduckgo-mcp-server
  1. Configure your Claude Desktop by editing the configuration file:

    • On macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
    • On Windows: %APPDATA%\Claude\claude_desktop_config.json
  2. Add the following configuration to the file:

{
    "mcpServers": {
        "ddg-search": {
            "command": "uvx",
            "args": ["duckduckgo-mcp-server"]
        }
    }
}
  1. Restart Claude Desktop to apply the changes.

Docker Installation

For users who prefer Docker, a Dockerfile is available in the repository. You can build and run the container with:

docker build -t duckduckgo-mcp-server .
docker run -p 8000:8000 duckduckgo-mcp-server

Usage

Once installed, you can use the DuckDuckGo Search tools directly in your conversations with Claude. The server provides two main functionalities:

  1. Web Search: Search the web using DuckDuckGo and get formatted results
  2. Content Fetching: Retrieve and parse content from specific webpages

Search Example

To perform a web search, you can ask Claude to use the search tool:

"Can you search for the latest news about renewable energy?"

Claude will use the search tool with the appropriate query and return formatted results including titles, URLs, and snippets.

Content Fetching Example

To fetch content from a specific webpage:

"Can you fetch and summarize the content from https://example.com/article?"

Claude will use the fetch_content tool to retrieve the webpage content, parse it, and present the information in a clean, readable format.

Features

Rate Limiting

The server implements intelligent rate limiting to prevent being blocked by DuckDuckGo:

  • Search requests are limited to 30 per minute
  • Content fetching is limited to 20 requests per minute
  • Automatic queue management and wait times are implemented

Result Processing

Search results and fetched content are processed to:

  • Remove ads and irrelevant content
  • Clean up redirect URLs
  • Format results for optimal LLM consumption
  • Truncate long content appropriately

Error Handling

The server includes comprehensive error handling:

  • Detailed error catching and reporting
  • Logging through MCP context
  • Graceful degradation on rate limits or timeouts

Related MCPs

SearXNG
SearchTypeScript

Web search capabilities through SearXNG API integration

Hacker News
SearchPython

Access and search Hacker News content programmatically

Web Search
SearchJavaScript

Free Google search integration with no API keys required

About Model Context Protocol

Model Context Protocol (MCP) allows AI models to access external tools and services, extending their capabilities beyond their training data.

Generate Cursor Documentation

Save time on coding by generating custom documentation and prompts for Cursor IDE.