DuckDuckGo Search MCP Server
Search the web with DuckDuckGo and extract webpage content through AI assistants — privacy-friendly, no API key required.
Overview
The DuckDuckGo MCP Server enables AI assistants to search the web using DuckDuckGo with privacy-respecting search and intelligent content extraction. It provides search results formatted for LLM consumption, webpage content parsing with anti-bot detection, SafeSearch filtering, and region localization — all without tracking or requiring an API key.
Popular Community Server:
Developed by nickclyde with 1,100+ stars on GitHub. Python-based, installable via uv.
Key Features
Privacy-First Search
Search without tracking, profiling, or storing personal data. Results formatted for AI consumption.
Content Extraction
Fetch and parse webpage content with intelligent text extraction and configurable length limits.
SafeSearch & Region
Configurable SafeSearch filtering (strict/moderate/off) and region localization for relevant results.
Bot Detection Bypass
Optional curl-based fetch backend that impersonates Chrome browser TLS handshake to bypass Cloudflare filters.
Rate Limiting
Built-in protection: 30 searches per minute, 20 content fetches per minute with automatic queue management.
No API Key Required
Free to use without registration or authentication. Supports SSE and Streamable HTTP transports.
Available Tools
Quick Reference
| Tool | Purpose | Category |
|---|---|---|
search | Search DuckDuckGo with region and result count | Search |
fetch_content | Fetch and parse webpage content | Content |
Detailed Usage
search▶
Search DuckDuckGo with configurable region and result count. Results are formatted for LLM consumption.
use_mcp_tool({
server_name: "ddg-search",
tool_name: "search",
arguments: {
query: "Rust programming language features",
max_results: 10,
region: "us-en"
}
});
Region codes: us-en, cn-zh, jp-ja, de-de, fr-fr, wt-wt (no region).
fetch_content▶
Fetch and parse content from a webpage with optional start offset and length limit. Supports multiple fetch backends.
use_mcp_tool({
server_name: "ddg-search",
tool_name: "fetch_content",
arguments: {
url: "https://www.rust-lang.org/learn",
max_length: 5000,
backend: "httpx"
}
});
Backend options: httpx (default), curl (TLS impersonation), auto (try httpx, fall back to curl).
Installation
{
"mcpServers": {
"ddg-search": {
"command": "uvx",
"args": [
"duckduckgo-mcp-server"
]
}
}
}
Configuration
Configure SafeSearch and default region via environment variables:
| Variable | Values | Description |
|---|---|---|
DDG_SAFE_SEARCH | STRICT, MODERATE, OFF | Content filtering level |
DDG_REGION | us-en, cn-zh, jp-ja, etc. | Default search region |
Example with SafeSearch enabled:
{
"mcpServers": {
"ddg-search": {
"command": "uvx",
"args": ["duckduckgo-mcp-server"],
"env": {
"DDG_SAFE_SEARCH": "STRICT",
"DDG_REGION": "us-en"
}
}
}
}
Fetch Backend:
Install with pip install "duckduckgo-mcp-server[browser]" or uvx --with "duckduckgo-mcp-server[browser]" to enable the curl-based fetch backend that bypasses Cloudflare bot detection.
Sources
Related Articles
Discord MCP Server
Discord MCP server provides comprehensive Discord integration with 60+ tools for managing messages, channels, roles, forums, webhooks, and server moderation.
AWS MCP Server
Interact with Amazon Web Services through your AI assistant - manage EC2, S3, Lambda, and hundreds of AWS services.
GitHub Actions MCP Server
Manage CI/CD workflows with GitHub Actions through your AI assistant - trigger runs, check status, and debug failures.