Your LLM's search engine, now with a fake Chrome fingerprint
An MCP server that plugs DuckDuckGo into Claude Desktop, with a sneaky TLS-impersonation mode for scraping sites that hate bots.

What it does
Exposes two tools to any MCP client (Claude Desktop, Claude Code, or custom): search for DuckDuckGo queries and fetch_content for pulling and cleaning webpage text. Results are formatted for LLM consumption, with rate limits baked in (30 searches, 20 fetches per minute).
The interesting bit
The real craft is in the optional curl fetch backend. The default httpx client gets blocked by Cloudflare and friends because its TLS fingerprint is unmistakably “not a browser” — the JA3 signature betrays it regardless of User-Agent. The opt-in curl backend uses curl_cffi to impersonate Chrome 131’s TLS handshake, and an auto mode will retry with the disguise when httpx hits a 403. Search itself doesn’t need this; DuckDuckGo is friendly enough.
Key highlights
- Per-call backend override: an MCP client can choose
httpx,curl, orautofor any singlefetch_contentcall, independent of the server default - SafeSearch and region are locked at server startup via env vars (
DDG_SAFE_SEARCH,DDG_REGION), so the AI assistant can’t disable filters on its own - Supports
stdio,sse, andstreamable-httptransports - Optional
[browser]extra keeps the base install lightweight if you don’t need TLS impersonation
Caveats
- The
searchtool always useshttpx; no TLS impersonation there (the README says DuckDuckGo doesn’t require it) - Rate limits are hardcoded, not configurable from the sources shown
- No caching layer yet; the README lists it as a future improvement
Verdict
Worth a look if you’re running Claude Desktop or another MCP client and want your LLM to search the web without signing up for yet another API key. The TLS-impersonation trick is genuinely useful for research workflows. Skip it if you already have a preferred search API with proper rate limits and don’t need the bot-evasion.
Frequently asked
- What is nickclyde/duckduckgo-mcp-server?
- An MCP server that plugs DuckDuckGo into Claude Desktop, with a sneaky TLS-impersonation mode for scraping sites that hate bots.
- Is duckduckgo-mcp-server open source?
- Yes — nickclyde/duckduckgo-mcp-server is open source, released under the MIT license.
- What language is duckduckgo-mcp-server written in?
- nickclyde/duckduckgo-mcp-server is primarily written in Python.
- How popular is duckduckgo-mcp-server?
- nickclyde/duckduckgo-mcp-server has 1.3k stars on GitHub.
- Where can I find duckduckgo-mcp-server?
- nickclyde/duckduckgo-mcp-server is on GitHub at https://github.com/nickclyde/duckduckgo-mcp-server.