purple SSH MCP

MCP-сервер из SSH-менеджера purple: агент читает хосты из ~/.ssh/config и контейнеры на них, а команды и управление контейнерами включаются отдельно

  • 761 ★ репозитория
  • Последний коммит
  • MIT
MCP-серверОфициальный

Широкий доступ

Почему такой уровень

  • Без `--read-only` агент выполняет команды на ваших серверах по SSH и останавливает или перезапускает контейнеры
  • Использует ваши SSH-ключи и конфигурацию из `~/.ssh`, поэтому доступ ограничен лишь правами этих ключей
  • В режиме чтения агент видит адреса, пользователей и состав контейнеров всех хостов из конфига
Все причины и проверки

erickochen/purple

Установка

Ручная установка

curl -fsSL getpurple.sh | sh

Установка одним скриптом. Есть и другие способы: `brew install erickochen/purple/purple` и `cargo install purple-ssh`.

Доступ и проверки

Как мы проверяем

Широкий доступИнструмент может менять данные, выполнять команды или работать с секретами.

  • Без `--read-only` агент выполняет команды на ваших серверах по SSH и останавливает или перезапускает контейнеры
  • Использует ваши SSH-ключи и конфигурацию из `~/.ssh`, поэтому доступ ограничен лишь правами этих ключей
  • В режиме чтения агент видит адреса, пользователей и состав контейнеров всех хостов из конфига

Это чужой код. Посмотрите файлы в репозитории перед установкой.

Что делает

purple — терминальный менеджер SSH на Rust для macOS и Linux, а команда `purple mcp` запускает его как MCP-сервер для Claude Code, Cursor и других клиентов. Агент получает пять инструментов. `list_hosts` и `get_host` отдают записи из `~/.ssh/config`: алиас, адрес, пользователя, порт, файлы ключей, ProxyJump и теги. `list_containers` по SSH показывает контейнеры Docker или Podman на выбранном хосте, среду запуска сервер определяет сам. `run_command` выполняет команду оболочки на хосте без интерактивного ввода, таймаут по умолчанию 30 секунд, максимум 300. `container_action` запускает, останавливает или перезапускает контейнер. Флаг `--read-only` оставляет только первые три инструмента: два других запрещены и пропадают из списка, который клиент получает от сервера. Каждый вызов, в том числе отклоненный, дописывается в журнал `~/.purple/mcp-audit.log` в формате JSON Lines: время, инструмент, аргументы, исход и причина. Текст команды из `run_command` в журнал не попадает, вместо него стоит пометка. Путь журнала меняет `--audit-log`, отключает `--no-audit`. Тот же двоичный файл служит и самим менеджером: поиск по сотням хостов, синхронизация с 18 облачными провайдерами, туннели, передача файлов и подписанные сертификаты HashiCorp Vault. Для Claude Desktop есть готовый пакет `.mcpb` в релизах, он ставится двойным щелчком и работает только на чтение.

Для кого. Для администраторов и разработчиков, у которых серверы описаны в `~/.ssh/config` и которые хотят дать Claude Code или Cursor обзор хостов и контейнеров без доступа к командной строке серверов.

Подходит, если

  • Нужно спросить агента, какие серверы описаны в SSH-конфиге и какие теги у них стоят
  • Нужно узнать, какие контейнеры Docker или Podman работают на удаленном хосте, не заходя на него
  • Вы хотите дать агенту доступ к серверам только на чтение, с журналом каждого вызова
  • Список хостов вы уже ведете в purple и синхронизируете с AWS, Hetzner, Proxmox или другим облаком
  • Claude Desktop должен видеть ваши серверы после установки одного файла `.mcpb`

Не подходит, если

  • Вы работаете на Windows: purple собран для macOS и Linux
  • Хосты не описаны в `~/.ssh/config`: сервер работает только с алиасами оттуда
  • Нужна передача файлов агентом: в MCP-части такого инструмента нет, для SFTP есть отдельный сервер SSH MCP Server (classfang)
  • Вам нужен интерактивный доступ с вводом пароля: `run_command` выполняется без запросов и без интерактивных программ

Пример запроса к агенту

Покажи все хосты с тегом `prod` из моего SSH-конфига и перечисли контейнеры, которые работают на `web-1`

MCP

Транспорт
stdio
Авторизация
не нужна

Ограничения

  • Работает на macOS и Linux, сборок для Windows нет.
  • Без флага `--read-only` агент получает `run_command` и `container_action`, то есть может выполнять команды и менять состояние контейнеров на любом хосте из конфига. Пакет `.mcpb` для Claude Desktop этого не позволяет, для команд нужна ручная настройка клиента.
  • `list_containers` и `container_action` работают, только если на целевом хосте установлен Docker или Podman.
  • Сервер обрабатывает вызовы по одному, поэтому долгая команда задерживает следующие.
  • Токены облачных провайдеров purple хранит в `~/.purple/providers/*.toml` открытым текстом, журнал `mcp-audit.log` закрыт правами 0600.

Как отключить. Уберите запись purple из настроек MCP вашего клиента. Для пакета Claude Desktop удалите расширение в настройках приложения. Сам менеджер удаляется тем способом, которым вы его ставили, например `brew uninstall purple`. Каталог `~/.purple` с журналом и токенами облаков удалите вручную.

Частые вопросы

Как подключить MCP-сервер purple к Claude Code или Cursor?

Добавьте в настройки MCP сервер с командой `purple` и аргументами `mcp --read-only`. Тогда клиент увидит `list_hosts`, `get_host` и `list_containers`. Без `--read-only` добавятся `run_command` и `container_action`.

Что агент может делать в режиме только чтения?

Читать список хостов и подробности по алиасу из SSH-конфига и смотреть контейнеры на удаленном хосте. Вызов `run_command` или `container_action` сервер отклоняет и записывает отказ в журнал с пометкой о режиме только чтения.

Как проверить, что агент делал на моих серверах?

Откройте `~/.purple/mcp-audit.log`: каждая строка — отдельный вызов с временем, инструментом, аргументами, исходом и причиной отказа. У `run_command` вместо аргументов стоит пометка, чтобы пароли из командной строки не оседали на диске.

Можно ли установить purple для Claude Desktop одним файлом?

Да. Скачайте пакет `.mcpb` из последнего релиза и откройте его двойным щелчком. Расширение работает только на чтение и дает те же три инструмента: `list_hosts`, `get_host` и `list_containers`.

Сколько работает команда, которую агент запускает через run_command?

По умолчанию 30 секунд. Агент может передать параметр `timeout` от 1 до 300 секунд, большее значение сервер обрежет. Интерактивные программы не подходят: команда запускается в режиме BatchMode.

Откуда purple берет список серверов?

Из `~/.ssh/config`, который он правит с сохранением комментариев и форматирования. Команда `purple sync` подтягивает хосты у облачных провайдеров, в том числе AWS, GCP, Azure, Hetzner, Proxmox и OCI.

Обсуждение

Вопросов и отзывов пока нет.

MCP-серверы

MCP SSH Manager

mcp-ssh-manager

Управление несколькими SSH-подключениями из Claude Code и Codex: команды, перенос файлов, базы данных и бэкапы. Стабильная ветка в npm, в GitHub бета 4.0

MCP-серверШирокий доступ527Звезды репозитория

SSH MCP

ssh-mcp

SSH-сервер с упором на безопасность: классификация команд, авторизация по политикам и разные способы входа. Выполняет команды на удаленных серверах

MCP-серверШирокий доступ840Звезды репозитория

MCP-сервер для SSH: агент выполняет команды, читает и пишет файлы по SFTP, передает файлы и запускает долгие задачи, а пароли остаются у вас

MCP-серверШирокий доступ988Звезды репозитория

Самостоятельно размещаемый MCP-сервер для выполнения команд на удаленных серверах по SSH с токенами и ролями

MCP-серверШирокий доступ2Звезды репозитория

Прокси между транспортами MCP: подключает stdio-клиентов к удаленным SSE и HTTP серверам и публикует локальные серверы по сети

MCP-серверРасширенный доступ2,8 тыс.Звезды репозитория

Сравнение с похожими

Записи с тем же главным запросом: чем они отличаются.

ЗаписьОфициальныйАвторизацияЗвезды репозиторияГлавное отличие
purple SSH (эта запись)дане нужна761
MCP SSH ManagerнетAPI-ключ527управляет несколькими SSH-подключениями из Claude Code и Codex: команды, перенос файлов, базы данных и бэкапы
SSH MCP Server (classfang) — команды на сервере по SSHнетне нужна988выполняет команды, читает и пишет файлы по SFTP, пароли остаются у пользователя

Коротко о README

В репозитории лежат исходники на Rust с тестами, фаззингом разбора SSH-конфига и сборкой для Nix и AUR, а также PRIVACY.md с перечнем сетевых обращений и SECURITY.md. Манифест пакета `.mcpb` перечисляет три инструмента для Claude Desktop. Файл `llms.txt` описывает возможности менеджера для моделей, а журнал изменений ведется по версиям. Лицензия MIT.

Бейдж для README

Сообщить о проблеме

Foxx AIpurple SSH
Foxx AI

Я Foxx AI и уже разобрал этот инструмент. Спросите про установку, настройку или что угодно еще, отвечу простыми словами.