MCP: подключение и ограничения
MCP предоставляет доверенным AI-клиентам инструменты приложения. Это чувствительный доступ к терминалам и данным, а не только справочный чат. Внутренние имена вроде list_electerm_tabs сохранены для совместимости.
Локальный клиент
- Запустите приложение и откройте Widgets → MCP Server; проверьте состояние сервера.
- В source-конфигурации по умолчанию используются loopback, порт 30837 и путь
/mcp. Приоритет имеет фактически показанный URL. - В MCP-клиенте выберите Streamable HTTP, укажите URL и заголовок
Authorization: Bearer <токен>через защищённое хранилище клиента, не аргументы запуска. - Локальный токен в managed admin-режиме скрыт от renderer/UI. Только уполномоченный локальный администратор предоставляет его доверенному клиенту из защищённого
admin-mcp-token; ключ не публикуется и не копируется в issue. - Выполните MCP initialize и
tools/list, затем read-only вызовlist_electerm_tabs. Обычный GET адреса без MCP session ID не проверяет исправность протокола.
Не отключайте аутентификацию и не выставляйте локальный listener наружу. Ошибка чтения/создания токена должна остановить сервер, а не включить anonymous-доступ.
Удалённый клиент
В Managed devices используйте MCP access: панель выдаёт URL и отдельный временный Bearer-токен для /mcp. Нужны approved/online устройство и готовый локальный MCP-виджет. Локальный ключ подставляет адаптер; management-токен для MCP не подходит.
Грант живёт не более часа и разрешает GET/POST/DELETE для MCP, не UI/API/WebSocket. Истечение и Revoke закрывают активные потоки; перезапуск gateway требует нового гранта.
Границы
Состав tools/list зависит от включённых возможностей и готовности renderer. Команды могут менять данные; blacklist не заменяет изоляцию и доверие к клиенту. Начинайте с минимальных прав.
execute_electerm_command возвращает структурированный результат; проверяйте exitCode, timedOut, truncated. В локальном PowerShell PTY неинтерактивная команда работает в дочернем PowerShell без профилей и не наследует функции/переменные интерактивного сеанса. Tasks с wait=false требуют совместимого клиента; это не обещание бессрочного фонового задания.
Пароль/состояние headless workspace и браузерный вход — отдельные проверки. Admin/user описывает точные границы.
AI · Безопасность · Главная