DuckDuckGo Search

by gianlucamazza

2 stars
Not rated
GitHub

About

Integrates with DuckDuckGo's public interface to provide web search functionality, offering advanced features like detailed result exploration, related searches, pagination, and content extraction for research and information gathering tasks.

Details

Author
gianlucamazza
Repository
gianlucamazza/mcp-duckduckgo
GitHub stars
2
License
MIT License
Categories
Productivity, Developer Tools, Design, AI, Search, Project Management, Knowledge Base
Tags
#integration

- Fast and reliable. Uses DuckDuckGo's web interface with robust HTML parsing
- LLM-friendly. Returns structured data optimized for AI consumption
- Content extraction. Intelligently extracts and summarizes webpage content
- Related searches. Generates contextual search suggestions

Setting up with Highlight

This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name DuckDuckGo Search
    Command (node, npx, python, etc.) mcp-duckduckgo

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

DuckDuckGo MCP server supports following arguments:

mcp-duckduckgo --help

Available options:

--port PORT        Port number for the MCP server (default: 3000)
--version Show program's version number and exit
--help Show help message and exit

Add MCP Server duckduckgo to LM Studio

Go to Program in the right sidebar -> Install -> Edit mcp.json. Use the standard config above.

- MCP_PORT: Set the port number for the server (default: 3000)

Example usage:


export MCP_PORT=8080
mcp-duckduckgo

If you need to install from source or development:

curl -LsSf https://astral.sh/uv/install.sh | sh

uv tool install git+https://github.com/gianlucamazza/mcp-duckduckgo.git

git clone https://github.com/gianlucamazza/mcp-duckduckgo.git
cd mcp-duckduckgo
pip install -e .


bash
git clone https://github.com/gianlucamazza/mcp-duckduckgo.git
cd mcp-duckduckgo

pip install -e .

web_search

Search the web using DuckDuckGo. Parameters: query (string): Search query (max 400 characters), max_results (number, optional): Maximum number of results to return (1-20, default 10)

get_page_content

Retrieve and extract content from a web page. Parameters: url (string): URL to fetch content from

suggest_related_searches

Generate contextual search suggestions based on a query. Parameters: query (string): Original search query, max_suggestions (number, optional): Maximum suggestions to return (1-10, default 5)

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

{
    "mcpServers": {
        "duckduckgo search": {
            "env": {},
            "args": [],
            "command": "mcp-duckduckgo"
        }
    }
}

Linux

{
    "env": [],
    "args": [],
    "command": "mcp-duckduckgo"
}

Macos

{
    "env": [],
    "args": [],
    "command": "mcp-duckduckgo"
}

Windows

{
    "env": [],
    "args": [
        "/c",
        "mcp-duckduckgo"
    ],
    "command": "cmd"
}

MCP DuckDuckGo

A Model Context Protocol (MCP) server that provides web search capabilities using DuckDuckGo. This server enables LLMs to search the web and retrieve detailed content from websites through structured data extraction.

Key Features

- Fast and reliable. Uses DuckDuckGo's web interface with robust HTML parsing - LLM-friendly. Returns structured data optimized for AI consumption - Content extraction. Intelligently extracts and summarizes webpage content - Related searches. Generates contextual search suggestions

Requirements

- Python 3.10 or newer - VS Code, Cursor, Windsurf, Claude Desktop, Goose or any other MCP client

Getting started

First, install the DuckDuckGo MCP server with your client.

Standard config works in most of the tools:

{
  "mcpServers": {
    "duckduckgo-search": {
      "command": "mcp-duckduckgo"
    }
  }
}

Claude Code

Use the Claude Code CLI to add the DuckDuckGo MCP server:

claude mcp add duckduckgo-search mcp-duckduckgo

For global configuration (available in all projects):

claude mcp add duckduckgo-search --scope user mcp-duckduckgo

Claude Desktop

Follow the MCP install guide, use the standard config above.

Cursor

Go to Cursor Settings -> MCP .

Click the button to install:

Install in Cursor

Or install manually:

Go to Cursor Settings -> MCP -> Add new MCP Server. Name to your liking, use command type with the command mcp-duckduckgo.

VS Code

Click the button to install:

Install in VS Code

Or install manually:

Follow the MCP install guide, use the standard config above.

You can also install the DuckDuckGo MCP server using the VS Code CLI:

code --add-mcp '{"name":"duckduckgo-search","command":"mcp-duckduckgo"}'

After installation, the DuckDuckGo MCP server will be available for use with your GitHub Copilot agent in VS Code.

Windsurf

Follow Windsurf MCP documentation. Use the standard config above.

Goose

Click the button to install:

Install in Goose

Or install manually:

Go to Advanced settings -> Extensions -> Add custom extension. Name to your liking, use type STDIO, and set the command to mcp-duckduckgo. Click "Add Extension".

LM Studio

Click the button to install:

Add MCP Server duckduckgo to LM Studio

Or install manually:

Go to Program in the right sidebar -> Install -> Edit mcp.json. Use the standard config above.

Configuration

DuckDuckGo MCP server supports following arguments:

mcp-duckduckgo --help

Available options:

--port PORT        Port number for the MCP server (default: 3000)
--version Show program's version number and exit
--help Show help message and exit

Environment Variables

- MCP_PORT: Set the port number for the server (default: 3000)

Example usage:

# Set port via environment variable
export MCP_PORT=8080
mcp-duckduckgo

Or set it inline

MCP_PORT=8080 mcp-duckduckgo

Available Tools

web_search

- Title: Web Search - Description: Search the web using DuckDuckGo - Parameters: - query (string): Search query (max 400 characters) - max_results (number, optional): Maximum number of results to return (1-20, default 10) - Read-only: false

get_page_content

- Title: Get Page Content - Description: Retrieve and extract content from a web page - Parameters: - url (string): URL to fetch content from - Read-only: false

suggest_related_searches

- Title: Suggest Related Searches - Description: Generate contextual search suggestions based on a query - Parameters: - query (string): Original search query - max_suggestions (number, optional): Maximum suggestions to return (1-10, default 5) - Read-only: true

Installation from Source

If you need to install from source or development:

Using uv (Recommended)

uv is a fast Python package manager:

# Install uv if you haven't already
curl -LsSf https://astral.sh/uv/install.sh | sh

Install from GitHub

uv tool install git+https://github.com/gianlucamazza/mcp-duckduckgo.git

Using pip

# Clone and install
git clone https://github.com/gianlucamazza/mcp-duckduckgo.git
cd mcp-duckduckgo
pip install -e .

Development Installation

git clone https://github.com/gianlucamazza/mcp-duckduckgo.git
cd mcp-duckduckgo

Install in development mode

pip install -e .

Run tests

pip install -e ".[test]" pytest

License

MIT

Repository

GitHub Repository

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.