Duckduckgo MCP Server
DuckDuckGo web search results and webpage parsing for AI model context windows.
Data last scanned today · Reviewed today
Overview
This server integrates DuckDuckGo search functionality directly into your AI workspace. It provides automated web searching, webpage content fetching, and intelligent text extraction designed to format data for optimal LLM consumption. Users can customize their search experience by configuring regional settings and SafeSearch levels. It supports deployment via Claude Desktop, Claude Code, or alternative transports like SSE and Streamable HTTP.
Our verdict
With a security score of 50/100, this server is currently classified as high risk. This rating reflects its status as a community-maintained project that has not yet undergone editorial review or an audit of its authentication and read-only mechanisms. Given these limitations, it is best suited for experimental use by developers rather than sensitive production environments.
- Zero direct dependencies reduce the supply-chain attack surface.
- Built-in rate limiting helps prevent service interruptions.
- Supports specific SafeSearch and regional configuration options.
- Community interest is high with 1,370 GitHub stars.
- Not maintained by an official vendor.
- Authentication and read-only modes remain unreviewed.
- Lacks a dedicated homepage link for verified project information.
Tools
| Tool | Description | Risk |
|---|---|---|
| search | Performs a web search on DuckDuckGo and returns formatted results. | low |
| fetch_content | Fetches and parses content from a webpage. | low |
Compatibility
| Client | Local | Docker | Remote | Read-only |
|---|---|---|---|---|
| Claude Desktop | ||||
| Cursor | ||||
| VS Code | ||||
| Windsurf | ||||
| ChatGPT |
Frequently asked questions
›Does the server require any specific environment configurations?
You can optionally configure SafeSearch levels and regional search results by setting the DDG_SAFE_SEARCH and DDG_REGION environment variables in your MCP client configuration.
›What should I do if search results are returning empty?
DuckDuckGo's search endpoint may block the default httpx client due to TLS fingerprinting. You can resolve this by installing the browser extra with 'uv pip install duckduckgo-mcp-server[browser]' and using the 'auto' or 'curl' backend.
›Can I switch between different HTTP backends?
Yes, you can set a server-wide default using the --fetch-backend CLI flag, or override the backend on a per-call basis using the backend argument within the fetch_content tool.
›Does the server support transports other than stdio?
Yes, the server supports SSE and streamable-http transports, which you can enable using the --transport flag along with --host and --port options if needed.
›Is the browser-based backend required for all features?
The browser-based backend is optional and only required if you need to use the 'curl' or 'auto' backends to bypass TLS-fingerprint-based blocking.
Alternatives
Changelog
Badge
Maintain this server? Add the live badge to your README.