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

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

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

Параметры

  • serverstring

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

backup_create

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

Создайте архив резервной копии 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 и убедившись, что оно отвечает.

Проверьте резервную копию, запустив приложение в изолированной среде 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 из архива резервной копии. Деструктивная операция: подтвердите намерение перед вызовом.

Восстанавливает 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)

docker_list

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

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

Параметры

  • serverstring

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

docker_logs

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

Получить логи из контейнера 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 по имени

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

Параметры

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

    Container name to restart

  • serverstring

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

docker_stats

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

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

Параметры

  • serverstring

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

docker_stop

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

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

Параметры

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

    Container name to stop

  • 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, портов и дубликатов.

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

Параметры

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

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

  • portstring

    Custom host port (optional, uses default if omitted)

install_list

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

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

Параметры

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

install_purge

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

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

Параметры

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

    App name

install_status

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

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

Параметры

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

    App name

install_uninstall

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

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

Параметры

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

    App name

inventory_export

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

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

Параметры

  • formatstring

    Export format: mermaid (default, local) or json

  • serverstring

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

inventory_scan

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

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

Параметры

  • serverstring

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

network_scan

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

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

Параметры

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

open_ports

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

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

Параметры

  • serverstring

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

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`. - Усилить мониторинг авторизаций: включить уведомления по всем неудачным попыткам. Ожидаю ваших распоряжений.

Сэр, позвольте доложить о состоянии системы. Общий статус: стабильный, но требует внимания к двум узлам. Сравнение со снимком от 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, использование памяти и диска, а также время работы

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

Параметры

  • serverstring

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

wake

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

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

Параметры

  • broadcaststring

    Broadcast address (default: 255.255.255.255)

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

    MAC address or configured device name

Другие проверенные MCP-сервера

ragieai/mcp-server

ragieai/mcp-server

официальный

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

JavaScript89
Coding-Solo/godot-mcp

Coding-Solo/godot-mcp

MCP-сервер для Godot: запускает редактор, выполняет проекты, захватывает отладку. Управляет сценами и проектами. Полезен разработчикам, использующим AI-агентов — даёт обратную связь от движка, уско...

JavaScript4784
mnemox-ai/idea-reality-mcp

mnemox-ai/idea-reality-mcp

официальный

MCP-сервер автоматически проверяет, не сделал ли кто-то уже вашу идею. Сканирует GitHub, Hacker News и другие источники, возвращает оценку реалистичности (0-100) с трендами и советами по пивоту. По...

Python760
Bybit MCP

Bybit MCP

официальный

MCP-сервер предоставляет 206 инструментов для Bybit: рыночные данные, торговлю и WebSocket-стримы, включая управление аккаунтом. Интегрируется с Claude, Cursor, VS Code. Режим read-only без API-ключа.

TypeScript21
VeriTeknik/pluggedin-mcp-proxy

VeriTeknik/pluggedin-mcp-proxy

официальный

plugged.in MCP Hub — прокси-сервер, объединяющий множество MCP-серверов в один интерфейс. Он наделяет AI памятью, знаниями и инструментами, включает RAG-поиск, уведомления и управление документами. Работает с любыми MCP-клиентами.

TypeScript132
higress-group/higress-ops-mcp-server

higress-group/higress-ops-mcp-server

официальный

Higress OPS MCP сервер управляет конфигурацией и мониторингом API-шлюза Higress через агентный поток на LangGraph. Помогает DevOps-инженерам автоматизировать работу с Higress Console API.

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

Лука Никитин