ddg_search
The project is a Model Context Protocol (MCP) server designed to provide fast and privacy-friendly web and AI searches using DuckDuckGo and Felo AI. It offers features like URL content and metadata extraction, performance optimization, and security without the need for API keys.
DuckDuckGo & Felo AI Search MCP 🔍🧠
A blazing-fast, privacy-friendly Model Context Protocol (MCP) server for web search and AI-powered responses using DuckDuckGo and Felo AI.
[!IMPORTANT] DuckDuckGo Search MCP supports the Model Context Protocol (MCP) standard, making it compatible with various AI assistants and tools.
✨ Features
[!IMPORTANT] Unlike many search tools, this package performs actual web scraping rather than using limited APIs, giving you more comprehensive results.
🚀 Quick Start
npx -y @oevortex/ddg_search@latest
[!TIP] This will download and run the latest version of 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@latest --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@latest"]
}
}
}
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
- query (string, required): The search query
- page (integer, optional, default: 1): Page number
- numResults (integer, optional, default: 10): Number of results (1-20)
felo-search
- query (string, required): The search query or prompt
- stream (boolean, optional, default: false): Whether to stream the response
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
url-metadata
- url (string, required): The URL to extract metadata from
📁 Project Structure
bin/ # Command-line interface
src/
index.js # Main entry point
tools/ # Tool definitions and handlers
searchTool.js
fetchUrlTool.js
metadataTool.js
feloTool.js
utils/
search.js # Search and URL utilities
search_felo.js # Felo AI search 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
📄 License
Apache License 2.0
[!NOTE] This project is licensed under the Apache License 2.0 – see the file for details.