DuckDuckGo

DuckDuckGo

Installable
nickclyde
GitHub

About

A Model Context Protocol (MCP) server that provides web search capabilities through DuckDuckGo, with additional features for content fetching and parsing.

Features

  • Web Search: Search DuckDuckGo with advanced rate limiting and result formatting
  • Content Fetching: Retrieve and parse webpage content with intelligent text extraction
  • Rate Limiting: Built-in protection against rate limits for both search and content fetching
  • Error Handling: Comprehensive error handling and logging
  • LLM-Friendly Output: Results formatted specifically for large language model consumption

Available Tools

Search Tool

Performs a web search on DuckDuckGo and returns formatted results.

Parameters:

  • query: Search query string
  • max_results: Maximum number of results to return (default: 10)
  • region: (Optional) Region/language code to override the default. Leave empty to use the configured default region.

Region Code Examples:

  • us-en: United States (English)
  • cn-zh: China (Chinese)
  • jp-ja: Japan (Japanese)
  • de-de: Germany (German)
  • fr-fr: France (French)
  • wt-wt: No specific region

Example Usage:

  • Search with default settings: search("python tutorial")
  • Search with specific region: search("latest news", region="jp-ja") for Japanese news

Content Fetching Tool

Fetches and parses content from a webpage.

Parameters:

  • url: The webpage URL to fetch content from
  • start_index: Character offset to start reading from (for pagination)
  • max_length: Maximum number of characters to return
  • backend: Optional per-call override of the default fetch backend (httpx, curl, or auto). When omitted, uses whatever was set via --fetch-backend at server startup.

Fetch Backend (bypassing bot detection)

Some sites block the default httpx client because of its distinctive TLS fingerprint. An opt-in backend, curl (via curl_cffi), impersonates a real Chrome browser's TLS handshake and passes through those checks.

Backend options:

  • httpx: Lightweight async HTTP (default)
  • curl: Uses curl_cffi with Chrome 131 TLS impersonation (requires [browser] extra)
  • auto: Tries httpx first; on 403 or Cloudflare challenge, retries with curl (requires [browser] extra)

Features in Detail

Rate Limiting

  • Search: Limited to 30 requests per minute
  • Content Fetching: Limited to 20 requests per minute
  • Automatic queue management and wait times

Result Processing

  • Removes ads and irrelevant content
  • Cleans up DuckDuckGo redirect URLs
  • Formats results for optimal LLM consumption
  • Truncates long content appropriately

Content Safety

  • SafeSearch Filtering: Configured at server startup via DDG_SAFE_SEARCH environment variable

    • Controlled by administrators, not modifiable by AI assistants
    • Filters inappropriate content based on the selected level
    • Uses DuckDuckGo's official kp parameter
  • Region Localization:

    • Default region set via DDG_REGION environment variable
    • Can be overridden per search request by AI assistants
    • Improves result relevance for specific geographic regions

This server runs through your single 1Server connection. No extra config required.

0Installs
--Stars

Categories

SearchWebAI Tools

Rate limit exceeded

Please slow down and try again in a moment.

Rate limit exceeded

Please slow down and try again in a moment.