DuckDuckGo MCP
Privacy-focused web search using DuckDuckGo's HTML API.
Overview
Privacy-focused web search using DuckDuckGo's HTML API.
Setup
Run with npx:
npx -y @modelcontextprotocol/server-duckduckgoConfiguration
No API key requiredDocumentation
DuckDuckGo MCP
Overview
DuckDuckGo MCP is a Model Context Protocol server that provides privacy-focused web search using DuckDuckGo's HTML API. DuckDuckGo is a privacy-centric search engine that doesn't track users, build profiles, or filter results based on personal data.
The MCP integration enables AI agents to perform web searches without requiring API keys or exposing search history. It's a great option for privacy-conscious applications and when you want to avoid the costs and rate limits of other search APIs.
Features
- Privacy-First: No tracking, no profiling, no personalization
- No API Key Required: Free to use without authentication
- Instant Answers: Access to DuckDuckGo's instant answer API
- Web Search: Full web search capabilities
- Image Search: Search for images
- News Search: Search for news articles
- Autocomplete: Get search suggestions
- Rate Limit Friendly: Generous limits for free usage
Installation
npx -y @modelcontextprotocol/server-duckduckgo
Configuration
Add to your claude_desktop_config.json:
{
"mcpServers": {
"duckduckgo": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-duckduckgo"]
}
}
}
No API key or configuration is requiredβjust add it to your config and start using it.
Available Tools
| Tool | Description |
|---|---|
search | Perform a web search |
search_images | Search for images |
search_news | Search for news articles |
get_instant_answer | Get instant answer for a query |
get_autocomplete | Get search suggestions |
Usage Examples
Basic Web Search
results = search(query="AI agent frameworks 2026 comparison")
for result in results:
print(f"{result.title}")
print(f" URL: {result.url}")
print(f" {result.excerpt}")
Get Instant Answer
# Get instant answer (for queries with direct answers)
answer = get_instant_answer(query="what is the capital of France")
print(f"Instant answer: {answer.answer}")
print(f"Source: {answer.source}")
Search Images
images = search_images(query="machine learning architecture diagram")
for image in images:
print(f"{image.title}: {image.image_url}")
print(f" Thumbnail: {image.thumbnail_url}")
Search News
news = search_news(query="latest AI breakthroughs 2026")
for article in news:
print(f"{article.title} - {article.date}")
print(f" Source: {article.source}")
print(f" {article.excerpt}")
Get Autocomplete Suggestions
suggestions = get_autocomplete(query="how to build")
for suggestion in suggestions:
print(f"- {suggestion}")
Research Workflow
# Start with autocomplete to find related topics
base_query = "AI agent frameworks"
suggestions = get_autocomplete(query=base_query)
# Search for each suggestion
all_results = []
for suggestion in suggestions[:5]:
results = search(query=suggestion, max_results=5)
all_results.extend(results)
# Deduplicate and summarize
unique_urls = set()
unique_results = []
for result in all_results:
if result.url not in unique_urls:
unique_urls.add(result.url)
unique_results.append(result)
print(f"Found {len(unique_results)} unique results")
for result in unique_results[:10]:
print(f"- {result.title}: {result.url}")
Pros
- β No API Key Required: Free and simple to use
- β Privacy-First: No tracking or profiling
- β No Rate Limits: Generous free usage limits
- β Instant Answers: Direct answers for common queries
- β Multiple Categories: Web, images, news
- β Autocomplete: Get search suggestions
Cons
- β Less Comprehensive: May miss results from larger engines
- β No Advanced Filters: Limited filtering options
- β Instant Answer Coverage: Not all queries have instant answers
- β No Customization: Less control over search behavior
When to Use
Use DuckDuckGo MCP when:
- You want privacy-focused search without tracking
- You need a free search option without API keys
- You're building privacy-conscious applications
- You need quick searches without rate limit concerns
Avoid DuckDuckGo MCP when:
- You need the most comprehensive search results
- You need advanced search filters and operators
- You need enterprise-grade search with SLAs
