Uptime Kuma
by @msarheed
Interact with Uptime Kuma monitoring server. Use for checking monitor status, adding/removing monitors, pausing/resuming checks, viewing heartbeat history. Triggers on mentions of Uptime Kuma, server monitoring, uptime checks, or service health monitoring.
clawhub install uptime-kumaπ About This Skill
name: uptime-kuma description: Interact with Uptime Kuma monitoring server. Use for checking monitor status, adding/removing monitors, pausing/resuming checks, viewing heartbeat history. Triggers on mentions of Uptime Kuma, server monitoring, uptime checks, or service health monitoring.
Uptime Kuma Skill
Manage Uptime Kuma monitors via CLI wrapper around the Socket.IO API.
Setup
Requires uptime-kuma-api Python package:
pip install uptime-kuma-api
Environment variables (set in shell or Clawdbot config):
UPTIME_KUMA_URL - Server URL (e.g., http://localhost:3001)UPTIME_KUMA_USERNAME - Login usernameUPTIME_KUMA_PASSWORD - Login passwordUsage
Script location: scripts/kuma.py
Commands
# Overall status summary
python scripts/kuma.py statusList all monitors
python scripts/kuma.py list
python scripts/kuma.py list --jsonGet monitor details
python scripts/kuma.py get Add monitors
python scripts/kuma.py add --name "My Site" --type http --url https://example.com
python scripts/kuma.py add --name "Server Ping" --type ping --hostname 192.168.1.1
python scripts/kuma.py add --name "SSH Port" --type port --hostname server.local --port 22Pause/resume monitors
python scripts/kuma.py pause
python scripts/kuma.py resume Delete monitor
python scripts/kuma.py delete View heartbeat history
python scripts/kuma.py heartbeats --hours 24List notification channels
python scripts/kuma.py notifications
Monitor Types
http - HTTP/HTTPS endpointping - ICMP pingport - TCP port checkkeyword - HTTP + keyword searchdns - DNS resolutiondocker - Docker containerpush - Push-based (passive)mysql, postgres, mongodb, redis - Database checksmqtt - MQTT brokergroup - Monitor groupCommon Workflows
Check what's down:
python scripts/kuma.py status
python scripts/kuma.py list # Look for π΄
Add HTTP monitor with 30s interval:
python scripts/kuma.py add --name "API Health" --type http --url https://api.example.com/health --interval 30
Maintenance mode (pause all):
for id in $(python scripts/kuma.py list --json | jq -r '.[].id'); do
python scripts/kuma.py pause $id
done
π‘ Examples
Script location: scripts/kuma.py
Commands
# Overall status summary
python scripts/kuma.py statusList all monitors
python scripts/kuma.py list
python scripts/kuma.py list --jsonGet monitor details
python scripts/kuma.py get Add monitors
python scripts/kuma.py add --name "My Site" --type http --url https://example.com
python scripts/kuma.py add --name "Server Ping" --type ping --hostname 192.168.1.1
python scripts/kuma.py add --name "SSH Port" --type port --hostname server.local --port 22Pause/resume monitors
python scripts/kuma.py pause
python scripts/kuma.py resume Delete monitor
python scripts/kuma.py delete View heartbeat history
python scripts/kuma.py heartbeats --hours 24List notification channels
python scripts/kuma.py notifications
Monitor Types
http - HTTP/HTTPS endpointping - ICMP pingport - TCP port checkkeyword - HTTP + keyword searchdns - DNS resolutiondocker - Docker containerpush - Push-based (passive)mysql, postgres, mongodb, redis - Database checksmqtt - MQTT brokergroup - Monitor groupCommon Workflows
Check what's down:
python scripts/kuma.py status
python scripts/kuma.py list # Look for π΄
Add HTTP monitor with 30s interval:
python scripts/kuma.py add --name "API Health" --type http --url https://api.example.com/health --interval 30
Maintenance mode (pause all):
for id in $(python scripts/kuma.py list --json | jq -r '.[].id'); do
python scripts/kuma.py pause $id
done
βοΈ Configuration
Requires uptime-kuma-api Python package:
pip install uptime-kuma-api
Environment variables (set in shell or Clawdbot config):
UPTIME_KUMA_URL - Server URL (e.g., http://localhost:3001)UPTIME_KUMA_USERNAME - Login usernameUPTIME_KUMA_PASSWORD - Login password