home / mcp / dreamhack mcp server

Dreamhack MCP Server

Exposes MCP endpoints to fetch Dreamhack problems, download challenges, and deploy them locally via Docker or Python.

Installation
Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "atimevil-dreamhack_mcp": {
      "url": "http://127.0.0.1:8000/mcp",
      "headers": {
        "HOST": "127.0.0.1",
        "PORT": "8000",
        "MCP_PATH": "/mcp"
      }
    }
  }
}

You can run a Dreamhack MCP server that automates tasks like logging in, listing problems, downloading challenges, and deploying them locally. This server exposes MCP endpoints you can connect to with any MCP-compatible client to fetch resources and manage deployments.

How to use

Connect your MCP client to the server at the default HTTP endpoint http://127.0.0.1:8000/mcp. You can override the host, port, and path by setting HOST, PORT, and MCP_PATH before starting the server. Once connected, you can access tools to login to Dreamhack, fetch all web problems or filter by difficulty, download challenge files (with automatic ZIP extraction), and deploy those challenges locally using Docker or by running the Python server directly.

How to install

Prerequisites you need before installation are Python 3.10 or higher, pip, git, and optionally Docker for deploying challenges with containers.

1. Clone the repository.

git clone <repository_url> # Replace with your repository URL
cd <repository_directory> # Replace with your repository directory

2. Install dependencies.

pip install -r requirements.txt

3. Run the server locally.

python server.py

4. (Optional) Configure runtime options with environment variables to customize where the server listens.

HOST=0.0.0.0 PORT=8080 python server.py

Deployment and notes

The server can be deployed in Docker or run directly with Python. You can deploy with Docker or run the app via app.py for deployment workflows that suit your environment.

Other deployment options and environment

If you want to test the server with the MCP Inspector, you can connect the inspector tool to the server using the server URL configured above to visually inspect available tools and resources.

Available tools

login

Authenticate with Dreamhack to access protected resources and problem lists.

list_problems

Fetch all available web problems on Dreamhack, with optional filters for difficulty.

download_challenges

Download challenge files for a specific problem and automatically extract ZIP archives.

deploy_docker

Deploy downloaded challenges using Docker for isolated environments.

deploy_python

Deploy downloaded challenges by running the Python server/application directly.

stop_deployments

Stop running deployed challenges and clean up resources.