Документация
Всё что нужно для старта с mttrly.
Руководство по быстрому старту
Запусти mttrly на сервере за 2 минуты.
Шаг 1: Подключи мессенджер
Выберите мессенджер (Telegram, Slack или Discord) и подключитесь. Получите API-токен.
Шаг 2: Установи агента
Подключись к серверу по SSH и выполни команду установки. Агент — лёгкий Go-бинарник (~10MB) без зависимостей.
Шаг 3: Проверь подключение
Отправь /status в мессенджер. Через пару секунд увидишь метрики здоровья сервера.
Справочник по командам
Полный список доступных команд и их опций.
$ /statusПоказать здоровье сервера: CPU, RAM, диск и запущенные сервисы.
Options:
-vПодробный вывод со списком процессов-jВывод в формате JSON
Example:
$ /logsПросмотр логов приложения в реальном времени или поиск по истории.
Options:
<service>Имя сервиса (nginx, app и т.д.)-n <lines>Количество строк (по умолчанию: 50)-fСледить за логами в реальном времени--errorsПоказать только ошибки
Example:
$ /restartПерезапустить сервис. Требует подтверждения для безопасности.
Options:
<service>Имя сервиса для перезапуска--forceПропустить подтверждение (осторожно)
Example:
$ /deployПодтянуть последний код и перезапустить приложение.
Options:
<app>Имя приложения--branch <name>Git-ветка (по умолчанию: main)
Example:
$ /runВыполнить кастомный playbook.
Options:
<playbook>Имя playbook
Example:
Настройка
Настрой поведение mttrly через конфиг-файл.
Config file location: /etc/mttrly/config.yaml
servicesСписок сервисов, которыми может управлять агент
services: - nginx - myapp - redis
playbooksКастомные скрипты для запуска через /run
playbooks:
cleanup-logs:
script: /opt/scripts/cleanup.sh
confirm: truealertsАвтоматические алерты при высоком потреблении ресурсов
alerts: cpu_threshold: 80 memory_threshold: 90 disk_threshold: 85
Модель безопасности
Безопасность встроена в архитектуру mttrly.
Только исходящие соединения
Агент подключается к нашим серверам через WebSocket. Входящие порты не нужны. Файрвол остаётся закрытым.
Подтверждение опасных действий
Команды типа restart, deploy и кастомные скрипты требуют явного подтверждения кнопкой. Никаких случайных катастроф.
Ограниченные права
Агент работает от выделенного пользователя с минимальными привилегиями. Предоставляй sudo только для нужных команд.
Сквозное шифрование
Всё общение между сервером и Telegram зашифровано. Логи и чувствительные данные не хранятся.
Ротация токенов
Перегенерируй API-токен в любое время при подозрении на компрометацию. Старые токены мгновенно инвалидируются.
Решение проблем
Частые проблемы и их решения.
Агент не подключается
- →Проверь, разрешены ли исходящие WebSocket-соединения (порт 443)
- →Убедись, что API-токен правильный
- →Проверь логи агента: journalctl -u mttrly
Команды зависают
- →Возможно, сервер под высокой нагрузкой
- →Проверь сетевое подключение
- →Перезапусти агента: systemctl restart mttrly
Ошибки доступа
- →Убедись, что пользователь mttrly имеет доступ к управляемому сервису
- →Добавь sudo-права для нужных команд в /etc/sudoers.d/mttrly
MCP-сервер
Подключение mttrly к AI-ассистентам кодинга через Model Context Protocol. Endpoint: https://api.mttrly.com/mcp
Подключение
MCP-сервер mttrly использует HTTP-транспорт с аутентификацией OAuth 2.1. Добавь его в клиент:
claude mcp add mttrly --transport http https://api.mttrly.com/mcp
OAuth-авторизация откроется в браузере автоматически.
{
"mcpServers": {
"mttrly": {
"url": "https://api.mttrly.com/mcp"
}
}
}Cursor → Settings → Cursor Settings → MCP → Add server.
{
"mcpServers": {
"mttrly": {
"url": "https://api.mttrly.com/mcp"
}
}
}Settings → Developer → Edit Config → claude_desktop_config.json.
[mcp_servers.mttrly] url = "https://api.mttrly.com/mcp"
Добавь в ~/.codex/config.toml. Запусти codex mcp login mttrly для OAuth.
Аутентификация
Поддерживаются два режима аутентификации:
OAuth 2.1 (рекомендуется)
Стандартный OAuth flow с PKCE S256. JWT-токены подписаны RS256. Issuer: https://app.mttrly.com. Audience: https://api.mttrly.com/mcp. MCP-клиенты обрабатывают это автоматически — ты просто подтверждаешь вход в браузере.
API Key
Bearer-токен с префиксом mtr_. Передавай как Authorization: Bearer mtr_your_key. Доступен в дашборде.
Неавторизованные запросы возвращают 401 с заголовком WWW-Authenticate, указывающим на OAuth discovery endpoint.
Справочник инструментов
35+ инструментов организованы по уровню доступа. Всегда вызывай mttrly_get_capabilities первым, чтобы проверить план и доступные инструменты.
Доступно на всех планах
mttrly_get_capabilitiesТекущий план, доступные инструменты, ограниченные инструменты и лимиты плана. Вызывай первым.
mttrly_list_serversСписок всех подключённых серверов со статусом (online/offline).
mttrly_get_server_statusДетальный статус сервера: CPU, RAM, диск и количество активных алертов.
mttrly_get_alertsАлерты (инциденты) сервера с фильтрацией по severity/status. Retention ограничен планом.
mttrly_run_diagnosticAI-диагностика сервера. Опиши проблему — система проведёт расследование. Кулдаун 30 секунд на сервер.
mttrly_list_playbooksСписок доступных плейбуков с категориями и требованиями подтверждения.
Требуется план Deployment Bro
mttrly_run_playbookВыполнить плейбук на сервере. Read-only плейбуки выполняются сразу. Опасные возвращают pending_approval — вызови mttrly_approve_action после подтверждения пользователя.
mttrly_execute_commandЗапрос на ограниченное выполнение команды на сервере. Если есть подходящий playbook, предпочитай mttrly_run_playbook. Требует подтверждения или явного investigation bypass, а выполнение записывается в audit log.
mttrly_get_pending_actionsСписок действий, ожидающих подтверждения.
mttrly_approve_actionПодтвердить или отклонить pending action. Вызывай только после явного подтверждения пользователя. Блокирует до завершения выполнения (до 60с).
mttrly_get_audit_logАудит-трейл сервера — подтверждения действий, выполнения команд, запуски плейбуков, авто-фиксы.
Workflow подтверждения
Деструктивные действия следуют двухэтапному паттерну:
Read-only плейбуки выполняются сразу без подтверждения. Явный investigation bypass ограничен областью действия и временем. Проверь поле requires_approval из mttrly_list_playbooks.
Коды ошибок
Все ошибки возвращают JSON-объект с code, message и suggested_action.
PLAN_REQUIREDИнструмент требует более высокий план. Ответ содержит URL для апгрейда.
→ Сообщи пользователю об ограничении плана и покажи ссылку на апгрейд.
SERVER_OFFLINEАгент на сервере не подключён.
→ Проверь, запущен ли агент на сервере.
SERVER_NOT_FOUNDНеверный server_id.
→ Вызови mttrly_list_servers чтобы увидеть доступные ID серверов.
DIAGNOSTIC_COOLDOWN30-секундный кулдаун диагностики на сервере не истёк.
→ Подожди окончания кулдауна перед повторным запросом.
DOCKER_NOT_AVAILABLEЗапрошен Docker-плейбук, но Docker не установлен на сервере.
→ Пропусти Docker-плейбуки или установи Docker на сервер.
ACTION_EXPIREDPending action превысил TTL 30 минут и был автоматически отменён.
→ Повтори исходную команду или плейбук для создания нового pending action.
RATE_LIMITEDAPI-ключ превысил лимит 60 запросов в минуту. Возвращает HTTP 429.
→ Подожди сброса окна rate limit (1 минута) и повтори.
VALIDATION_ERRORТело запроса не прошло валидацию (напр. пропущено обязательное поле, description свыше 2000 символов).
→ Проверь параметры запроса по схеме инструмента.
TIMEOUTЗапрос превысил таймаут (по умолчанию 60с).
→ Повтори запрос.
Лимиты
Лимиты планов
Конкретные ограничения ресурсов по планам, контролируемые API:
| Лимит | Watchdog (бесплатно) | Deployment Bro (3900₽/мес) | Deployment Crew (9900₽/мес) |
|---|---|---|---|
| Серверы | 1 | 3 | 9 |
| Строк логов за запрос | 50 | 500 | 500 |
| Retention алертов/логов | 7 дней | 30 дней | 30 дней |
| Scheduled checks | — | 5 | Без ограничений |
Матрица доступа по планам
| Инструмент | Watchdog (бесплатно) | Deployment Bro (3900₽/мес) | Deployment Crew (9900₽/мес) |
|---|---|---|---|
| mttrly_get_capabilities | ✓ | ✓ | ✓ |
| mttrly_list_servers | ✓ | ✓ | ✓ |
| mttrly_get_server_status | ✓ | ✓ | ✓ |
| mttrly_get_alerts | ✓ | ✓ | ✓ |
| mttrly_run_diagnostic | ✓ | ✓ | ✓ |
| mttrly_list_playbooks | ✓ | ✓ | ✓ |
| mttrly_run_playbook | — | ✓ | ✓ |
| mttrly_execute_command | — | ✓ | ✓ |
| mttrly_get_pending_actions | — | ✓ | ✓ |
| mttrly_approve_action | — | ✓ | ✓ |
| mttrly_get_audit_log | — | ✓ | ✓ |
* Deployment Crew имеет тот же набор MCP-инструментов, что и Deployment Bro, плюс: до 9 серверов сейчас; командный доступ и webhook-интеграции выкатываются поэтапно.