The DuckDuckGo MCP Server provides comprehensive search functionality through MCP tools, resources, prompts, and a CLI interface.
Search Capabilities: Perform structured DuckDuckGo searches across text, images, videos, and news with customizable parameters including query, max results (1-50), region codes, safesearch levels (on, moderate, off), and time filters (day, week, month, year). Results include structured output with titles, URLs, and body snippets.
Resources: Access supported DuckDuckGo region codes via the duckduckgo://regions resource to discover available regions and their names.
Prompts: Generate pre-built prompts for search analysis (search_assistant) with optional context and research planning (research_planner) with customizable depth levels (basic, intermediate, comprehensive).
CLI Interface: Execute all functionalities directly from the terminal with JSON output option and command-line flags for all search parameters.
MCP Integration: Configure with MCP clients like Claude Desktop and VS Code for AI-assisted search functionality.
Provides web search functionality through DuckDuckGo's search API, enabling structured web searches with customizable parameters like region, safe search, and time limits, plus access to search results as resources and research planning prompts.
DuckDuckGo MCP / CLI
A Model Context Protocol (MCP) server and CLI that provide DuckDuckGo search functionality as MCP tools, resources, prompts, and a command-line interface.
Features
Search Tool: Structured web, images, videos, and news search with parameters
Prompts: Pre-built prompts for search analysis and research planning
Resources: Discover supported DuckDuckGo region codes
CLI: Run searches from your terminal with JSON output option
Use With MCP Clients
Configure via uvx (Claude Desktop)
Add this to ~/Library/Application Support/Claude/claude_desktop_config.json under mcpServers:
Notes:
Restart Claude Desktop after saving the config.
Configure via uvx (VS Code)
Add this to your workspace .vscode/mcp.json (or User settings JSON):
Quick sanity check (optional)
Run the server ad-hoc via uvx to verify it starts:
MCP Capabilities
Tools:
search— DuckDuckGo search acrosstext(default),images,videos, ornews.Parameters:
query(string)max_results(1–50, default 10)categories(text|images|videos|news)region(e.g.,us-en; defaults tous-enwhen omitted)safesearch(on|moderate|off, defaultoff)timelimit(day|week|month|year)
Returns:
query,total_results,results[{title, url, body}].
Resources:
duckduckgo://regions— JSON withnote,count, andregions[{code, name}]to discover supported region codes.Prompts:
search_assistant(query, context="")— generates a prompt to analyze search results;research_planner(topic, depth="basic|intermediate|comprehensive")— generates a structured research plan.
Use as CLI Command
Run directly with uvx (no install):
Or from this project (or after installing locally) using uv:
With options:
Available options:
--max-results,-m: Maximum number of results (default: 10)--region,-r: Region code (e.g.,us-en)--safesearch,-s:on,moderate, oroff(default:off)--timelimit,-t:day,week,month, oryear--categories,-c:text(default),images,videos, ornews--json: Output results as JSON array--resoure-regions: Print the supported regions resource and exit--prompt-search-assistant QUERY: Print thesearch_assistantprompt text and exit--prompt-search-assistant-context CTX: Optional context for search assistant prompt--prompt-research-planner TOPIC: Print theresearch_plannerprompt text and exit--prompt-research-planner-depth DEPTH: Depth for research planner (basic,intermediate,comprehensive)
Examples with uvx:
Development
Development Setup
Fork the repository
Clone your fork:
git clone https://github.com/yourusername/duckduckgo-mcp.gitSet up the development environment:
cd duckduckgo-mcp uv venv source .venv/bin/activate uv sync
Code Quality
Linting:
uv run ruff checkFormatting:
uv run ruff formatTesting:
uv run pytestType checking: Ensure all code follows Python type hints
License
This project is licensed under the MIT License.
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
Tools
Enables web searches through DuckDuckGo with customizable parameters like region, safe search, and time limits. Provides structured search results, recent search resources, and research planning prompts for comprehensive information gathering.