PlugWiki
duckduckgo-mcp-server logo

DuckDuckGo MCP Server by Nick Clyde: Setup for Claude, Cursor and Other Apps

CommunityLocal
GetPyPIduckduckgo-mcp-servernickclyde/duckduckgo-mcp-server

Lets Claude, Cursor or another assistant search the web with DuckDuckGo and read the pages it finds, with no account or API key.

This is a community server by Nick Clyde. DuckDuckGo did not make it. It runs on your computer with uvx and fetches pages from your own network connection.

Install it with the extra browser option shown in the install box. DuckDuckGo sometimes blocks plain requests and returns no results, and the extra lets the server retry in a way that gets through.

Good for

  • People who want web search in an assistant without paying for a search API
  • Researchers who want the assistant to read and summarise result pages
  • Privacy-minded users who prefer DuckDuckGo to other search engines

Works in

12 should work

Tap an app to see how to set it up and any known problems.

Install duckduckgo-mcp-server

Claude Code

  1. 1

    Copy this prompt.

    Add the duckduckgo-mcp-server server to Claude Code. Run this command:
    
    claude mcp add duckduckgo -- uvx --with "duckduckgo-mcp-server[browser]" duckduckgo-mcp-server
    
    Then check that it loaded and tell me if I need to sign in or restart.
  2. 2

    Paste it into Claude Code. It shows the change and asks before running it.

The README installs the [browser] extra with uv pip install "duckduckgo-mcp-server[browser]", which lets search retry with a Chrome-like connection when DuckDuckGo blocks plain requests. The uvx --with command and the client configs here are our adaptation of that, not a form the README shows.

Built from the package data we hold. Not yet tested by us.

Tools

  • Searches the web with DuckDuckGo

    Searches DuckDuckGo and returns 1 to 20 results with titles, links and snippets. You can set a region such as us-en or de-de. The tool text warns that results are untrusted web text.

    Try: “Search for the latest Python 3.14 release notes and list the top 5 links.”

    Network · search

  • Reads a web page as clean text

    Downloads a page and returns its readable text, 8,000 characters at a time, with options to keep only the main article or to return markdown. It refuses addresses on your own network by default and caches pages for 5 minutes.

    Try: “Open the second result and summarise the article.”

    Network · fetch_content

  • Turns a short ref:// token back into a URL

    Search shortens very long result links into ref:// tokens to save space. This tool looks one up and returns the real link so the assistant can show or cite it. Tokens are forgotten when the server restarts.

    Try: “Give me the full link for the first result.”

    Read · expand_link

Read from the source code

Permissions

low risk · 4 things to watch

Low risk

It only reads: it sends your search words to DuckDuckGo and downloads pages the assistant asks for. Page text is untrusted, so treat instructions inside fetched pages with care.

What it can do

  • Read your data
  • Create and change things
  • Delete things
  • Read-only mode

Watch out for

  • Web pages can try to steer the assistant

    Fetched pages and search snippets are untrusted text and can contain instructions aimed at the assistant. The tool text tells the model not to follow them, but you should still check what it does next. github.com

  • Your search words go to DuckDuckGo

    Each query is sent to DuckDuckGo from your computer. Avoid asking the assistant to search for private details. github.com

  • Private-network fetching can be switched on

    By default fetch_content refuses loopback, private and cloud-metadata addresses. Do not set DDG_ALLOW_PRIVATE_URLS or --allow-private-urls unless you trust everything the assistant reads. github.com

  • HTTP mode binds to localhost only unless you change it

    With sse or streamable-http the default address is 127.0.0.1:8000. The README shows --host 0.0.0.0 for proxies and Docker, which opens the port to your network with no sign-in. github.com

Security advisories

No published security advisories as of Nov 1, 2026.

Technical details
Talks tohtml.duckduckgo.com (your search queries). Any public web page the assistant asks fetch_content to open
Sign-in and keysNo credentials are used.
Scopes
  • None. No account or API key.

Questions

Is the DuckDuckGo MCP server official?

No. Nick Clyde, an independent developer, made it. DuckDuckGo is not involved. This page covers the nickclyde/duckduckgo-mcp-server repo; other DuckDuckGo servers exist.

Do I need an API key?

No. It scrapes DuckDuckGo's search page, so there is no account or key. That also means DuckDuckGo can rate-limit or block it.

Why does search return no results?

DuckDuckGo may block the default web client and answer with an empty page. Install with the extra browser option, which the README recommends, so the server can retry with a Chrome-like connection.

Is it free?

Yes. The server is MIT licensed and there is no paid plan or key.

Can I turn on SafeSearch or pick a region?

Yes. Set DDG_SAFE_SEARCH to STRICT, MODERATE or OFF, and DDG_REGION to a code such as us-en. The README says SafeSearch is set at startup and the assistant cannot change it. The assistant can change the region per search.

Can it read pages on my own network?

Not by default. fetch_content refuses private, loopback and cloud-metadata addresses. You can allow them with an option, but only do that if you trust the pages it reads.

Does it run locally?

Yes. It runs on your computer, usually over stdio, and makes the web requests from your connection.

Information

updated Nov 2, 2026

Publisher
Community
Package
duckduckgo-mcp-server
Registry
PyPI
Transport
stdio, SSE, Streamable HTTP
Auth
None
License
MIT
Last commit
Sep 4, 2026
Open issues
3
Listed in
Docker MCP Catalog

GitHubDockerDocker MCP CatalogChangelogIssues

Sources

Docs, issue trackers and discussions this page is built from. Issues, quotes and findings above link to their own source.

Show all 3
  1. README.md · github.com
  2. server.py · github.com
  3. pyproject.toml · github.com

Facts from the official MCP registry, GitHub, npm, PyPI and the Docker catalog. Updated Nov 2, 2026.