✨ From vibe coding to vibe deployment. UBOS MCP turns ideas into infra with one message.

Learn more
npm version License: Apache 2.0 YouTube Channel

DuckDuckGo Search MCP 🔍

A blazing-fast, privacy-friendly Model Context Protocol (MCP) server for web search and URL content extraction using DuckDuckGo.

Subscribe for updates & tutorials

[!IMPORTANT] DuckDuckGo Search MCP supports the Model Context Protocol (MCP) standard, making it compatible with various AI assistants and tools.


✨ Features

🌐 Web search using DuckDuckGo HTML
📄 URL content extraction with smart filtering
📊 URL metadata extraction (title, description, images)
⚡ Performance optimized with caching
🛡️ Security features including rate limiting and rotating user agents
🔌 MCP-compliant server implementation
🆓 No API keys required - works out of the box

[!IMPORTANT] Unlike many search tools, this package performs actual web scraping rather than using limited APIs, giving you more comprehensive results.


🚀 Quick Start

Run instantly with npx:
npx -y @oevortex/ddg_search

[!TIP] This will download and run the MCP server directly without installation – perfect for quick use with AI assistants.


🛠️ Installation Options

Global Installation
npm install -g @oevortex/ddg_search

Run globally:

ddg-search-mcp
Local Installation (Development)
git clone https://github.com/OEvortex/ddg_search.git
cd ddg_search
npm install
npm start

🧑‍💻 Command Line Options

npx -y @oevortex/ddg_search --help

[!TIP] Use the –version flag to check which version you’re running.


🤖 Using with MCP Clients

[!IMPORTANT] The most common way to use this tool is by integrating it with MCP-compatible AI assistants.

Add the server to your MCP client configuration:

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

Or if installed globally:

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

[!TIP] After configuring, restart your MCP client to apply the changes.


🧰 Tools Overview

🔍 Web Search Tool
web-search
  • query (string, required): The search query
  • page (integer, optional, default: 1): Page number
  • numResults (integer, optional, default: 10): Number of results (1-20)
Example: Search the web for "climate change solutions"
📄 Fetch URL Tool
fetch-url
  • url (string, required): The URL to fetch
  • maxLength (integer, optional, default: 10000): Max content length
  • extractMainContent (boolean, optional, default: true): Extract main content
  • includeLinks (boolean, optional, default: true): Include link text
  • includeImages (boolean, optional, default: true): Include image alt text
  • excludeTags (array, optional): Tags to exclude
Example: Fetch the content from "https://example.com"
📊 URL Metadata Tool
url-metadata
  • url (string, required): The URL to extract metadata from
Example: Get metadata for "https://example.com"

📁 Project Structure

bin/              # Command-line interface
src/
  index.js        # Main entry point
  tools/          # Tool definitions and handlers
    searchTool.js
    fetchUrlTool.js
    metadataTool.js
  utils/
    search.js     # Search and URL utilities
package.json
README.md

🤝 Contributing

Contributions are welcome! Please open issues or submit pull requests.

[!NOTE] Please follow the existing code style and add tests for new features.


📺 YouTube Channel

YouTube Channel
youtube.com/@OEvortex

📄 License

Apache License 2.0

[!NOTE] This project is licensed under the Apache License 2.0 – see the LICENSE file for details.


Made with ❤️ by @OEvortex

Featured Templates

View More
AI Assistants
Image to text with Claude 3
150 1122
AI Characters
Your Speaking Avatar
168 685
Verified Icon
AI Assistants
Speech to Text
134 1510
AI Characters
Sarcastic AI Chat Bot
128 1440

Start your free trial

Build your solution today. No credit card required.

Sign In

Register

Reset Password

Please enter your username or email address, you will receive a link to create a new password via email.