A Model Context Protocol (MCP) server that provides web search capabilities through DuckDuckGo, with additional features for content fetching and parsing.
A Model Context Protocol (MCP) server that provides web search capabilities through DuckDuckGo, with additional features for content fetching and parsing.
To install DuckDuckGo Search Server for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install @nickclyde/duckduckgo-mcp-server --client claude
uv
Install directly from PyPI using uv
:
uv pip install duckduckgo-mcp-server
~/Library/Application Support/Claude/claude_desktop_config.json
%APPDATA%\Claude\claude_desktop_config.json
Add the following configuration:
{
"mcpServers": {
"ddg-search": {
"command": "uvx",
"args": ["duckduckgo-mcp-server"]
}
}
}
For local development, you can use the MCP CLI:
# Run with the MCP Inspector
mcp dev server.py
# Install locally for testing with Claude Desktop
mcp install server.py
async def search(query: str, max_results: int = 10) -> str
Performs a web search on DuckDuckGo and returns formatted results.
Parameters:
query
: Search query stringmax_results
: Maximum number of results to return (default: 10)Returns: Formatted string containing search results with titles, URLs, and snippets.
async def fetch_content(url: str) -> str
Fetches and parses content from a webpage.
Parameters:
url
: The webpage URL to fetch content fromReturns: Cleaned and formatted text content from the webpage.
Issues and pull requests are welcome! Some areas for potential improvement:
This project is licensed under the MIT License.