Skip to main content

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

  1. schedule_build creates a .cmd wrapper file with environment variables, registers it as a Windows Task Scheduler task, and runs it immediately.
  2. The task runs builder.py outside VS Code, executing docker compose commands and logging output to files.
  3. check_build queries Task Scheduler status and reads log files.
  4. cleanup_builds removes old tasks and log files.

Requirements

  • Windows (uses schtasks.exe)
  • Docker Desktop
  • Python 3.10+
  • mcp package (installed automatically)

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

docker_wts_build-0.1.0.tar.gz (13.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

docker_wts_build-0.1.0-py3-none-any.whl (15.4 kB view details)

Uploaded Python 3

File details

Details for the file docker_wts_build-0.1.0.tar.gz.

File metadata

  • Download URL: docker_wts_build-0.1.0.tar.gz
  • Upload date:
  • Size: 13.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.13

File hashes

Hashes for docker_wts_build-0.1.0.tar.gz
Algorithm Hash digest
SHA256 c96297f540d43d299ad2821bc4a1c9362082cd0952d958317b8c473db1712466
MD5 a9c005b528c1c1040580ca5c5f80f159
BLAKE2b-256 6d0b6aae923c7668a204ae0d8aa70bb4003a0fcdf7c970ef65d3a17d362f64d8

See more details on using hashes here.

File details

Details for the file docker_wts_build-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for docker_wts_build-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 1452742cf07a38332653c54cedceaa835a88ef3dbdcf9ac0a9cb173d3fc1b3e3
MD5 5eaf3fe85b1c445ba7f66f011622c4af
BLAKE2b-256 6b9b6894cb40964b85dfbfc172e0b2e17ed9dbe2c6cc8e23361458c252fce1e8

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page