mcp-duckduckgo-search
A Model Context Protocol (MCP) server for integrating DuckDuckGo search capabilities with LLMs. This server provides comprehensive web search functionality with support for various result types and filtering options.
Features
- π Comprehensive web search using DuckDuckGoβs search engine
- π Rich result types including:
- Knowledge graph information
- Organic search results
- News articles
- Video content
- Image results
- Related searches
- π Region-specific search support
- π‘οΈ Configurable safe search levels
- π Date-based filtering options
- π Pagination support
- πΎ Built-in result caching
- π Safe search options (off, moderate, strict)
Configuration
This server requires configuration through your MCP client. Here are examples for different environments:
Cline Configuration
Add this to your Cline MCP settings:
{
"mcpServers": {
"mcp-duckduckgo-search": {
"command": "npx",
"args": ["-y", "mcp-duckduckgo-search"],
"env": {
"SERPAPI_KEY": "your-serpapi-api-key"
}
}
}
}
Claude Desktop with WSL Configuration
For WSL environments, add this to your Claude Desktop configuration:
{
"mcpServers": {
"mcp-duckduckgo-search": {
"command": "wsl.exe",
"args": [
"bash",
"-c",
"source ~/.nvm/nvm.sh && SERPAPI_KEY=your-serpapi-api-key /home/username/.nvm/versions/node/v20.12.1/bin/npx mcp-duckduckgo-search"
]
}
}
}
Environment Variables
The server requires the following environment variable:
SERPAPI_KEY
: Your SerpAPI key (required)
API
The server implements a single MCP tool with configurable parameters:
ddg_search
Perform web searches using the DuckDuckGo search engine.
Parameters:
query
(string, required): Search queryregion
(string, optional): Region code (e.g., us-en, uk-en) (default: us-en)safe_search
(string, optional): Safe search level (off, moderate, strict) (default: moderate)date_filter
(string, optional): Filter results by date:- βdβ: past day
- βwβ: past week
- βmβ: past month
- βyβ: past year
- Custom range: β2023-01-01..2023-12-31β
start
(number, optional): Result offset for paginationno_cache
(boolean, optional): Bypass cache for fresh results (default: false)
Response includes:
- Knowledge graph data when available
- Organic search results
- News articles
- Video content
- Image results
- Related searches
- Search metadata
Development
Setup
- Clone the repository
- Install dependencies:
pnpm install
- Build the project:
pnpm build
- Run in development mode:
pnpm dev
Publishing
The project uses changesets for version management. To publish:
- Create a changeset:
pnpm changeset
- Version the package:
pnpm changeset version
- Publish to npm:
pnpm release
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
License
MIT License - see the LICENSE file for details.
Acknowledgments
- Built on the Model Context Protocolβ
- Powered by DuckDuckGoβ through SerpAPIβ