5.0 KiB
5.0 KiB
Эксплуатация
omnichannel-configserver-mcp работает в плоскости управления: он видит статусы,
конфигурацию, задачи и историю, но не заглядывает внутрь контейнеров. Это
разделение осознанное — так сервер остаётся безопасным и предсказуемым.
Что можно, а что нет
| Задача | Инструменты этого сервера | Вне него |
|---|---|---|
| Статусы сервисов и хостов | overview, list_applications, service_map |
— |
| Аудит и разбор задач | list_tasks, get_task, deployment_tasks |
— |
| Конфигурация compose/env, версии, откат | get_application, get_config, env_files, compose_version, env_versions, restore_compose, restore_env_version |
— |
| Жизненный цикл сервиса | deploy, restart, down, migrate |
— |
| Развёртывание релиза | save_deployment_files, seed_hosts, fill_vars, download_release, release_job, start_services |
— |
| Логи контейнеров | — | отдельный MCP-сервер SSH/docker logs |
| Ресурсы (CPU/RAM/диск) | — | мониторинг (SSH, Zabbix, Prometheus) |
| Данные в БД | — | отдельный MCP-сервер для БД |
| HTTP-проверки сервисов | — | отдельный MCP-сервер для HTTP/веб |
Иными словами: этим сервером удобно отвечать на «что и с какой конфигурацией развёрнуто и что сломалось при деплое», а диагностику рантайма подключайте дополнительными MCP-серверами.
Типовые сценарии
«Что сейчас на стенде?»
«Покажи сводку по стенду prod.»
overview вернёт health, статистику, сервисы не в статусе OK и последние
упавшие задачи — это самый быстрый «снимок».
«Почему упал деплой?»
list_tasks {status:"failed", limit:20}— найти задачу.get_task {task_id}— прочитатьoutput(stdout/stderr). По умолчанию оставляется хвост вывода, где обычно и причина; при необходимости увеличитьoutput_bytes.- При необходимости сравнить конфиг:
get_application {app_id}.
«Сервис не поднялся / зависает»
get_application {app_id}— статус, текущий compose/env, журнал миграций.list_tasks {host_ip, task_type}— история операций по хосту.- Повторить контролируемо:
restart {app_id, wait:true}и сноваget_task. - Если внутри сервиса — переключиться на SSH-инструменты (логи).
«Нужно поправить конфигурацию»
get_config {app_id}/get_application {app_id}— текущее.set_env/set_compose— изменить (создаётся версия).deployилиrestart— применить на хосте.- Проверить
get_task/overview. При неудаче — откат (restore_*).
«Проверить релиз»
release_job— статус фоновой выгрузки (фаза, прогресс образов).deployment_tasks— последние sync/start-задачи.ip_match— корректно ли сопоставлены хосты и агенты.
«Обслуживание»
stats— сколько версий и логов накопилось.cleanup_old_versions {days:180, confirm:true}— удалить устаревшие версии (текущие не трогаются).
Полезные фильтры
list_tasksограничивает выборку (limit≤ 500) и фильтрует поhost_ip,status,task_type.list_applications {include_presence:true}включает служебные записи хостов (хост без развёрнутых сервисов).
Ограничения и защита
- Длинные выводы обрезаются (
max_output_bytes), чтобы не переполнить контекст ассистента. - Ожидание задач (
wait) ограниченоtask_poll_max_sec; если задача не успела — вернётся её текущее состояние, а не ошибка. - Мутации сериализуются на сервер (
max_concurrent_mutations) — параллельныеrestartне наложатся друг на друга.