Skip to content

Repository files navigation

npm version License: Apache 2.0 YouTube Channel

DDG Search

Web search and AI-powered answers from the command line or MCP.
DuckDuckGo, IAsk AI, and Monica AI. No API keys required.


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


Made by @OEvortex

About

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

Resources

Stars

42 stars

Watchers

4 watching

Forks

Releases

Packages

Used by

Contributors

Languages