DuckDuckGo Search MCP Server
Web search via DuckDuckGo and page reading for the agent with no API keys, with built-in rate limiting
- 1,554 ★ on the repository
- Last commit
- MIT
Extended access
Why this level
- Accesses the network and loads arbitrary pages
- Page content may carry prompt injection
Install
- Works in
In your terminal, with SkillFoxx CLI
npx skillfoxx add mcp/duckduckgo-search-mcp-serverDetects the agents on your machine, shows the access level and pins the version.
Other ways to install
Access and checks
How we reviewExtended accessThe tool runs code or makes network calls and only reads external data.
- Accesses the network and loads arbitrary pages
- Page content may carry prompt injection
This is third-party code. Review the repository files before installing.
What it does
The server gives the agent DuckDuckGo search with region and SafeSearch settings. A separate tool loads result pages, strips markup and returns plain text, the main block or Markdown in chunks. Long result URLs are swapped for short tokens to save context. Requests are rate limited, fetched pages are cached in memory, and requests to internal addresses are blocked by default.
Who it is for. For anyone who wants simple web search in an agent without signing up for paid search APIs.
Good fit when
- The agent needs fresh web search and you have no search API key
- You need to read docs or an article by URL
- You want local search for Claude Desktop or Claude Code
Not a fit when
- You need high query volumes or stable results for production
- You need Russian web search on par with Yandex
Example request
Search the web for what changed in the latest Django release and read the release notesMCP
- Transport
- stdio, sse, http
- Authentication
- not required
Environment variables
DDG_SAFE_SEARCH- STRICT, MODERATE or OFF.
DDG_REGION- Default region, for example us-en or wt-wt.
DDG_SEARCH_BACKEND- auto, httpx or curl.
Limitations
The server parses DuckDuckGo's HTML results rather than an official API, so it can break when the search engine changes. DuckDuckGo blocks plain HTTP clients, so reliable search needs the [browser] extra that mimics Chrome's TLS handshake. Defaults are 30 searches and 20 fetches per minute. DuckDuckGo availability from Russia is not guaranteed.
How to disable. Run claude mcp remove ddg-search or delete the ddg-search block from the MCP config.
FAQ
Do I need an API key?
No, the server works without keys or sign-up.
Why does search return nothing?
DuckDuckGo rejects the plain HTTP client. Install the [browser] extra so the server can fall back to the alternative client.
Discussion
No questions or reviews yet.
Related
MCP serversA metasearch MCP server: the agent searches text, images, news, videos and books across many engines and extracts page content
A unified search MCP server: one interface to Tavily, Brave, Kagi, Exa, Linkup, Firecrawl and GitHub search
A web search MCP server that gives the agent full page text at once: Stack Overflow answers, GitHub threads, arXiv papers
DDGS multi-category search MCP server
multisearch-mcp
A DDGS-based MCP server with five search tools: text, images, news, video, books
MCP server for real-time web search: general and vertical search, batch queries and page content extraction
An MCP server for private web search through your SearXNG instance: search with pagination and filters, page and PDF reading
README in short
The README shows running via uvx, a Claude Desktop config and a Claude Code command. It describes three tools, search, fetch_content and expand_link, plus variables for region, SafeSearch, limits, cache and page parsing mode. The server runs over stdio, SSE and Streamable HTTP, with settings for reverse proxies and corporate CA bundles. HTTP backends and SSRF protection are explained separately. MIT licensed.