Docker builds via Windows Task Scheduler — MCP server for Cline
Project description
docker-wts-build
Docker builds via Windows Task Scheduler — an MCP server for Cline.
Problem
VS Code terminal has a ~10 minute timeout. Docker builds (especially with torch, cudnn, etc.) can take 30+ minutes. If Cline interrupts the task, the build is lost.
Solution
This MCP server schedules Docker builds as Windows Task Scheduler tasks. The build runs outside VS Code, survives interruptions, and logs progress to files for later inspection.
Installation
pip install docker-wts-build
Configuration
Set these environment variables (in cline_mcp_settings.json):
| Variable | Required | Default | Description |
|---|---|---|---|
DWTB_PROJECT_DIR |
Yes | — | Path to project with docker-compose.yml |
DWTB_COMPOSE_FILE |
No | docker-compose.yml |
Compose file name |
DWTB_CUSTOM_SERVICES |
No | — | Semicolon-separated service list |
DWTB_LOGS_DIR |
No | {project_dir}/builds/logs |
Logs directory |
DWTB_TASK_PREFIX |
No | DockerBuild |
Task name prefix |
DWTB_TASK_TIMEOUT_MS |
No | 28800000 (8h) |
Task timeout |
DWTB_MAX_TASK_AGE_DAYS |
No | 30 |
Default cleanup age |
Usage
As MCP server (for Cline)
Add to cline_mcp_settings.json:
{
"mcpServers": {
"docker-wts-build": {
"autoApprove": ["schedule_build", "check_build", "cleanup_builds"],
"disabled": false,
"timeout": 120,
"command": "python",
"args": ["-m", "docker_wts_build"],
"env": {
"DWTB_PROJECT_DIR": "C:\\path\\to\\my-project",
"DWTB_CUSTOM_SERVICES": "service-1;service-2;service-3"
},
"type": "stdio"
}
}
}
CLI mode (for testing)
# Schedule a build of all services
python -m docker_wts_build --schedule build_all
# Schedule a single service build
python -m docker_wts_build --schedule build --service my-service
# Rebuild a single service (rm + build + up)
python -m docker_wts_build --schedule rebuild --service my-service
# Check all builds
python -m docker_wts_build --check
# Check a specific build
python -m docker_wts_build --check DockerBuild_20260427_195000
# Clean up old builds (default: 30 days)
python -m docker_wts_build --cleanup
# Clean up builds older than 14 days
python -m docker_wts_build --cleanup 14
# Show version
python -m docker_wts_build --version
How it works
schedule_buildcreates a.cmdwrapper file with environment variables, registers it as a Windows Task Scheduler task, and runs it immediately.- The task runs
builder.pyoutside VS Code, executingdocker composecommands and logging output to files. check_buildqueries Task Scheduler status and reads log files.cleanup_buildsremoves old tasks and log files.
Requirements
- Windows (uses
schtasks.exe) - Docker Desktop
- Python 3.10+
mcppackage (installed automatically)
License
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file docker_wts_build-0.1.2.tar.gz.
File metadata
- Download URL: docker_wts_build-0.1.2.tar.gz
- Upload date:
- Size: 13.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
348e893271489325090180dedf691a226e653ab92685cb481507f7440979f680
|
|
| MD5 |
afd69806b76fe48a0f72404340680ec5
|
|
| BLAKE2b-256 |
38d4c4ede1190a107031a2109a07f68154282238e2e34cbe886a03c84aa53b0e
|
File details
Details for the file docker_wts_build-0.1.2-py3-none-any.whl.
File metadata
- Download URL: docker_wts_build-0.1.2-py3-none-any.whl
- Upload date:
- Size: 15.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
070bde67a4a5c7b8f04070c204192ecba5a4886084545e0f8c3f0c97c8ece34f
|
|
| MD5 |
ee192adcbfdc34909be74e62fb165bae
|
|
| BLAKE2b-256 |
a768d99f1f5e5c02ea0d1527ac5513705ce4a33f9467ddb853587ca58b39f1cd
|