VM Health Check

MCP Tools

๐Ÿ–ฅ๏ธ Instant VM health checks โ€” no config needed after first run. Point it at any Docker-based Linux server and get a clean report covering CPU, memory, disk, all running containers (with live stats), MySQL/Postgres database sizes, and Docker image/cache bloat โ€” in one command. First time? It asks for your VM details once, saves them, and never asks again. Perfect for: post-deploy sanity checks, spotting memory hogs, finding disk space to reclaim, and keeping your server tidy. Triggers on: "check VM", "VM resources", "VM health", "how is the server", "Docker usage", "disk usage", "clean up Docker", "free up space".

Install

openclaw skills install tonic-vm-check

tonic-vm-check

SSH into a Docker-based VM and report system health, container status, DB sizes, and disk usage.

Step 1: Load VM Config

Before running any check, look for this block in TOOLS.md:

### tonic-vm-check
- VM_HOST: <host>
- VM_USER: <user>
- SSH_KEY: <path>

If found: extract the values and proceed to Step 2.

If not found: ask the user once:

To check your VM, I need a few details (only asked once โ€” saved to TOOLS.md):

  1. VM IP or hostname
  2. SSH username (default: ubuntu)
  3. Path to SSH private key (default: ~/.ssh/id_rsa)

Then append to TOOLS.md:

### tonic-vm-check
- VM_HOST: <answer>
- VM_USER: <answer>
- SSH_KEY: <answer>

Confirm saved, then proceed.

Step 2: Run the Check

VM_HOST=<host> VM_USER=<user> SSH_KEY=<key> bash skills/tonic-vm-check/scripts/vm-check.sh [section]

Sections: all (default) ยท system ยท disk ยท containers ยท db ยท docker-df ยท cleanup

Step 3: Report

Summarise results:

๐Ÿ–ฅ๏ธ System โ€” Uptime, CPU idle%, load average, memory (total / used / available)

๐Ÿ’พ Disk โ€” / usage %, used, free

๐Ÿณ Docker โ€” Top containers by MEM USAGE; flag any not healthy or recently restarted

๐Ÿ—„๏ธ DB Sizes โ€” MySQL and Postgres databases auto-detected on the VM

๐Ÿงน Cleanup Opportunities โ€” Reclaimable image/cache space; stopped containers worth removing

Always flag items that exceed thresholds:

MetricWarningCritical
Disk usage>70%>85%
Memory used>80%>90%
Load avg (1m)>2.0>4.0
Single container MEM>1 GB>2 GB

Cleanup Safety Rules

  • docker image prune -af โ€” safe (unused images only)
  • docker builder prune -f โ€” safe (build cache only, no data loss)
  • docker container prune โ€” safe only for stopped containers
  • Never run docker system prune -af without explicit user approval (destroys volumes)