LogDeck MCP
Логи, алерты и управление контейнерами Docker и Podman: MCP-сервер и CLI, права агента задает область токена
- 140 ★ репозитория
- Последний коммит
Широкий доступ
Почему такой уровень
- Admin-токен позволяет удалять контейнеры, выполнять команды и менять переменные окружения.
- Контейнер LogDeck монтирует сокет Docker, а без включенной аутентификации интерфейс открыт всем, кто его видит.
Установка
- Работает в
Ручная установка
docker run -d --name logdeck -p 8123:8080 -v /var/run/docker.sock:/var/run/docker.sock -v /proc:/host/proc:ro -v logdeck-data:/data --restart unless-stopped amoabakelvin/logdeck:latestЗапускает сервер LogDeck на порту 8123. Том `logdeck-data` хранит настройки, логи и историю алертов.
Доступ и проверки
Как мы проверяемШирокий доступИнструмент может менять данные, выполнять команды или работать с секретами.
- Admin-токен позволяет удалять контейнеры, выполнять команды и менять переменные окружения.
- Контейнер LogDeck монтирует сокет Docker, а без включенной аутентификации интерфейс открыт всем, кто его видит.
Это чужой код. Посмотрите файлы в репозитории перед установкой.
Что делает
LogDeck — самохостинговый сервис логов, алертов и управления контейнерами Docker и Podman, собранный в один бинарник на Go. Команда `logdeck mcp` запускает MCP-сервер по stdio: агент читает контейнеры, логи, события и нагрузку на CPU и память, а при выданных правах перезапускает контейнер или выполняет команду. Логи хранятся на диске, поэтому история переживает пересборку и удаление контейнера. Инструменты `history_search`, `history_status` и `history_containers` читают это хранилище, а `search_logs` ищет по регулярному выражению сразу в нескольких запущенных контейнерах.
Для кого. Администраторам и разработчикам, у которых сервисы работают в контейнерах и агенту нужен доступ к логам без входа на хост по SSH.
Подходит, если
- Сервис в контейнере упал, и агент ищет в логах строку `connection refused`.
- Контейнер удален при пересборке Compose, а историю его логов нужно прочитать.
- Несколько Docker-хостов сведены в один интерфейс, и агента спрашивают о состоянии всех сразу.
- Агенту разрешают только смотреть: выдают read-токен, и действия отклоняет сам сервер.
Не подходит, если
- LogDeck не развернут: MCP-серверу нужен запущенный сервер LogDeck и токен.
- Сервер LogDeck доступен из сети при выключенной аутентификации.
- Агенту требуется интерактивный терминал: `run_command` выполняет одну неинтерактивную команду.
Пример запроса к агенту
Найди в логах всех запущенных контейнеров `connection refused` за последний час и покажи, какой сервис упал первым.MCP
- Транспорт
- stdio
- Авторизация
- API-ключ
Переменные окружения
LOGDECK_URLобязательная- Адрес сервера LogDeck.
LOGDECK_TOKENобязательная, секрет- Токен API с префиксом `ldk_`: read или admin.
Ограничения
LogDeck стартует без входа: аутентификацию включают в настройках до публикации за пределами своей машины. Контейнер монтирует сокет Docker, что дает широкий доступ к хосту. Права MCP целиком определяет токен: admin-токен открывает удаление контейнеров, команды, правку переменных окружения и смену настроек, в том числе отключение аутентификации. Подтверждения клиента служат удобством, барьером служит область токена.
Как отключить. Удалите запись logdeck из конфигурации MCP-клиента и отзовите токен в настройках LogDeck, раздел API Access. Сам сервис останавливает `docker rm -f logdeck`.
Частые вопросы
Чем read-токен отличается от admin?
Read читает логи, статистику, события и детали контейнеров, а любое действие возвращает ошибку прав. Admin делает все, что доступно администратору в веб-интерфейсе и CLI.
Как читать логи удаленных контейнеров?
`history_search` читает сохраненное хранилище, в том числе контейнеры, которых больше нет. Ему передают контейнер, проект Compose или ничего, чтобы искать по всем; выдача постраничная, с курсором.
Куда LogDeck шлет алерты?
В Slack, Discord, ntfy, Gotify, Telegram или на любой вебхук. Правила срабатывают на смерть контейнера, OOM и шаблоны в логах.
Нужен ли Docker на машине агента?
Нет. Агенту нужен установленный CLI `logdeck` и сетевой доступ к серверу LogDeck: контейнеры читает сам сервер.
Как включить аутентификацию?
В настройках LogDeck. Сервис стартует без входа, поэтому включите ее до публикации за пределами своей машины. API-токены создают в Settings, раздел API Access.
Обсуждение
Вопросов и отзывов пока нет.
Похожие
MCP-серверыDocker MCP
Docker MCP server
MCP-сервер для управления Docker на естественном языке: контейнеры, образы, сети и тома, в том числе на удаленном хосте по SSH
CLI-плагин docker mcp и шлюз: MCP-серверы из каталога Docker в изолированных контейнерах через одну точку подключения
Docker MCP от QuantGeekDev
docker-mcp
Docker MCP: агент создает контейнеры, разворачивает стеки Docker Compose из YAML, читает логи и список контейнеров. Запуск через uvx для Claude Desktop
CLI Hookdeck пересылает вебхуки на локальный сервер, управляет Event Gateway и запускает MCP-сервер, через который агент разбирает сбои доставки
Защищенный MCP-рантайм, через который агент управляет локальными машинами, серверами и контейнерами
Агент ищет в журналах AWS CloudWatch, суммирует активность и сопоставляет события из разных сервисов.
Коротко о README
Сервис запускается одной командой `docker run` с монтированием сокета Docker и тома данных. CLI `logdeck` ставится отдельным скриптом, в нем есть `logdeck grep` для поиска по логам всех запущенных контейнеров.