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
Datadog MCP Server
Datadog MCP servers enable AI models to interact with Datadog observability: metrics, logs, traces, monitors, dashboards, incidents, and infrastructure insights.
RabbitMQ MCP Server
RabbitMQ MCP server enables AI models to interact with RabbitMQ message brokers, providing capabilities for queue management, message operations, system monitoring, and broker administration through the RabbitMQ HTTP Management API.
Linear MCP Server
Linear MCP server enables AI models to interact with Linear's project management system, providing capabilities for issue tracking, project management, team collaboration, and workflow automation.