Awesome-openclaw-skills uptime-kuma

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.

install
source · Clone the upstream repo
git clone https://github.com/sundial-org/awesome-openclaw-skills
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/sundial-org/awesome-openclaw-skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/uptime-kuma" ~/.claude/skills/sundial-org-awesome-openclaw-skills-uptime-kuma && rm -rf "$T"
OpenClaw · Install into ~/.openclaw/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/sundial-org/awesome-openclaw-skills "$T" && mkdir -p ~/.openclaw/skills && cp -r "$T/skills/uptime-kuma" ~/.openclaw/skills/sundial-org-awesome-openclaw-skills-uptime-kuma && rm -rf "$T"
manifest: skills/uptime-kuma/SKILL.md
source content

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 username
  • UPTIME_KUMA_PASSWORD
    - Login password

Usage

Script location:

scripts/kuma.py

Commands

# Overall status summary
python scripts/kuma.py status

# List all monitors
python scripts/kuma.py list
python scripts/kuma.py list --json

# Get monitor details
python scripts/kuma.py get <id>

# 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 22

# Pause/resume monitors
python scripts/kuma.py pause <id>
python scripts/kuma.py resume <id>

# Delete monitor
python scripts/kuma.py delete <id>

# View heartbeat history
python scripts/kuma.py heartbeats <id> --hours 24

# List notification channels
python scripts/kuma.py notifications

Monitor Types

  • http
    - HTTP/HTTPS endpoint
  • ping
    - ICMP ping
  • port
    - TCP port check
  • keyword
    - HTTP + keyword search
  • dns
    - DNS resolution
  • docker
    - Docker container
  • push
    - Push-based (passive)
  • mysql
    ,
    postgres
    ,
    mongodb
    ,
    redis
    - Database checks
  • mqtt
    - MQTT broker
  • group
    - Monitor group

Common 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