by nickclyde
DuckDuckGo Search integrates web search and content parsing, ensuring privacy-focused results for large language model u
Provides web search functionality through DuckDuckGo with support for different result types, filtering, and pagination. Note: This repository is deprecated in favor of mcp-omnisearch.
DuckDuckGo Search is a community-built MCP server published by nickclyde that provides AI assistants with tools and capabilities via the Model Context Protocol. DuckDuckGo Search integrates web search and content parsing, ensuring privacy-focused results for large language model u It is categorized under search web. This server exposes 2 tools that AI clients can invoke during conversations and coding sessions.
You can install DuckDuckGo Search in your AI client of choice. Use the install panel on this page to get one-click setup for Cursor, Claude Desktop, VS Code, and other MCP-compatible clients. This server runs locally on your machine via the stdio transport. This server supports remote connections over HTTP, so no local installation is required.
MIT
DuckDuckGo Search is released under the MIT license. This is a permissive open-source license, meaning you can freely use, modify, and distribute the software.
Fetch and extract information from websites automatically
Example
Research competitor pricing, scrape product reviews, monitor news mentions
Automate 5-10 hours/week of manual web research
Track website changes, new content, price updates
Example
Monitor competitor blog for new posts, track stock availability, watch for pricing changes
Stay informed without manual checking, never miss important updates
Extract structured data from multiple websites
Example
Compile product listings from 10 e-commerce sites, aggregate job postings, collect real estate data
Build datasets 100x faster than manual copying
Share your MCP server with the developer community
DuckDuckGo Search reduced integration guesswork — categories and install configs on the listing matched the upstream repo.
Useful MCP listing: DuckDuckGo Search is the kind of server we cite when onboarding engineers to host + tool permissions.
I recommend DuckDuckGo Search for teams standardizing on MCP; the explainx.ai page compares cleanly with sibling servers.
Strong directory entry: DuckDuckGo Search surfaces stars and publisher context so we could sanity-check maintenance before adopting.
Strong directory entry: DuckDuckGo Search surfaces stars and publisher context so we could sanity-check maintenance before adopting.
I recommend DuckDuckGo Search for teams standardizing on MCP; the explainx.ai page compares cleanly with sibling servers.
DuckDuckGo Search is among the better-indexed MCP projects we tried; the explainx.ai summary tracks the official description.
DuckDuckGo Search has been reliable for tool-calling workflows; the MCP profile page is a good permalink for internal docs.
We evaluated DuckDuckGo Search against two servers with overlapping tools; this profile had the clearer scope statement.
Strong directory entry: DuckDuckGo Search surfaces stars and publisher context so we could sanity-check maintenance before adopting.
showing 1-10 of 37
A Model Context Protocol (MCP) server that provides web search capabilities through DuckDuckGo, with additional features for content fetching and parsing.
uvx duckduckgo-mcp-server
Install from PyPI using uv:
uv pip install duckduckgo-mcp-server
~/Library/Application Support/Claude/claude_desktop_config.json%APPDATA%\Claude\claude_desktop_config.jsonAdd the following configuration:
Basic Configuration (No SafeSearch, No Default Region):
{
"mcpServers": {
"ddg-search": {
"command": "uvx",
"args": ["duckduckgo-mcp-server"]
}
}
}
With SafeSearch and Region Configuration:
{
"mcpServers": {
"ddg-search": {
"command": "uvx",
"args": ["duckduckgo-mcp-server"],
"env": {
"DDG_SAFE_SEARCH": "STRICT",
"DDG_REGION": "cn-zh"
}
}
}
}
Configuration Options:
DDG_SAFE_SEARCH: SafeSearch filtering level (optional)
STRICT: Maximum content filtering (kp=1)MODERATE: Balanced filtering (kp=-1, default if not specified)OFF: No content filtering (kp=-2)DDG_REGION: Default region/language code (optional, examples below)
us-en: United States (English)cn-zh: China (Chinese)jp-ja: Japan (Japanese)wt-wt: No specific regionuvenv is installed and the uvx command is availableclaude mcp add ddg-search uvx duckduckgo-mcp-serverThe server supports alternative transports for use with other MCP clients:
# SSE transport
uvx duckduckgo-mcp-server --transport sse
# Streamable HTTP transport
uvx duckduckgo-mcp-server --transport streamable-http
The default transport is stdio, which is used by Claude Desktop and Claude Code.
For local development:
# Install dependencies
uv sync
# Run with the MCP Inspector
mcp dev src/duckduckgo_mcp_server/server.py
# Install locally for testing with Claude Desktop
mcp install src/duckduckgo_mcp_server/server.py
# Run all tests
uv run python -m pytest src/duckduckgo_mcp_server/ -v
# Run only unit tests
uv run python -m pytest src/duckduckgo_mcp_server/test_server.py -v
# Run only e2e tests
uv run python -m pytest src/duckduckgo_mcp_server/test_e2e.py -v
async def search(query: str, max_results: int = 10, region: str = "") -> str
Performs a web search on DuckDuckGo and returns formatted results.
Parameters:
query: Search query stringmax_results: Maximum number of results to return (default: 10)region: (Optional) Region/language code to override the default. Leave empty to use the configured default region.Region Code Examples:
us-en: United States (English)cn-zh: China (Chinese)jp-ja: Japan (Japanese)de-de: Germany (German)fr-fr: France (French)wt-wt: No specific regionReturns: Formatted string containing search results with titles, URLs, and snippets.
Example Usage:
search("python tutorial")search("latest news", region="jp-ja") for Japanese newsasync def fetch_content(url: str) -> str
Fetches and parses content from a webpage.
Parameters:
url: The webpage URL to fetch content fromReturns: Cleaned and formatted text content from the webpage.
SafeSearch Filtering: Configured at server startup via DDG_SAFE_SEARCH environment variable
kp parameterRegion Localization:
DDG_REGION environment variableIssues and pull requests are welcome! Some areas for potential improvement:
This project is licensed under the MIT License.
Interact with services that don't offer APIs
Example
Check form submissions, validate website functionality, test user flows
Automate interactions with any website, even without API
Prerequisites
Time Estimate
20-40 minutes including configuration and testing
Steps
Troubleshooting
✓ Do
✗ Don't
💡 Pro Tips
Architecture
MCP server handles HTTP requests, HTML parsing, JavaScript rendering (if headless browser), and returns structured data to Claude.
Protocols
Compatibility
✓ Use when
Use for research automation, content monitoring, data aggregation from multiple sources, and when official APIs don't exist. Best for read-only information gathering.
✗ Avoid when
Avoid for sites with APIs (use API instead), sites that explicitly forbid scraping, when data is copyrighted, or for login-required content without proper authorization.