Перейти к содержимому
Все инструменты

run_terminal_command

Диагностика и система · macOS · Windows

Эффект: выполнение. Статус: условно доступен.

«Условная доступность» означает, что инструмент может зависеть от версии, платформы, разрешений, учётной записи или настроек. Он доступен не во всех установках.

macOS

Назначение

Выполняет команду оболочки на Mac пользователя и возвращает её вывод. Всегда активен. Отключён, когда LMCP находится в режиме только чтения. Три вида команд отклоняются, потому что их нельзя отменить: форматирование или перезапись диска (mkfs, newfs, fdisk, diskutil erase/partition, dd на дисковое устройство или с него), рекурсивное удаление системной папки, домашней папки пользователя или одной из его папок с данными (Documents, Desktop, Downloads, Library, Pictures, Movies, Music), всего содержимого непосредственно внутри одной из них либо цели или папки, которую текст команды не определяет однозначно (переменная, подстановка команды, cd внутри подоболочки), и fork-бомба. Команда, которая обращается к хранилищу учётных данных (связки ключей, закрытые ключи ~/.ssh, ~/.aws, ~/.config/gh, пароли браузеров, домашняя папка другого пользователя), записывает файл, который позже выполнит код (LaunchAgents, файлы запуска оболочки, папки ИИ-клиентов), управляет другим приложением через скрипт, открывает скрипт или приложение-терминал, управляет системной службой или питанием, передаёт скачанный скрипт в оболочку, пишет в файл устройства или рекурсивно меняет права на системном пути, НЕ отклоняется: предпросмотр и результат содержат предупреждение о том, что она делает. Перед подтверждением сообщите пользователю, что команда прочитает или изменит, если только он не просил именно этого. Предупреждения анализируют только текст команды, поэтому команда, скрывающая путь, предупреждения не получает. Команды выполняются в песочнице macOS, которая защищает только сам Local MCP: терминал не может открыть или изменить файлы самого Local MCP по их пути (его настройки и токен, бинарные файлы, журнал активности, сеансы мессенджеров и веб, элемент автозапуска), не может обращаться к его сокету и не может открыть файлы аккаунта, у которого пользователь отключил блок Read или Write. Никакая настройка этого не снимает. Из-за этой песочницы не запускаются setuid-программы системы, кроме ps и top (sudo, su, crontab, at, traceroute): предупреждение сообщает об этом до запуска команды, а команда `log` не запускается. Внутри песочницы SwiftPM требует --disable-sandbox. Деструктивно: сначала показывает команду в предпросмотре — передайте confirm:true, чтобы действительно её выполнить. Вывод и время выполнения ограничены.

Обязательные входные данные

Имена сохранены в точности как их требует инструмент. Канонические технические определения на английском находятся в раскрываемой схеме ниже.

Разрешения и подтверждение

Схема объявляет явный параметр подтверждения. Проверьте предварительный результат и разрешите реальную операцию согласно контракту платформы.

Каноническая техническая схема на английском — macOS
{
  "properties": {
    "command": {
      "description": "The shell command to run (a single command line, executed with /bin/zsh -lc).",
      "type": "string"
    },
    "confirm": {
      "description": "Must be true to actually run. Without it, a preview of the command is returned.",
      "type": "boolean"
    },
    "timeout_seconds": {
      "description": "Max seconds to run before it is terminated (default 20, max 60).",
      "type": "integer"
    },
    "working_dir": {
      "description": "Optional absolute working directory. Defaults to the user's home directory.",
      "type": "string"
    }
  },
  "required": [
    "command"
  ],
  "type": "object"
}

Пример для документации

Пример документации для run_terminal_command. Не выполняйте этот пример. Показанные аргументы относятся к вымышленному набору данных; перед реальным вызовом найдите настоящие идентификаторы и получите разрешение.

{
  "command": "echo Hello from LMCP",
  "confirm": false
}

Windows

Назначение

Выполняет команду оболочки на компьютере пользователя. Некоторые системные команды (sudo/повышение привилегий, рекурсивное удаление системных или домашних путей, форматирование диска, выключение/перезагрузка, передача скачанного скрипта в оболочку, fork-бомбы) отклоняются. Деструктивно: сначала показывает команду в предпросмотре — передайте confirm:true, чтобы действительно её выполнить. Вывод и время выполнения ограничены. В Windows команда выполняется через `cmd /c`, в остальных системах — через `sh -c`.

Обязательные входные данные

Имена сохранены в точности как их требует инструмент. Канонические технические определения на английском находятся в раскрываемой схеме ниже.

Разрешения и подтверждение

Схема объявляет явный параметр подтверждения. Проверьте предварительный результат и разрешите реальную операцию согласно контракту платформы.

Каноническая техническая схема на английском — Windows
{
  "properties": {
    "command": {
      "description": "The shell command to run (a single command line).",
      "type": "string"
    },
    "confirm": {
      "description": "Must be true to actually run. Without it, a preview of the command is returned.",
      "type": "boolean"
    },
    "timeout_seconds": {
      "description": "Max seconds to run before it is terminated (default 30, max 60).",
      "type": "integer"
    },
    "working_dir": {
      "description": "Optional absolute working directory. Defaults to the user's home directory.",
      "type": "string"
    }
  },
  "required": [
    "command"
  ],
  "type": "object"
}

Пример для документации

Пример документации для run_terminal_command. Не выполняйте этот пример. Показанные аргументы относятся к вымышленному набору данных; перед реальным вызовом найдите настоящие идентификаторы и получите разрешение.

{
  "command": "echo Hello from LMCP",
  "confirm": false
}