
How to add DuckDuckGo Search to Windsurf
Popular no-API-key MCP server for DuckDuckGo web search plus page fetching and parsing. Paste the config into ~/.codeium/windsurf/mcp_config.json and restart Windsurf.
Last updated June 15, 2026 · 1.2k★ · stdio · no auth
Windsurf config for DuckDuckGo Search
uvx duckduckgo-mcp-server{
"mcpServers": {
"duckduckgo-search": {
"command": "uvx",
"args": [
"duckduckgo-mcp-server"
]
}
}
}Requires `uv` (the Python package runner). Install it from https://docs.astral.sh/uv/ if `uvx` is not found.
Setup steps
- 1Open Windsurf → Cascade → the hammer/MCP icon → Configure (or edit ~/.codeium/windsurf/mcp_config.json).
- 2Paste the DuckDuckGo Search config below.
- 3Fill in placeholder secrets, then save.
- 4Click Refresh in the MCP panel.
- 5DuckDuckGo Search's tools become available to Cascade.
Before you start
- Python 3 and the uv package manager (provides the uvx launcher); pip install is also supported
- No API key or account required
What DuckDuckGo Search can do in Windsurf
searchSearch DuckDuckGo and return cleaned results (title, URL, snippet); params include query, max_results, and region.
fetch_contentFetch and parse a webpage into readable text with pagination via start_index/max_length and optional fetch backend.
Security
No API key is needed, but DuckDuckGo may rate-limit or block heavy automated querying, so use it at modest volume. Fetched page content is arbitrary untrusted web text and should not be treated as trusted instructions.
DuckDuckGo Search + Windsurf FAQ
Where is the Windsurf config file?
Windsurf reads MCP servers from ~/.codeium/windsurf/mcp_config.json. Paste the DuckDuckGo Search config there under the "mcpServers" key and restart the client.
Is DuckDuckGo Search safe to use with Windsurf?
No API key is needed, but DuckDuckGo may rate-limit or block heavy automated querying, so use it at modest volume. Fetched page content is arbitrary untrusted web text and should not be treated as trusted instructions.
Do I need an API key or DuckDuckGo account?
No. It works against DuckDuckGo with no credentials, which is its main appeal for free web search.
Is it rate limited?
Yes. The server self-limits to about 30 searches per minute and 20 content fetches per minute to stay within DuckDuckGo's tolerances.
How do I run it?
The common way is `uvx duckduckgo-mcp-server` over stdio. SSE and streamable-HTTP transports are available via command-line flags for other clients.