Higangssh/homebutler

Higangssh/homebutler

от higangssh
HomeButler — MCP инструмент для управления homelab-сервером через AI-агентов. Мониторинг Docker, портов, сбоев, установка приложений и проверка бэкапов — всё без постоянного присмотра. Единый Go-би...

HomeButler logo

HomeButler

Your tiny homelab butler.
A single Go binary for running a small home server without babysitting it.

Website · Docs · Releases

Go 1.25+ Go Report Card License: MIT Release homebutler MCP server

HomeButler mascot holding a tiny server

HomeButler helps you answer the boring but painful questions every homelab eventually creates:

  • What is running on my server right now?
  • Which container owns this port?
  • Why did this service restart at 3 AM?
  • Is my backup actually restorable?
  • Can I install this self-hosted app without hand-writing another compose file?
  • Can I let an AI assistant inspect my server without handing it a full SSH shell?

No daemon required. No database. No always-on web service. Just one Go binary you can use from the terminal, scripts, a web dashboard, or AI tools.

The design goal is simple: give humans and agents a narrow, structured interface to the server. HomeButler returns readable summaries and JSON instead of asking you to trust a black-box shell session.

homebutler demo

▶️ 34s demo — monitor, diagnose, and manage your homelab

Quick Start

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

# Or via Homebrew
brew install Higangssh/homebutler/homebutler

# Interactive setup — add your servers in seconds
homebutler init
Инструменты были проиндексированы:
alerts

Проверяет оповещения о ресурсах на использование CPU, памяти и диска на соответствие настроенным порогам.

Параметры
  • serverstring

    Remote server name from config (optional, runs locally if omitted)

backup_create

Создаёт архив резервной копии Docker compose для всех сервисов или одного сервиса.

Параметры
  • serverstring

    Remote server name from config (optional, runs locally if omitted)

  • servicestring

    Specific service to back up (optional)

  • tostring

    Custom backup destination directory (optional)

backup_drill

Проверяет резервную копию, запуская приложение в изолированной среде Docker и проверяя, что оно отвечает.

Параметры
  • allboolean

    Drill all supported apps in the backup

  • appstring

    App/service to drill (required unless all=true)

  • archivestring

    Specific backup archive to verify (optional)

  • serverstring

    Remote server name from config (optional, runs locally if omitted)

backup_list

Вывести список существующих архивов резервных копий в настроенном каталоге резервного копирования

Параметры
  • serverstring

    Remote server name from config (optional, runs locally if omitted)

backup_restore

Восстанавливает Docker volumes из архива резервной копии. Деструктивная операция: подтвердите намерение перед вызовом.

Параметры
  • archivestringобязательный

    Backup archive path to restore

  • serverstring

    Remote server name from config (optional, runs locally if omitted)

  • servicestring

    Specific service to restore (optional)

config_validate

Проверьте конфигурационный файл, на котором работает этот сервер: какой файл использовался, какое правило его выбрало, что было прочитано из каждого раздела, и всё, что неправильно или молча проигнорировано.

Параметры
  • strictboolean

    Treat warnings as failures in the passed field (default: false)

docker_inspect

Суммируй образ контейнера Docker, его состояние, политику перезапуска, порты, монтирования, сети и здоровье. Значения переменных окружения никогда не включаются.

Параметры
  • namestringобязательный

    Container name to summarize

  • serverstring

    Remote server name from config (optional, runs locally if omitted)

docker_list

Выведи список Docker-контейнеров с их статусом, образом и портами.

Параметры
  • serverstring

    Remote server name from config (optional, runs locally if omitted)

docker_logs

Получить логи из контейнера Docker

Параметры
  • linesstring

    Number of log lines to return (default: 50)

  • namestringобязательный

    Container name to get logs from

  • serverstring

    Remote server name from config (optional, runs locally if omitted)

docker_restart

Перезапускает контейнер Docker по имени.

Параметры
  • namestringобязательный

    Container name to restart

  • serverstring

    Remote server name from config (optional, runs locally if omitted)

docker_stats

Получить статистику использования ресурсов (CPU, память, сеть, блок I/O) для всех запущенных контейнеров Docker

Параметры
  • serverstring

    Remote server name from config (optional, runs locally if omitted)

docker_stop

Остановить Docker-контейнер по имени

Параметры
  • namestringобязательный

    Container name to stop

  • serverstring

    Remote server name from config (optional, runs locally if omitted)

docker_top

Перечисляет процессы, работающие внутри Docker-контейнера, считывая информацию с хоста. Только чтение: без exec, без TTY

Параметры
  • namestringобязательный

    Container name to inspect

  • serverstring

    Remote server name from config (optional, runs locally if omitted)

doctor

Выполняет диагностику только для чтения, проверяя нагрузку на ресурсы, остановленные контейнеры, публичные порты, гигиену резервных копий и уведомления, а также формирует отчёт о базовой готовности.

Параметры
  • backup_max_age_hoursnumber

    Warn when the latest backup is older than this many hours (default: 168)

  • serverstring

    Remote server name from config (optional, runs locally if omitted)

install_app

Устанавливает самостоятельно размещаемое приложение с помощью docker compose. Автоматически предварительно проверяет docker, порты и дубликаты.

Параметры
  • appstringобязательный

    App name (e.g. uptime-kuma, vaultwarden)

  • portstring

    Custom host port (optional, uses default if omitted)

install_list

Выведи список доступных self-hosted приложений, которые можно установить.

Параметры

Без параметров.

install_purge

Останавливает установленное приложение и удаляет все данные, включая контейнеры, конфигурацию и тома.

Параметры
  • appstringобязательный

    App name

install_status

Проверяет статус установленного приложения.

Параметры
  • appstringобязательный

    App name

install_uninstall

Останавливает установленное приложение и удаляет его контейнеры. Данные сохраняются.

Параметры
  • appstringобязательный

    App name

inventory_export

Экспортировать инвентаризацию/топологию серверов в виде Mermaid-диаграммы локально или JSON локально/удалённо

Параметры
  • formatstring

    Export format: mermaid (default, local) or json

  • serverstring

    Remote server name from config (optional; remote supports format=json)

inventory_scan

Собирает информацию об инвентаризации/топологии сервера: состояние системы, Docker-контейнеры, порты приложений и системные порты.

Параметры
  • serverstring

    Remote server name from config (optional, runs locally if omitted)

network_scan

Сканирует локальную сеть для обнаружения устройств (IP, MAC, hostname)

Параметры

Без параметров.

open_ports

Вывести список открытых сетевых портов с информацией о связанных процессах.

Параметры
  • serverstring

    Remote server name from config (optional, runs locally if omitted)

processes

Выводит топ процессов по использованию CPU или памяти, с общим количеством и отдельно выделенными процессами-зомби.

Параметры
  • limitstring

    Number of processes to return (default: 10, 0 for all)

  • serverstring

    Remote server name from config (optional, runs locally if omitted)

  • sort_bystring

    Sort by cpu (default) or mem

proxmox_guest_reboot

Перезагружает одну явно указанную гостевую систему Proxmox после подтверждения и возвращает принятый UPID задачи.

Параметры
  • confirmbooleanобязательный

    Must be true to confirm the explicit guest action target

  • endpointstringобязательный

    Explicit Proxmox endpoint name from config

  • nodestringобязательный

    Proxmox node name

  • typestringобязательный

    Guest type: qemu or lxc

  • vmidintegerобязательный

    Proxmox guest VMID from 1 through 999999999

proxmox_guests

Перечисляет гостевые системы Proxmox — QEMU и LXC, с возможностью фильтрации по узлу, статусу или типу.

Параметры
  • endpointstring

    Proxmox endpoint name from config (optional when exactly one is configured)

  • nodestring

    Only guests on this Proxmox node (optional)

  • statusstring

    Only guests with this status, such as running or stopped (optional)

  • typestring

    Only guests of this type: qemu or lxc (optional)

proxmox_guest_shutdown

Корректно завершает работу одного явно указанного гостя Proxmox после подтверждения и возвращает UPID принятой задачи.

Параметры
  • confirmbooleanобязательный

    Must be true to confirm the explicit guest action target

  • endpointstringобязательный

    Explicit Proxmox endpoint name from config

  • nodestringобязательный

    Proxmox node name

  • typestringобязательный

    Guest type: qemu or lxc

  • vmidintegerобязательный

    Proxmox guest VMID from 1 through 999999999

proxmox_guest_start

Запускает одну явно указанную гостевую систему Proxmox после подтверждения и возвращает UPID принятой задачи.

Параметры
  • confirmbooleanобязательный

    Must be true to confirm the explicit guest action target

  • endpointstringобязательный

    Explicit Proxmox endpoint name from config

  • nodestringобязательный

    Proxmox node name

  • typestringобязательный

    Guest type: qemu or lxc

  • vmidintegerобязательный

    Proxmox guest VMID from 1 through 999999999

proxmox_node

Получает подробный статус узла Proxmox

Параметры
  • endpointstring

    Proxmox endpoint name from config (optional when exactly one is configured)

  • nodestringобязательный

    Proxmox node name

proxmox_script_command

Отображает закреплённую команду установки для одного скрипта сообщества Proxmox VE. Никогда не загружает и не запускает его; вызывающий просматривает и запускает его самостоятельно на хосте Proxmox.

Параметры
  • slugstringобязательный

    Script slug from proxmox_script_list, such as docker

proxmox_script_list

The Proxmox VE Community Scripts (formerly known as tteck's Proxmox VE Scripts) is a massive, curated collection of open-source scripts designed to simplify the installation of applications inside Proxmox LXC containers and VMs. Important Note: The catalog contains over 200 scripts and is frequently updated (software is added and removed based on community maintenance). The list below outlines the complete categories and the most popular, currently maintained scripts as of 2024/2025. You can view the live, searchable list at the official website: [https://community-scripts.github.io/CommPage/](https://community-scripts.github.io/CommPage/) Here is the categorized catalog of what is available: --- ### 1. AI & Machine Learning - Cog (self-hosted AI) - ComfyUI (Stable Diffusion UI) - Fabric (AI-powered CLI) - Flowise (build LLM apps) - Hollm (AI assistant) - InvokeAI (Stable Diffusion toolkit) - LocalAI (local OpenAI-compatible API) - Lobe (AI chat interface) - Maid (AI chat) - Ollama (run LLMs locally) - Open WebUI (formerly Ollama WebUI) - Stable Diffusion Web UI (Automatic1111) - Txt2Tts (Text-to-Speech) ### 2. Analytics & Data - Apache Kafka - Grafana (visualization) - HiveMQ (MQTT broker) - InfluxDB (time-series database) - N8n (workflow automation) - Node-RED (flow-based programming) - Strapi (headless CMS) - Wazuh (security analytics) ### 3. Build Tools & Development - Adguard (DNS sinkhole) - Code Server (VS Code in browser) - Docker (Docker inside an LXC) - GitLab - Nest (Node.js framework) - Portainer Agent - Rustdesk (remote desktop) - Umami (web analytics) ### 4. Databases - Apache CouchDB - Chroma (vector DB) - InfluxDB - MariaDB - MongoDB - MySQL - PostgreSQL - Redis - Sentry (error tracking) ### 5. Gaming - Aster (game server manager) - Fleet (game server) - Minecraft Bedrock / Minecraft Java - Palworld - Steam CMD (server manager) - Survival (game server) - Terraria - Valheim ### 6. Home Automation & Smart Home - Docker (often used for HA) - ESPHome - Home Assistant (Core and OS) - Homebridge - Homepage (dashboard) - Matter (bridge) - OpenHAB - Scrypted (NVR/Camera) - TasmoAdmin - ZoneMinder (CCTV) ### 7. Media & Entertainment - Audiobookshelf (audiobook/podcast server) - Emby - Jellyfin - Lidarr (music) - Plex - Radarr (movies) - Sonarr (TV shows) - Tautulli (Plex monitoring) - Tdarr (media transcoding) - Zoraxy (reverse proxy for media) ### 8. Network & DNS - AdGuard Home - Caddy (web server) - Crowdsec (security tool) - Docker (for networking tools) - Nginx Proxy Manager - OpenVPN - Pi-hole - Tailscale - Traefik - Uptime Kuma - WireGuard ### 9. Security & Privacy - Authelia (auth) - Bitwarden (password manager) - Crowdsec - Duplicati (backup) - Filebrowser - Gitea (Git server) - Immich (photo backup) - Vaultwarden (Bitwarden server) ### 10. Storage & Backup - Cockpit (server management) - Duplicati - Filebrowser - Glances (monitoring) - Netdata (monitoring) - Nextcloud (file sync) - Syncthing - Uptime Kuma ### 11. Virtualization & OS - Alpine - Debian - Docker - Fedora - LXC (various distros) - Proxmox Backup Server - Rocky Linux - Ubuntu - Wubuntu --- ### How to Use the Scripts The scripts are designed to be run directly in the Proxmox Shell (SSH). The standard format is: bash bash -c "$(wget -qLO - https://github.com/community-scripts/ProxmoxVE/raw/main/vm/... )" Or for LXC containers, using the pveam tool or direct execution. However, the easiest and safest way is to use the Proxmox VE Helper Scripts website: 1. Go to https://community-scripts.github.io/CommPage/ 2. Search for the application you want. 3. Copy the exact command provided (it will look something like bash -c "$(wget -qLO - https://github.com/community-scripts/ProxmoxVE/raw/main/ct/...)"). 4. Paste it into your Proxmox root shell and follow the prompts. Note on changes: The community frequently adds new scripts and occasionally retires those that are no longer maintained upstream. If you are looking for a specific application (e.g., Findarr, Kavita, Mastodon, Nginx Proxy Manager), it is best to search the website or the vm and ct folders in the GitHub repository directly.

Параметры

Без параметров.

proxmox_status

Получи версию Proxmox VE, статус кластера и ресурсы.

Параметры
  • endpointstring

    Proxmox endpoint name from config (optional when exactly one is configured)

proxmox_tasks

Получает 50 последних задач Proxmox для узла.

Параметры
  • endpointstring

    Proxmox endpoint name from config (optional when exactly one is configured)

  • nodestringобязательный

    Proxmox node name

proxmox_task_status

Проверяет одну асинхронную задачу Proxmox по узлу и непрозрачному UPID.

Параметры
  • endpointstringобязательный

    Explicit Proxmox endpoint name from config

  • nodestringобязательный

    Proxmox node name

  • upidstringобязательный

    Opaque Proxmox task UPID

report

Сэр, позвольте доложить о состоянии системы. Общий статус: стабильный, но требует внимания к двум узлам. Сравнение со снимком от 12 марта: - Средняя загрузка ЦП снизилась на 8% — хороший знак. - Потребление памяти выросло на 12%, в основном за счёт кэша базы данных. - Сетевой трафик увеличился на 25% — пик пришёлся на 3 часа ночи. Предупреждения: - Диск /dev/sdb заполнен на 87%. Если рост продолжится, через 10 дней достигнет 95%. - Температура процессора на узле web-04 поднималась до 82°C. Это выше нормы, но не критично. Заметные изменения: - Обновлён SSL-сертификат для *.example.com — всё в порядке. - Логи auth.log показывают 3 неудачные попытки входа из незнакомого IP. Заблокирован автоматически. - Сервис cron на db-02 перезапускался дважды за сутки без видимой причины. Предлагаемые действия: - Очистить временные файлы на /dev/sdb или расширить раздел до конца недели. - Проверить охлаждение на web-04 и при необходимости почистить радиаторы. - Разобраться с перезапусками cron — посмотреть journalctl на db-02. - Усилить мониторинг авторизаций: включить уведомления по всем неудачным попыткам. Ожидаю ваших распоряжений.

Параметры
  • keepnumber

    Number of snapshots to retain (default: 30)

  • no_saveboolean

    Preview without writing a snapshot

  • serverstring

    Remote server name from config (optional, runs locally if omitted)

system_status

Получить состояние системы, включая загрузку CPU, использование памяти и диска, а также время работы

Параметры
  • serverstring

    Remote server name from config (optional, runs locally if omitted)

wake

Отправляет магический пакет Wake-on-LAN, чтобы разбудить компьютер.

Параметры
  • broadcaststring

    Broadcast address (default: 255.255.255.255)

  • targetstringобязательный

    MAC address or configured device name

watch_check

Запускает однократную проверку перезапусков на отслеживаемых целях и сообщает о перезапусках, обнаруженных с момента последней проверки. Только цели docker можно проверить таким образом; цели systemd и pm2 отмечаются как пропущенные, а не считаются здоровыми.

Параметры
  • serverstring

    Remote server name from config (optional, runs locally if omitted)

watch_history

Перечисляет записанные инциденты перезапуска, сначала самые новые. Захваченные логи исключаются, если не установлен include_logs, потому что каждый инцидент содержит сто строк вывода дважды.

Параметры
  • containerstring

    Only incidents for this target (optional)

  • include_logsboolean

    Include the logs captured before and after each restart (default: false)

  • limitstring

    Most recent N incidents (default: 10, 0 for all)

  • serverstring

    Remote server name from config (optional, runs locally if omitted)

watch_list

Перечисляет наблюдаемые цели, их тип и результат последней проверки.

Параметры
  • serverstring

    Remote server name from config (optional, runs locally if omitted)

Похожие MCP-сервера

joshuarileydev/simulator-mcp-server

joshuarileydev/simulator-mcp-server

MCP-сервер для управления iOS симуляторами: запуск, остановка, установка .app и запуск приложений по bundle ID. Полезен iOS-разработчикам для автоматизации тестирования и CI/CD.

JavaScript53
nihalxkumar/arch-mcp

nihalxkumar/arch-mcp

MCP сервер для интеграции AI-ассистентов с Arch Linux. Предоставляет доступ к Arch Wiki, AUR и официальным репозиториям, а также инструменты для управления пакетами и мониторинга системы. Полезен для безопасной установки пакетов и изучения Arch.

Python57
kastelldev/kastell

kastelldev/kastell

Kastell — MCP-сервер для управления серверами: аудит безопасности, автоматическое исправление и мониторинг. Включает встроенного AI-агента для Claude и Cursor. Выполняет 470+ проверок, поддерживает...

TypeScript60
Tommertom/plugwise-mcp

Tommertom/plugwise-mcp

MCP-сервер для управления умным домом Plugwise: автоматически находит хабы в сети, управляет термостатами, розетками и мониторит энергопотребление. Поддерживает несколько шлюзов одновременно и инте...

TypeScript2
prisma/mcp

prisma/mcp

официальный

MCP сервер Prisma позволяет AI-агентам управлять базами данных Prisma Postgres: создавать бэкапы, выполнять SQL, интроспекцию схемы и миграции. Идеально для разработчиков, автоматизирующих работу с PostgreSQL через естественный язык.

JavaScript47
gjenkins20/webmin-mcp-server

gjenkins20/webmin-mcp-server

MCP сервер для Linux-администрирования через Webmin: мониторинг, управление сервисами, пользователями, файлами, безопасностью и базами данных. Идеальный инструмент для интеграции ИИ-ассистентов с серверной инфраструктурой.

Python6
© Каталог MCP, 2026. Все права защищены.
Проект не аффилирован с Anthropic и любыми упомянутыми продуктами.
Все названия и торговые марки принадлежат их владельцам.
Контакты для связи: hi@mcp-katalog.ru

Лука Никитин