Performs a web search on DuckDuckGo and returns formatted results with titles, URLs, and snippets
Fetches and parses content from a webpage, returning cleaned and formatted text
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.
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.
The easiest way to install DuckDuckGo Search for Claude Desktop is via Smithery:
npx -y @smithery/cli install @nickclyde/duckduckgo-mcp-server --client claude
uv
:uv pip install duckduckgo-mcp-server
Configure your Claude Desktop by editing the configuration file:
~/Library/Application Support/Claude/claude_desktop_config.json
%APPDATA%\Claude\claude_desktop_config.json
Add the following configuration to the file:
{
"mcpServers": {
"ddg-search": {
"command": "uvx",
"args": ["duckduckgo-mcp-server"]
}
}
}
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
Once installed, you can use the DuckDuckGo Search tools directly in your conversations with Claude. The server provides two main functionalities:
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.
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.
The server implements intelligent rate limiting to prevent being blocked by DuckDuckGo:
Search results and fetched content are processed to:
The server includes comprehensive error handling: