Skip to main content
Glama
trustgraph-ai

DuckDuckGo MCP Server

README.md
# DuckDuckGo MCP Server

A Model Context Protocol (MCP) server that provides DuckDuckGo search capabilities and web content fetching.

## Origin

This server was copied from [nickclyde/duckduckgo-mcp-server](https://github.com/nickclyde/duckduckgo-mcp-server) on GitHub.

Copyright (c) 2025 Nick Clyde
Released under the MIT License

## Features

- **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

## Building

Build the container using the Makefile:

```bash
make
```

Or directly with Docker/Podman:

```bash
docker build -t ddg-mcp-server:0.1.0 .
```

## Running

Run the container exposing port 9870:

```bash
docker run -p 9870:9870 ddg-mcp-server:0.1.0
```

## MCP Tools

The server provides two MCP tools:

1. **search**: Search DuckDuckGo and return formatted results
   - `query`: The search query string
   - `max_results`: Maximum number of results to return (default: 10)

2. **fetch_content**: Fetch and parse content from a webpage URL
   - `url`: The webpage URL to fetch content from

## Dependencies

- Python 3.12
- mcp (Model Context Protocol)
- httpx (async HTTP client)
- beautifulsoup4 (HTML parsing)

## CI/CD

The repository includes GitHub Actions workflows for:
- Pull request testing (builds the container)
- Release deployment (builds and pushes to Docker Hub)