DuckDuckGo MCP Server

1

Add it to Claude Code

Run this in a terminal.

Run in terminal
claude mcp add duckduckgo-mcp -- npx -y duckduckgo-mcp
README.md

A fast, free, and unlimited web search MCP server using DuckDuckGo.

DuckDuckGo MCP Server 🦆

A fast, free, and unlimited web search MCP server using DuckDuckGo. No API keys required!

Why This MCP?

  • 100% Free - No API keys, no subscriptions, no rate limits
  • Works Everywhere - DuckDuckGo HTML endpoint bypasses CAPTCHA
  • 3 Powerful Tools - Search, crawl, and research with AI ranking
  • Parallel Crawling - Fetch multiple pages simultaneously
  • Smart Ranking - Research tool ranks results by relevance to your question

Installation

For Claude Desktop / 100xprompt / Cursor / Windsurf

Add to your MCP config:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "duckduckgo": {
      "command": "npx",
      "args": ["-y", "duckduckgo-mcp"]
    }
  }
}

From Source

git clone https://github.com/yourusername/duckduckgo-mcp.git
cd duckduckgo-mcp
npm install
npm run build

Then add to config:

{
  "mcpServers": {
    "duckduckgo": {
      "command": "node",
      "args": ["/path/to/duckduckgo-mcp/build/index.js"]
    }
  }
}

Tools

1. `search`

Quick web search. Returns titles, URLs, and descriptions.

{
  "name": "search",
  "arguments": {
    "query": "latest AI news 2026",
    "count": 10
  }
}

Parameters:

Parameter Type Default Max Description
query string required - Search query
count number 10 20 Number of results

2. `search_and_crawl`

Search + crawl all result pages in parallel. Get full content from each source.

{
  "name": "search_and_crawl",
  "arguments": {
    "query": "best JavaScript frameworks 2026",
    "count": 5,
    "maxContentLength": 3000
  }
}

Parameters:

Parameter Type Default Max Description
query string required - Search query
count number 5 10 Number of results to crawl
maxContentLength number 3000 10000 Max characters per page

3. `research` ⭐

Best for answering questions. Searches, crawls in parallel, then ranks results by relevance to your question using:

Scoring Factor Weight Description
Keywords 30% How many question keywords appear in content
Content Quality 25% Length, structure, no paywalls
Source Authority 20% Domain reputation (Wikipedia=10, Reuters=9, etc.)
Relevance 25% Question type matching (how-to, what, why, etc.)
{
  "name": "research",
  "arguments": {
    "question": "How does Starlink help Ukraine in the war?",
    "count": 5,
    "maxContentLength": 3000
  }
}

Example Output:

[1] Wikipedia - Score: 6.4/10
    Keywords: 10 | Quality: 5 | Authority: 10 | Relevance: 0.6

[2] Defense Magazine - Score: 5.8/10
    Keywords: 10 | Quality: 7.5 | Authority: 3 | Relevance: 1.2

Usage Examples

With Claude / 100xprompt

Just ask naturally:

  • "Search for the latest news about Tesla"
  • "Research how quantum computing works"
  • "Find and compare React vs Vue performance"

Programmatic

// Search
const results = await mcp.callTool("search", {
  query: "TypeScript best practices",
  count: 10,
});

// Research with ranking
const research = await mcp.callTool("research", {
  question: "What are the best practices for securing REST APIs?",
  count: 5,
});

How It Works

  1. DuckDuckGo HTML Endpoint - Uses html.duckduckgo.com which returns static HTML
  2. No CAPTCHA - Unlike Google, DuckDuckGo doesn't block automated requests
  3. Parallel Crawling - All URLs fetched simultaneously for speed
  4. Smart Extraction - Removes nav, ads, sidebars; extracts main content

Source Authority Scores

High-authority domains get better rankings:

Domain Score
Wikipedia 10
Reuters, AP News, BBC 9
NYT, WSJ, Bloomberg 8
.gov sites 8
.edu sites 7
TechCrunch, Wired, Ars 6
Medium, Reddit 3-4

Comparison

Feature DuckDuckGo MCP Tavily Google Search API
Free ✅ Yes ❌ No ❌ No

Tools (3)

searchPerforms a quick web search and returns titles, URLs, and descriptions.
search_and_crawlSearches the web and crawls result pages in parallel to extract full content.
researchAnswers questions by searching, crawling, and ranking results by relevance.

Configuration

claude_desktop_config.json
{"mcpServers": {"duckduckgo": {"command": "npx", "args": ["-y", "duckduckgo-mcp"]}}}

Try it

Search for the latest news about Tesla
Research how quantum computing works
Find and compare React vs Vue performance
What are the best practices for securing REST APIs?

Frequently Asked Questions

What are the key features of DuckDuckGo MCP Server?

100% free with no API keys or subscriptions required. Bypasses CAPTCHA using the DuckDuckGo HTML endpoint. Parallel crawling for fast content retrieval. Smart ranking system to prioritize relevant information. Automatic content extraction that removes ads and navigation.

What can I use DuckDuckGo MCP Server for?

Gathering up-to-date information for AI-assisted research projects. Comparing technical documentation or performance benchmarks across multiple sources. Summarizing complex topics by aggregating and ranking high-authority web content. Automating web data collection without hitting rate limits or paywalls.

How do I install DuckDuckGo MCP Server?

Install DuckDuckGo MCP Server by running: npx -y duckduckgo-mcp

What MCP clients work with DuckDuckGo MCP Server?

DuckDuckGo MCP Server works with any MCP-compatible client including Claude Desktop, Claude Code, Cursor, and other editors with MCP support.

Turn this server into reusable context

Keep DuckDuckGo MCP Server docs, env vars, and workflow notes in Conare so your agent carries them across sessions.

Need the old visual installer? Open Conare IDE.
Open Conare