# Безопасный доступ агента к серверам
Чтобы агент мог разбирать аварии, ему нужен доступ к серверам. Дать его страшно: одна команда с неверным путём — и вместо диагностики получится происшествие.
Мы сделали MCP-сервер, через который агент работает с серверами по SSH.
## Как устроено
**Постоянная сессия.** Соединение с сервером держится живым между командами — не нужно подключаться заново на каждый шаг, сохраняется рабочий каталог и контекст.
**Реквизиты из окружения.** Ключи и адреса берутся из настроек пользователя, агенту они не показываются.
**Проверка до отправки.** Каждая команда разбирается перед выполнением. Разрушающие блокируются — не по списку запрещённых слов, а разбором самой команды: что она делает и с чем.
**Запуск на машине пользователя.** Сервис не разворачивается в кластере и не смотрит наружу. Он живёт процессом рядом с агентом и общается с ним напрямую.
## Почему не просто дать ключ
Агент ошибается иначе, чем человек: он может уверенно выполнить синтаксически верную команду с катастрофическим смыслом. Список «нельзя» в подсказке не помогает — подсказку можно обойти случайным стечением формулировок. Проверка на уровне инструмента работает независимо от того, что агент себе придумал.
Тот же принцип действует уровнем выше: у нашего дежурного агента запрет на снос данных, разрушение инфраструктуры и правку сетевых правил зашит в сам сервис, а не в инструкцию.
## Что это даёт
Агенту можно доверить реальную работу на серверах: команда разбирается до отправки, разрушающие операции не проходят, а всё выполненное остаётся в журнале сессии. Это не гарантия от любой ошибки — это граница, за которой ошибка перестаёт быть необратимой. btop
No problems have been detected in the workspace.
No forwarded ports. Forward a port to access your locally running services over the internet.