docker-logs-mcp
MCP-сервер для просмотра логов Docker-контейнеров на удалённом VPS через SSH.
Требования
- Python ≥ 3.12
- uv (установщик пакетов)
- Доступ по SSH-ключу к VPS
Быстрый старт
cd docker-logs-mcp
uv sync
Подключение к Cline
Добавить в MCP-серверы Cline:
{
"docker-logs": {
"command": "uv",
"args": ["run", "--directory", "/path/to/docker-logs-mcp", "python", "-m", "src.docker_mcp"]
}
}
Где добавить:
- VS Code:
~/.config/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json - Cline Desktop: настройки → MCP Servers
Конфигурация проекта
В корне каждого Docker-проекта должен быть файл .deploy:
[email protected]
PROJECT_DIR=/opt/project
SSH_PORT=22 # опционально, по умолчанию 22
Он же используется скриптом деплоя (source ./.deploy).
Переменные окружения
| Переменная | По умолчанию | Описание |
|---|---|---|
SSH_KEY |
~/.ssh/id_ed25519 |
Путь к SSH-ключу |
Инструменты
| Инструмент | Параметры | Описание | Команда на сервере |
|---|---|---|---|
docker_logs |
project (обяз.), service (all), tail (500), errors_only (true), max_length (300) |
Последние строки логов Docker-сервиса. По умолчанию показывает только WARNING/ERROR/CRITICAL, строки обрезаны до 300 символов — экономит токены | cd $PROJECT_DIR && docker compose logs --tail=N --no-color SERVICE |
docker_ps |
project (обяз.) |
Статус всех Docker-контейнеров проекта | cd $PROJECT_DIR && docker compose ps --format json |
docker_stats |
project (обяз.) |
Потребление CPU и RAM контейнерами | cd $PROJECT_DIR && docker stats --no-stream --no-trunc --format json |
server_info |
project (обяз.) |
Общая информация о VPS: uptime, диск (df -h /), память (free -h), статус контейнеров |
uptime && df -h / && free -h && cd $PROJECT_DIR && docker compose ps |
docker_grep |
project (обяз.), pattern (обяз.), service (all), tail (500), context (0), ignore_case (false) |
Поиск по логам с grep -E. Экономичнее docker_logs для прицельного поиска — возвращает только строки с совпадением |
cd $PROJECT_DIR && docker compose logs --tail=N --no-color SERVICE | grep -E [flags] 'PATTERN' |