A Model Context Protocol (MCP) server that provides DuckDuckGo search capabilities and web content fetching.
This server was copied from nickclyde/duckduckgo-mcp-server on GitHub.
Copyright (c) 2025 Nick Clyde Released under the MIT License
- Web Search: Search DuckDuckGo and return formatted results
- Content Fetching: Fetch and parse webpage content from URLs
- Rate limiting to prevent overwhelming services
- Runs as an MCP server on port 9870
Build the container using the Makefile:
make
Or directly with Docker/Podman:
docker build -t ddg-mcp-server:0.1.0 .
Run the container exposing port 9870:
docker run -p 9870:9870 ddg-mcp-server:0.1.0
The server provides two MCP tools:
-
search: Search DuckDuckGo and return formatted results
query
: The search query stringmax_results
: Maximum number of results to return (default: 10)
-
fetch_content: Fetch and parse content from a webpage URL
url
: The webpage URL to fetch content from
- Python 3.12
- mcp (Model Context Protocol)
- httpx (async HTTP client)
- beautifulsoup4 (HTML parsing)
The repository includes GitHub Actions workflows for:
- Pull request testing (builds the container)
- Release deployment (builds and pushes to Docker Hub)