Higangssh

HomeButler

Community Higangssh
Updated

๐Ÿ  Manage your homelab from chat. Single binary, zero dependencies.

HomeButler

Manage your homelab from any AI โ€” Claude, ChatGPT, Cursor, or terminal. One binary. Zero dependencies.

GoGo Report CardLicense: MITRelease

A single-binary CLI + MCP server that lets you monitor servers, control Docker, wake machines, and scan your network โ€” from chat, AI tools, or the command line.

โ–ถ๏ธ Click to watch demo โ€” Alert โ†’ Diagnose โ†’ Fix, all from chat (34s)

Architecture

Goal: Engineers manage servers from chat โ€” not SSH.

Alert fires โ†’ AI diagnoses โ†’ AI fixes โ†’ you get a summary on your phone.

homebutler is the tool layer in an AI ChatOps stack. It doesn't care what's above it โ€” use any chat platform, any AI agent, or just your terminal.

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚  Layer 3 โ€” Chat Interface                        โ”‚
โ”‚  Telegram ยท Slack ยท Discord ยท Terminal ยท Browser โ”‚
โ”‚  (Your choice โ€” homebutler doesn't touch this)   โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                       โ”‚
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚  Layer 2 โ€” AI Agent                              โ”‚
โ”‚  OpenClaw ยท LangChain ยท n8n ยท Claude Desktop     โ”‚
โ”‚  (Understands intent โ†’ calls the right tool)     โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                       โ”‚  CLI exec or MCP (stdio)
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚  Layer 1 โ€” Tool (homebutler)       โ† YOU ARE HERE โ”‚
โ”‚                                                   โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”           โ”‚
โ”‚  โ”‚   CLI   โ”‚  โ”‚   MCP   โ”‚  โ”‚   Web   โ”‚           โ”‚
โ”‚  โ”‚ stdout  โ”‚  โ”‚  stdio  โ”‚  โ”‚  :8080  โ”‚           โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”˜  โ””โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”˜  โ””โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”˜           โ”‚
โ”‚       โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜                 โ”‚
โ”‚                    โ–ผ                              โ”‚
โ”‚             internal/*                            โ”‚
โ”‚   system ยท docker ยท ports ยท network               โ”‚
โ”‚   wake ยท alerts ยท remote (SSH)                    โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

Three interfaces, one core:

Interface Transport Use case
CLI Shell stdout/stderr Terminal, scripts, AI agents via exec
MCP JSON-RPC over stdio Claude Desktop, ChatGPT, Cursor, any MCP client
Web HTTP (go:embed) Browser dashboard, on-demand with homebutler serve

All three call the same internal/ packages โ€” no code duplication.

homebutler is Layer 1. Swap Layer 2 and 3 to fit your stack:

  • Terminal only โ†’ homebutler status (no agent needed)
  • Claude Desktop โ†’ MCP server, Claude calls tools directly
  • OpenClaw + Telegram โ†’ Agent runs CLI commands from chat
  • Custom Python bot โ†’ subprocess.run(["homebutler", "status", "--json"])
  • n8n / Dify โ†’ Execute node calling homebutler CLI

No ports opened by default. CLI and MCP use stdin/stdout only. The web dashboard is opt-in (homebutler serve, binds 127.0.0.1).

Now: CLI + MCP + Web dashboard โ€” you ask, it answers.

Goal: Full AI ChatOps โ€” infrastructure that manages itself.

Features

  • Web Dashboard โ€” Beautiful dark-themed web UI with homebutler serve
  • TUI Dashboard โ€” Real-time terminal monitoring with homebutler watch (btop-style)
  • System Status โ€” CPU, memory, disk, uptime at a glance
  • Docker Management โ€” List, restart, stop, logs for containers
  • Wake-on-LAN โ€” Power on machines remotely
  • Port Scanner โ€” See what's listening and which process owns it
  • Network Scan โ€” Discover devices on your LAN
  • Alerts โ€” Get notified when resources exceed thresholds
  • Backup & Restore โ€” One-command Docker volume backup with compose + env files
  • Multi-server โ€” Manage remote servers over SSH (key & password auth)
  • MCP Server โ€” Works with Claude Desktop, ChatGPT, Cursor, and any MCP client
  • JSON Output โ€” Pipe-friendly, perfect for AI assistants to parse

Why homebutler?

Other tools give you dashboards. homebutler gives you a conversation.

3 AM. Your server disk is 91% full. Here's what happens next:

Alert fires โ†’ you check logs from bed โ†’ AI restarts the problem container โ†’ disk drops to 66%. All from your phone. No SSH, no laptop, no dashboard login.

This is what homebutler + OpenClaw looks like in practice.

๐Ÿ“Š Comparison with alternatives
homebutler Glances/btop Netdata CasaOS
TUI dashboard โœ… Built-in โœ… โŒ Web โŒ Web
Web dashboard โœ… Embedded โŒ โœ… โœ…
Single binary โœ… โŒ โŒ โŒ
Optional web server โœ… On-demand Always-on Always-on Always-on
Multi-server SSH โœ… Parallel โŒ โŒ โŒ
MCP support โœ… Built-in โŒ โŒ โŒ
Chat integration โœ… Native โŒ โŒ โŒ
AI-friendly JSON โœ… โŒ โš ๏ธ API โš ๏ธ API
Docker control โœ… โš ๏ธ Monitor โŒ โœ…
Wake-on-LAN โœ… โŒ โŒ โŒ
Network scan โœ… โŒ โŒ โŒ
Remote deploy โœ… One command โŒ โŒ โŒ
Air-gapped install โœ… Copy binary โš ๏ธ apt/brew โŒ Docker โŒ Docker
Resource usage ~10MB, 0% idle Medium High High

Demo

๐Ÿง  AI-Powered Management (MCP)

One natural language prompt manages your entire homelab. Claude Code calls homebutler MCP tools in parallel โ€” checking server status, listing Docker containers, and alerting on disk usage across multiple servers. See screenshots & setup โ†’

๐ŸŒ Web Dashboard

homebutler serve โ€” A real-time web dashboard embedded in the single binary via go:embed. Monitor all your servers, Docker containers, open ports, alerts, and Wake-on-LAN devices from any browser. Dark theme, auto-refresh every 5 seconds, fully responsive.

โœจ Web Dashboard Highlights
  • Server Overview โ€” See all servers at a glance with color-coded status (green = online, red = offline)
  • System Metrics โ€” CPU, memory, disk usage with progress bars and color thresholds
  • Docker Containers โ€” Running/stopped status with friendly labels ("Running ยท 4d", "Stopped ยท 6h ago")
  • Top Processes โ€” Top 10 processes sorted by CPU usage
  • Resource Alerts โ€” Threshold-based warnings with visual progress bars (OK / WARNING / CRITICAL)
  • Network Ports โ€” Open ports with process names and bind addresses
  • Wake-on-LAN โ€” One-click wake buttons for configured devices
  • Server Switching โ€” Dropdown to switch between local and remote servers
  • Zero dependencies โ€” No Node.js runtime needed. Frontend is compiled into the Go binary at build time
homebutler serve              # Start on port 8080
homebutler serve --port 3000  # Custom port
homebutler serve --demo       # Demo mode with realistic sample data

๐Ÿ–ฅ๏ธ TUI Dashboard

homebutler watch โ€” A terminal-based dashboard powered by Bubble Tea. Monitors all configured servers with real-time updates, color-coded resource bars, and Docker container status. No browser needed.

Quick Start

# One-line install (recommended, auto-detects OS/arch)
curl -fsSL https://raw.githubusercontent.com/Higangssh/homebutler/main/install.sh | sh

# Or via Homebrew
brew install Higangssh/homebutler/homebutler

# Or via npm (MCP server only)
npm install -g homebutler

# Interactive setup โ€” adds your servers in seconds
homebutler init

# Run
homebutler status
homebutler watch             # TUI dashboard (all servers)
homebutler serve             # Web dashboard at http://localhost:8080
homebutler docker list
homebutler wake desktop
homebutler ports
homebutler status --all

Usage

homebutler <command> [flags]

Commands:
  init                Interactive setup wizard
  status              System status (CPU, memory, disk, uptime)
  watch               TUI dashboard (monitors all configured servers)
  serve               Web dashboard (browser-based, go:embed)
  docker list         List running containers
  docker restart <n>  Restart a container
  docker stop <n>     Stop a container
  docker logs <n>     Show container logs
  wake <name>         Send Wake-on-LAN packet
  ports               List open ports with process info
  network scan        Discover devices on LAN
  alerts              Show current alert status
  alerts --watch      Continuous monitoring with real-time alerts
  trust <server>      Register SSH host key (TOFU)
  backup              Backup Docker volumes, compose files, and env
  backup list         List existing backups
  restore <archive>   Restore from a backup archive
  upgrade             Upgrade local + all remote servers to latest
  deploy              Install homebutler on remote servers
  mcp                 Start MCP server (JSON-RPC over stdio)
  version             Print version

Flags:
  --json              JSON output (default: human-readable)
  --server <name>     Run on a specific remote server
  --all               Run on all configured servers in parallel
  --port <number>     Port for serve command (default: 8080)
  --demo              Run serve with realistic demo data
  --watch             Continuous monitoring mode (alerts command)
  --interval <dur>    Watch interval, e.g. 30s, 1m (default: 30s)
  --config <path>     Custom alert thresholds config file
  --local             Upgrade only the local binary (skip remote servers)
  --local <path>      Use local binary for deploy (air-gapped)
  --config <path>     Config file (auto-detected, see Configuration)
  --service <name>    Target a specific Docker service (backup/restore)
  --to <path>         Custom backup destination directory

Web Dashboard

homebutler serve starts an embedded web dashboard โ€” no Node.js, no Docker, no extra dependencies.

homebutler serve                # http://localhost:8080
homebutler serve --port 3000    # custom port
homebutler serve --demo         # demo mode with sample data

๐Ÿ“– Web dashboard details โ†’

TUI Dashboard

homebutler watch launches an interactive terminal dashboard (btop-style):

homebutler watch               # monitors all configured servers

Auto-refreshes every 2 seconds. Press q to quit.

Alert Monitoring

homebutler alerts --watch                  # default: 30s interval
homebutler alerts --watch --interval 10s   # check every 10 seconds

Default thresholds: CPU 90%, Memory 85%, Disk 90%. Customizable via config.

Backup & Restore

One-command Docker backup โ€” volumes, compose files, and env variables.

homebutler backup                          # backup everything
homebutler backup --service jellyfin       # specific service
homebutler backup --to /mnt/nas/backups/   # custom destination
homebutler backup list                     # list backups
homebutler restore ./backup.tar.gz         # restore

โš ๏ธ Database services should be paused before backup for data consistency.

๐Ÿ“– Full backup documentation โ†’ โ€” how it works, archive structure, security notes.

Configuration

homebutler init    # interactive setup wizard

๐Ÿ“– Configuration details โ†’ โ€” config file locations, alert thresholds, all options.

Multi-server

Manage multiple servers from a single machine over SSH.

homebutler status --server rpi     # query specific server
homebutler status --all            # query all in parallel
homebutler deploy --server rpi     # install on remote server
homebutler upgrade                 # upgrade all servers

๐Ÿ“– Multi-server setup โ†’ โ€” SSH auth, config examples, deploy & upgrade.

MCP Server

Built-in MCP server โ€” manage your homelab from any AI tool with natural language.

{
  "mcpServers": {
    "homebutler": {
      "command": "npx",
      "args": ["-y", "homebutler@latest"]
    }
  }
}

Works with Claude Desktop, ChatGPT, Cursor, Windsurf, and any MCP client.

๐Ÿ“– MCP server setup โ†’ โ€” supported clients, available tools, agent skills.

Installation

Homebrew (Recommended)

brew install Higangssh/homebutler/homebutler

Automatically installs to PATH. Works on macOS and Linux.

One-line Install

curl -fsSL https://raw.githubusercontent.com/Higangssh/homebutler/main/install.sh | sh

Auto-detects OS/architecture, downloads the latest release, and installs to PATH.

npm (MCP server)

npm install -g homebutler

Downloads the Go binary automatically. Use npx -y homebutler@latest to run without installing globally.

Go Install

go install github.com/Higangssh/homebutler@latest

Build from Source

git clone https://github.com/Higangssh/homebutler.git
cd homebutler
make build

Uninstall

rm $(which homebutler)           # Remove binary
rm -rf ~/.config/homebutler      # Remove config (optional)

Contributing

Contributions welcome! Please open an issue first to discuss what you'd like to change.

License

MIT

MCP Server ยท Populars

MCP Server ยท New

    arthurpanhku

    docsentinel

    MCP server for AI agent for cybersecurity: automate assessment of documents, questionnaires & reports. Multi-format parsing, RAG knowledge base,Risks, compliance gaps, remediations.

    Community arthurpanhku
    Higangssh

    HomeButler

    ๐Ÿ  Manage your homelab from chat. Single binary, zero dependencies.

    Community Higangssh
    hidai25

    eval-view

    Regression testing for AI agents. Snapshot behavior, diff tool calls, catch regressions in CI. Works with LangGraph, CrewAI, OpenAI, Anthropic.

    Community hidai25
    Muvon

    Octocode - Intelligent Code Indexer and Graph Builder

    Semantic code searcher and codebase utility

    Community Muvon
    symgraph

    BinAssistMCP

    Binary Ninja plugin to provide MCP functionality.

    Community symgraph