mcp duckduckgo search

Local 2025-08-31 23:31:37 0

Enables integration with DuckDuckGo search capabilities for LLMs, supporting comprehensive web search, regional filtering, result types, and safe browsing with caching and customizable search parameters.



⚠️ Notice

This repository is no longer maintained.

The functionality of this tool is now available in mcp-omnisearch, which combines multiple MCP tools in one unified package.

Please use mcp-omnisearch instead.


A Model Context Protocol (MCP) server for integrating DuckDuckGo search capabilities with LLMs. This server provides comprehensive web search functionality with support for various result types and filtering options.

Features

  • ? Comprehensive web search using DuckDuckGo's search engine
  • ? Rich result types including:
  • Knowledge graph information
  • Organic search results
  • News articles
  • Video content
  • Image results
  • Related searches
  • ? Region-specific search support
  • ?️ Configurable safe search levels
  • ? Date-based filtering options
  • ? Pagination support
  • ? Built-in result caching
  • ? Safe search options (off, moderate, strict)

Configuration

This server requires configuration through your MCP client. Here are examples for different environments:

Cline Configuration

Add this to your Cline MCP settings:

{
    "mcpServers": {
        "mcp-duckduckgo-search": {
            "command": "npx",
            "args": ["-y", "mcp-duckduckgo-search"],
            "env": {
                "SERPAPI_KEY": "your-serpapi-api-key"
            }
        }
    }
}

Claude Desktop with WSL Configuration

For WSL environments, add this to your Claude Desktop configuration:

{
    "mcpServers": {
        "mcp-duckduckgo-search": {
            "command": "wsl.exe",
            "args": [
                "bash",
                "-c",
                "source ~/.nvm/nvm.sh && SERPAPI_KEY=your-serpapi-api-key /home/username/.nvm/versions/node/v20.12.1/bin/npx mcp-duckduckgo-search"
            ]
        }
    }
}

Environment Variables

The server requires the following environment variable:

  • SERPAPI_KEY: Your SerpAPI key (required)

API

The server implements a single MCP tool with configurable parameters:

Perform web searches using the DuckDuckGo search engine.

Parameters:

  • query (string, required): Search query
  • region (string, optional): Region code (e.g., us-en, uk-en) (default: us-en)
  • safe_search (string, optional): Safe search level (off, moderate, strict) (default: moderate)
  • date_filter (string, optional): Filter results by date:
  • 'd': past day
  • 'w': past week
  • 'm': past month
  • 'y': past year
  • Custom range: '2023-01-01..2023-12-31'
  • start (number, optional): Result offset for pagination
  • no_cache (boolean, optional): Bypass cache for fresh results (default: false)

Response includes:

  • Knowledge graph data when available
  • Organic search results
  • News articles
  • Video content
  • Image results
  • Related searches
  • Search metadata

Development

Setup

  1. Clone the repository
  2. Install dependencies:
pnpm install
  1. Build the project:
pnpm build
  1. Run in development mode:
pnpm dev

Publishing

The project uses changesets for version management. To publish:

  1. Create a changeset:
pnpm changeset
  1. Version the package:
pnpm changeset version
  1. Publish to npm:
pnpm release

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

License

MIT License - see the LICENSE file for details.

Acknowledgments