DuckDuckGo

DuckDuckGo

zhsama

Provides web search capabilities through DuckDuckGo's search engine. Returns formatted search results for any query without requiring API keys or authentication.

Experience fast and reliable DuckDuckGo web search with this TypeScript MCP server. It offers a simple search interface supporting customizable queries, result counts, and safe search levels. Built-in rate limiting ensures fair usage with up to 1 request per second and 15,000 per month. The server returns well-formatted Markdown results, making it easy to integrate and display search data. Designed to demonstrate core Model Context Protocol concepts, it also includes helpful debugging tools to inspect communication. Perfect for developers wanting seamless DuckDuckGo integration via MCP with efficient error handling and robust controls.

703,893 views10RemoteLocal (stdio)

What it does

  • Search the web using DuckDuckGo
  • Retrieve real-time information from the internet
  • Format search results for easy consumption
  • Control number of results returned

Best for

Research and fact-checking tasksGetting current events and news updatesGeneral web information retrievalPrivacy-focused web searches
No API key requiredPrivacy-focused search engineMultiple deployment options (UVX, Docker)

About DuckDuckGo

DuckDuckGo is a community-built MCP server published by zhsama that provides AI assistants with tools and capabilities via the Model Context Protocol. Integrate DuckDuckGo web search into your site with our MCP server, supporting features like Google custom search and ro It is categorized under search web. This server exposes 1 tool that AI clients can invoke during conversations and coding sessions.

How to install

You can install DuckDuckGo in your AI client of choice. Use the install panel on this page to get one-click setup for Cursor, Claude Desktop, VS Code, and other MCP-compatible clients. This server runs locally on your machine via the stdio transport. This server supports remote connections over HTTP, so no local installation is required.

License

DuckDuckGo is released under the MIT license. This is a permissive open-source license, meaning you can freely use, modify, and distribute the software.

Tools (1)

duckduckgo_web_search

Performs a web search using the DuckDuckGo, ideal for general queries, news, articles, and online content. Use this for broad information gathering, recent events, or when you need diverse web sources. Supports content filtering and region-specific searches. Maximum 20 results per request.

duckduckgo-search MCP Server

English | 中文

A Model Context Protocol server for DuckDuckGo Search

This is a TypeScript-based MCP server that provides DuckDuckGo search functionality. It demonstrates core MCP concepts through:

  • Integration with DuckDuckGo Search
  • Easy-to-use search tool interface
  • Rate limiting and error handling support
DuckDuckGo Server MCP server

Features

Search Tool

  • duckduckgo_search - Perform web searches using DuckDuckGo API
    • Required parameter: query (search query, max 400 characters)
    • Optional parameter: count (number of results, 1-20, default 10)
    • Optional parameter: safeSearch (safety level: strict/moderate/off, default moderate)
    • Returns formatted Markdown search results

Rate Limits

  • Maximum 1 request per second
  • Maximum 15000 requests per month

Development

Prerequisites

  • Node.js >= 18
  • pnpm >= 8.0.0

Installation

# Install pnpm if not already installed
npm install -g pnpm

# Install project dependencies
pnpm install

Build and Run

Build the server:

pnpm run build

For development with auto-rebuild:

pnpm run watch

Setup in Claude Desktop

To use with Claude Desktop, add the server config:

On MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json On Windows: %APPDATA%/Claude/claude_desktop_config.json

# online
{
  "mcpServers": {
    "duckduckgo-search": {
        "command": "npx",
        "args": [
          "-y",
          "duckduckgo-mcp-server"
        ]
    }
  }
}

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

image image

Debugging

Since MCP servers communicate over stdio, debugging can be challenging. We recommend using the MCP Inspector, which is available as a package script:

pnpm run inspector

The Inspector will provide a URL to access debugging tools in your browser.

Alternatives

Related Skills

Browse all skills
ddg-search

Perform web searches using DuckDuckGo. Use when web search is needed and no API key is available or Brave Search is not preferred.

4
web-search

This skill should be used when users need to search the web for information, find current content, look up news articles, search for images, or find videos. It uses DuckDuckGo's search API to return results in clean, formatted output (text, markdown, or JSON). Use for research, fact-checking, finding recent information, or gathering web resources.

1
google-official-seo-guide

Official Google SEO guide covering search optimization, best practices, Search Console, crawling, indexing, and improving website search visibility based on official Google documentation

80
ux-writing

Create user-centered, accessible interface copy (microcopy) for digital products including buttons, labels, error messages, notifications, forms, onboarding, empty states, success messages, and help text. Use when writing or editing any text that appears in apps, websites, or software interfaces, designing conversational flows, establishing voice and tone guidelines, auditing product content for consistency and usability, reviewing UI strings, or improving existing interface copy. Applies UX writing best practices based on four quality standards — purposeful, concise, conversational, and clear. Includes accessibility guidelines, research-backed benchmarks (sentence length, comprehension rates, reading levels), expanded error patterns, tone adaptation frameworks, and comprehensive reference materials.

19
browser-automation

Automate web browser interactions using natural language via CLI commands. Use when the user asks to browse websites, navigate web pages, extract data from websites, take screenshots, fill forms, click buttons, or interact with web applications. Triggers include "browse", "navigate to", "go to website", "extract data from webpage", "screenshot", "web scraping", "fill out form", "click on", "search for on the web". When taking actions be as specific as possible.

16
web-research

Use this skill for requests related to web research; it provides a structured approach to conducting comprehensive web research

14