DuckDuckGo Web Search MCP Server

MCP server of web search/fetch functionality using duckduckgo and jina api. no api key required.

Local serverstdio

What is the DuckDuckGo Web Search MCP server?

MCP server of web search/fetch functionality using duckduckgo and jina api. no api key required. That is what the duckduckgo web search mcp server brings to an AI assistant: the same capability, reachable through the Model Context Protocol rather than a separate app or dashboard.

The short version

This project provides an MCP (Model Context Protocol) server that allows you to search the web using the DuckDuckGo search engine and optionally fetch and summarize the content of the found URLs.

  • Web Search: — Search the web using DuckDuckGo
  • Result Extraction: — Extracts titles, URLs, and snippets from search results
  • Content Fetching (Optional): — Fetches the content of the URLs found in the search results and converts it to markdown format using jina api
  • Parallel Fetching: — Fetches multiple URLs concurrently for faster processing
  • Error Handling: — Gracefully handles timeouts and other potential errors during search and fetching
  • Configurable: — Allows you to set the maximum number of search results to return

The tools it exposes

The server publishes 3 tools. What each one is for:

  • query — The search query string
  • limit — The maximum number of results to return (default: 3, maximum: 10)
  • url — The URL to fetch

Getting it running

Setup follows the usual MCP pattern — install or clone the server, register it in your client's configuration file, restart the client. The configuration blocks on this page cover the common clients.

How it compares

Among the search and retrieval options, the useful question is rarely "what can it do" but "what does it cost you to run" — permissions, credentials, and how much of your context its toolset consumes. DuckDuckGo Web Search's toolset — query, limit, url — is a fair guide to whether it matches your workflow. It is maintained by kouui; worth a glance at recent repository activity before you build anything load-bearing on it.

This entry was verified against DuckDuckGo Web Search's own documentation before publication; SyncDev keeps the directory reviewed rather than auto-generated.

Things to watch

  • It runs with your machine's permissions. That is convenient and also the reason to think about what you point it at before you approve a tool call.
  • Keep per-call confirmation enabled while you learn its behaviour; it is the cheapest safeguard you have.

Available tools

ToolWhat it does
queryThe search query string.
limitThe maximum number of results to return (default: 3, maximum: 10).
urlThe URL to fetch.

How to install the DuckDuckGo Web Search MCP server

{
        "mcpServers": {
            "web-search-duckduckgo": {
                "command": "uvx",
                "args": [
                    "--from",
                    "git+https://github.com/kouui/web-search-duckduckgo.git@main",
                    "main.py"
                ]
            }
        }
    }

Configuration as documented by the project. Restart the client after saving.

Example prompts to try

  • Use DuckDuckGo Web Search to query.
  • Use DuckDuckGo Web Search to limit.
  • Use DuckDuckGo Web Search to url.

Frequently asked questions

Two tools: `search_and_fetch` (searches DuckDuckGo and optionally fetches content) and `fetch` (fetches content of a given URL). The `search_and_fetch` tool accepts `query` (string) and `limit` (integer, default 3, max 10). The `fetch` tool accepts `url` (string).