Verified

Duckduckgo MCP Server

DuckDuckGo search queries and webpage content extraction for AI assistants.

Data last scanned last week · Reviewed 2 months ago

552 tools1,385PythonMIT

Overview

This server integrates DuckDuckGo search functionality directly into your MCP-compatible AI assistant. It allows models to perform web searches and retrieve parsed text content from external webpages, specifically formatted for LLM consumption.

Our verdict

With a security score of 55/100, this server is considered high-risk. The primary concern is that authentication methods, OAuth support, and read-only mode safety have not yet been reviewed, which is critical for tools interacting with the live web. Due to these unverified security interfaces, this server is best suited for experimental or low-stakes environments rather than production systems handling sensitive data.

  • Zero direct dependencies minimize the supply-chain attack surface
  • Active maintenance with a recent commit two days ago
  • Supports customizable SafeSearch levels and regional search results
  • Formatted outputs optimized for large language model ingestion
  • Authentication mechanisms remain unreviewed
  • Read-only mode implementation status is currently unknown
  • Community-maintained project rather than an official vendor release

Tools

ToolDescriptionRisk
searchPerforms a web search on DuckDuckGo and returns formatted results.low
fetch_contentFetches and parses content from a webpage.low

Compatibility

ClientLocalDockerRemoteRead-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

Duckduckgo MCP Server security score, rated on RepoAI

Maintain this server? Add the live badge to your README.