DuckDuckGo Search MCP 🔍

by OEvortex

39 stars
590 downloads
Not rated
GitHub Website

About

A powerful Model Context Protocol (MCP) server for web search and URL content extraction using DuckDuckGo.

Details

Author
OEvortex
GitHub stars
39
Downloads
590
Categories
Search

- No API keys or registration required
- Three backends: DuckDuckGo, IAsk AI, Monica AI
- Single unified MCP tool web-search with configurable parameters
- Supports both web results and AI‑generated answers
- Proxy support via HTTP_PROXY / HTTPS_PROXY environment variables
- User‑agent rotation for reliable scraping

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 MCP 🔍
    Command (node, npx, python, etc.)

    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

Run searches from the command line using npx -y @oevortex/ddg_search@latest "query" or the globally installed ddg command. For MCP integration, start the server with ddg --server and configure it in your MCP client using the provided JSON config (command npx -y @oevortex/ddg_search@latest). Use flags like -m ai for AI answers and -b monica to switch AI backends.

Claude Desktop / Cursor

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

{
    "mcpServers": {
        "duckduckgo search mcp \ud83d\udd0d": {
            "ddg_search": {
                "command": "npx",
                "args": [
                    "-y",
                    "@oevortex/ddg_search@latest",
                    "your search query"
                ]
            }
        }
    }
}

McpServers

{
    "ddg_search": {
        "command": "npx",
        "args": [
            "-y",
            "@oevortex/ddg_search@latest",
            "your search query"
        ]
    }
}

<div align="center">
<a href="https://www.npmjs.com/package/@oevortex/ddg_search">
npm version
</a>
<a href="https://github.com/OEvortex/ddg_search/blob/main/LICENSE">
License: Apache 2.0
</a>
<a href="https://youtube.com/@OEvortex">
YouTube Channel
</a>
<h1>DDG Search</h1>
<p>
<strong>Web search and AI-powered answers from the command line or MCP.</strong><br>
DuckDuckGo, IAsk AI, and Monica AI. No API keys required.
</p>
</div>

---

Quick Start

# Search from the command line
npx -y @oevortex/ddg_search@latest "your search query"

Or install globally

npm install -g @oevortex/ddg_search ddg "your search query"

Usage

CLI

# Basic web search (DuckDuckGo)
ddg "quantum computing"

Get more results

ddg "latest news" -n 10

AI-generated answer (IAsk)

ddg "explain recursion" -m ai

AI-generated answer (Monica)

ddg "hello world" -m ai -b monica

IAsk with options

ddg "gravity" -m ai --iask-mode academic --detail-level comprehensive

Flags

| Flag | Description | Default |
|------|-------------|---------|
| -m, --mode | web or ai | web |
| -b, --backend | iask or monica (AI mode only) | iask |
| -n, --num-results | Number of results (1-20, web mode) | 3 |
| --iask-mode | question, academic, forums, wiki, thinking | thinking |
| --detail-level | concise, detailed, comprehensive | — |
| -h, --help | Show help | |
| -v, --version | Show version | |

MCP Server

Start the MCP server for use with Claude Desktop, OpenCode, or other MCP clients:

ddg --server

Claude Desktop config:

{
  "mcpServers": {
    "ddg-search": {
      "command": "npx",
      "args": ["-y", "@oevortex/ddg_search@latest"]
    }
  }
}

Global install config:

{
  "mcpServers": {
    "ddg-search": {
      "command": "ddg"
    }
  }
}

Programmatic API

import { searchDuckDuckGo } from '@oevortex/ddg_search/src/utils/search.js';
import { searchIAsk } from '@oevortex/ddg_search/src/utils/search_iask.js';
import { searchMonica } from '@oevortex/ddg_search/src/utils/search_monica.js';

// DuckDuckGo
const results = await searchDuckDuckGo("query", 5);

// IAsk AI
const answer = await searchIAsk("query", "thinking", null);

// Monica AI
const answer = await searchMonica("query");

MCP Tool Schema

Single unified tool web-search:

| Parameter | Type | Default | Description |
|-----------|------|---------|-------------|
| query | string | required | Search query |
| mode | "web" \| "ai" | "web" | DuckDuckGo results or AI answer |
| backend | "iask" \| "monica" | "iask" | AI backend (mode=ai only) |
| numResults | integer | 3 | Results count (web mode, 1-20) |
| iaskMode | string | "thinking" | IAsk mode (backend=iask only) |
| detailLevel | string | — | IAsk detail level (backend=iask only) |

Agent Prompt

Add this to your agent's system prompt to enable web search:

When you need to search the web or find current information, use the DDG Search CLI:

npx -y @oevortex/ddg_search@latest "<query>" -m ai

This runs an AI-powered web search via IAsk. For standard DuckDuckGo results (titles + URLs + snippets), use mode "web" instead:

npx -y @oevortex/ddg_search@latest "<query>" -m web -n 5

For a different AI backend (Monica), add -b monica. Use this for any research, fact-checking, or current events task.

Proxy Support

Respects HTTP_PROXY, HTTPS_PROXY, and NO_PROXY environment variables automatically.

HTTPS_PROXY=http://proxy:8080 ddg "search query"

Install

npm install -g @oevortex/ddg_search

Or use npx without installing.

Project Structure

bin/cli.js              CLI entry point
src/
  index.ts              MCP server
  tools/
    searchTool.js       Unified search tool
  utils/
    search.js           DuckDuckGo scraper
    search_iask.js      IAsk AI client
    search_monica.js    Monica AI client
    user_agents.js      User agent rotation
skills/
  ddg-search/           Agent skill for marketplace

Contributing

Pull requests welcome. Open an issue for bugs or feature requests.

License

Apache 2.0

---

<div align="center">
<sub>Made by <a href="https://youtube.com/@OEvortex">@OEvortex</a></sub>
</div>

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.