Fire in da houseTop Tip:Paying $100+ per month for Perplexity, MidJourney, Runway, ChatGPT and other tools is crazy - get all your AI tools in one site starting at $15 per month with Galaxy AI Fire in da houseCheck it out free

duckduckgo-mcp-server

MCP.Pizza Chef: zhsama

The duckduckgo-mcp-server is a TypeScript-based Model Context Protocol server that integrates DuckDuckGo Search functionality. It provides a simple search tool interface allowing queries with configurable result counts and safe search levels. The server supports rate limiting and error handling, making it reliable for real-time web search integration within MCP-enabled applications. It returns search results formatted in Markdown for easy consumption by LLMs and other clients.

Use This MCP server To

Perform web searches within MCP-enabled applications Retrieve formatted DuckDuckGo search results for queries Implement safe search filtering in search results Enforce rate limits on search requests Integrate real-time web search into AI workflows Provide search results as Markdown for LLM consumption

README

duckduckgo-search MCP Server

English | 中文

A Model Context Protocol server for DuckDuckGo Search

This is a TypeScript-based MCP server that provides DuckDuckGo search functionality. It demonstrates core MCP concepts through:

  • Integration with DuckDuckGo Search
  • Easy-to-use search tool interface
  • Rate limiting and error handling support
DuckDuckGo Server MCP server

Features

Search Tool

  • duckduckgo_search - Perform web searches using DuckDuckGo API
    • Required parameter: query (search query, max 400 characters)
    • Optional parameter: count (number of results, 1-20, default 10)
    • Optional parameter: safeSearch (safety level: strict/moderate/off, default moderate)
    • Returns formatted Markdown search results

Rate Limits

  • Maximum 1 request per second
  • Maximum 15000 requests per month

Development

Prerequisites

  • Node.js >= 18
  • pnpm >= 8.0.0

Installation

# Install pnpm if not already installed
npm install -g pnpm

# Install project dependencies
pnpm install

Build and Run

Build the server:

pnpm run build

For development with auto-rebuild:

pnpm run watch

Setup in Claude Desktop

To use with Claude Desktop, add the server config:

On MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json On Windows: %APPDATA%/Claude/claude_desktop_config.json

# online
{
  "mcpServers": {
    "duckduckgo-search": {
        "command": "npx",
        "args": [
          "-y",
          "duckduckgo-mcp-server"
        ]
    }
  }
}

# local
{
  "mcpServers": {
    "duckduckgo-search": {
      "command": "node",
      "args": [
        "/path/to/duckduckgo-search/build/index.js"
      ]
    }
  }
}

image image

Debugging

Since MCP servers communicate over stdio, debugging can be challenging. We recommend using the MCP Inspector, which is available as a package script:

pnpm run inspector

The Inspector will provide a URL to access debugging tools in your browser.

duckduckgo-mcp-server FAQ

How do I specify the number of search results returned?
Use the optional 'count' parameter with a value between 1 and 20; default is 10.
What safe search levels are supported?
The server supports 'strict', 'moderate' (default), and 'off' safe search levels.
What are the rate limits for using this server?
The server allows a maximum of 1 request per second and 15,000 requests per month.
How are search results formatted?
Results are returned in Markdown format for easy integration with LLMs and other clients.
Can I use this server to perform searches in multiple languages?
The server interfaces with DuckDuckGo Search, which primarily supports English queries, but may handle other languages depending on DuckDuckGo's capabilities.
How does the server handle errors or rate limit breaches?
It includes built-in error handling and enforces rate limits to prevent overuse and ensure reliability.