duckduckgo-mcp-server

This repository provides a Model Context Protocol (MCP) server offering DuckDuckGo web search, content fetching, and parsing capabilities. It includes rate limiting, error handling, and LLM-friendly output formatting for seamless integration.

122
8

DuckDuckGo Search MCP Server

smithery badge

A Model Context Protocol (MCP) server providing DuckDuckGo web search, content fetching, and parsing capabilities.

<a href="https://glama.ai/mcp/servers/phcus2gcpn"> <img width="380" height="200" src="https://glama.ai/mcp/servers/phcus2gcpn/badge" alt="DuckDuckGo Server MCP server" /> </a>

Features

  • Web Search: DuckDuckGo search with rate limiting and result formatting.
  • Content Fetching: Webpage content retrieval and parsing with text extraction.
  • Rate Limiting: Built-in rate limit protection for search and content fetching.
  • Error Handling: Comprehensive error handling and logging.
  • LLM-Friendly Output: Results formatted for large language model consumption.

Installation

Install via Smithery or uv:

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

Usage

Integrate with Claude Desktop by modifying the configuration file (claude_desktop_config.json) to include the ddg-search MCP server. Development can be done using the MCP CLI.

Features in Detail

Rate limiting is set to 30 search requests and 20 content fetching requests per minute. Results are processed to remove ads, clean URLs, and format for LLM consumption. Comprehensive error handling and detailed logging are included.

Contributing

Contributions are welcome. Potential improvements include additional search parameters, enhanced content parsing, caching, and rate limiting strategies.

License

This project is licensed under the MIT License.

Repository

NI
nickclyde

nickclyde/duckduckgo-mcp-server

Created

February 22, 2025

Updated

March 28, 2025

Language

Python

Category

Search & Knowledge