home / mcp / dreamhack mcp server
Exposes MCP endpoints to fetch Dreamhack problems, download challenges, and deploy them locally via Docker or Python.
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.
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.
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 directory2. Install dependencies.
pip install -r requirements.txt3. Run the server locally.
python server.py4. (Optional) Configure runtime options with environment variables to customize where the server listens.
HOST=0.0.0.0 PORT=8080 python server.pyThe 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.
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.
Authenticate with Dreamhack to access protected resources and problem lists.
Fetch all available web problems on Dreamhack, with optional filters for difficulty.
Download challenge files for a specific problem and automatically extract ZIP archives.
Deploy downloaded challenges using Docker for isolated environments.
Deploy downloaded challenges by running the Python server/application directly.
Stop running deployed challenges and clean up resources.