shgsousa/ddg_mcp_server
If you are the rightful owner of ddg_mcp_server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
DuckDuckGo MCP Server is a web-based search interface utilizing DuckDuckGo's search API, built with Python and Gradio, and designed to provide real-time search results with AI-powered content summarization.
DuckDuckGo MCP Server
A web-based search interface using DuckDuckGo's search API, built with Python and Gradio.
Docker Setup
Prerequisites
- Docker installed on your system
- Git (optional, for cloning the repository)
Building the Docker Image
- Clone the repository (if you haven't already):
git clone <repository-url>
cd ddg_mcp_server
- Build the Docker image:
docker build -t ddg-mcp-server .
Running the Container
Run the container with port 7860 mapped to your host:
docker run -p 7860:7860 ddg-mcp-server
The application will be available at:
Troubleshooting
If you cannot connect to the application:
- Verify the container is running:
docker ps
- Check the container logs:
docker logs $(docker ps -q)
- Try stopping any existing containers and starting fresh:
docker stop $(docker ps -q)
docker run -p 7860:7860 ddg-mcp-server
Features
- Web-based search interface using DuckDuckGo
- Real-time search results with full content
- Markdown-formatted output
- Configurable number of results
- AI-powered content summarization (see for details)
Development
The application is built with:
- Python 3.10
- Gradio for the web interface
- DuckDuckGo Search API
- BeautifulSoup4 for web scraping
- Markdownify for content conversion
API Configuration for Summarization
This application supports content summarization using OpenAI's API or any compatible API service. To enable this feature:
- Copy the
.env.example
file to.env
:
cp .env.example .env
- Edit the
.env
file and set your API credentials:
OPENAI_API_URL=https://api.openai.com/v1
ACCESS_TOKEN=your_api_key_here
Notes:
OPENAI_API_URL
defaults to the official OpenAI API server if not specifiedACCESS_TOKEN
is required for the summarization feature to work- You can use any OpenAI-compatible API by changing the
OPENAI_API_URL
Running with Docker and API Credentials
To run the Docker container with your API credentials:
docker run -p 7860:7860 \
-e OPENAI_API_URL="https://api.openai.com/v1" \
-e ACCESS_TOKEN="your_api_key_here" \
ddg-mcp-server
Testing the API Connection
After configuring your API credentials, you can test if the connection works correctly:
python main.py --test-api
This will validate your API credentials without starting the full server.
Model Configuration
The AI model used for summarization can be configured in the config.py
file:
# Default model to use for summarization
DEFAULT_MODEL = "gpt-4.1-turbo"
For detailed instructions on model configuration, see .