trackmcp
Back to directory
spences10

mcp-duckduckgo-search

View on GitHub
3 stars TypeScriptDeveloper Kits Updated Sep 10, 2025

Documentation

mcp-duckduckgo-search


⚠️ 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:

json
{
	"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:

json
{
	"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:

bash
pnpm install

3. Build the project:

bash
pnpm build

4. Run in development mode:

bash
pnpm dev

Publishing

The project uses changesets for version management. To publish:

1. Create a changeset:

bash
pnpm changeset

2. Version the package:

bash
pnpm changeset version

3. Publish to npm:

bash
pnpm release

Contributing

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

License

MIT License - see the LICENSE file for details.

Acknowledgments

  • Built on the

Model Context Protocol

SerpAPI

Frequently asked questions

What is mcp-duckduckgo-search?

mcp-duckduckgo-search is a Model Context Protocol (MCP) server listed in the TrackMCP directory.

How do I install mcp-duckduckgo-search?

Open the GitHub repository and follow its README. Most MCP servers are added to your client's MCP config, then called by your agent.

Is mcp-duckduckgo-search open source?

Yes — it is hosted on GitHub at https://github.com/spences10/mcp-duckduckgo-search and has 3 stars.

Related MCP tools

Run your own MCP server? See who uses it and what to fix.

Measure it with TrackMCP