SnapDeploy MCP

официальный

Развертывание и управление приложениями SnapDeploy (Docker-контейнеры на AWS) из Claude Code, Cursor, Codex или Gemini CLI: сборки, логи, переменные окружения, дополнения, домены.

Что можно делать с SnapDeploy MCP?

  • Deploy from GitHub — Ask to deploy a connected GitHub repository and get a live URL back via deploy.
  • Manage environment variables — Set or update env vars for an app without exposing secret values, using with and set_env.
  • Monitor deployments — Check deployment status, view logs, and list recent deployments with get_status, get_logs, and get_deployments.
  • Control containers — Start, stop, or wake a container on demand using start_container, stop_container, and wake_container.
  • Provision resources — Create a managed database or attach a custom domain to an app with create_database and add_domain.

Документация

@snapdeploy/mcp

Развертывайте и управляйте контейнерами SnapDeploy прямо из вашего ИИ-ассистента — Claude Code, Claude Desktop, Cursor, Windsurf, Codex CLI, Gemini CLI или любого клиента, поддерживающего Model Context Protocol через stdio.

Скажите «разверни этот репозиторий на SnapDeploy» — и получите живую ссылку. Сборки, логи, переменные окружения, управляемые базы данных и собственные домены — не выходя из чата.

Настройка

  1. Войдите на snapdeploy.dev, откройте API Keys и создайте токен с областью deploy (страница сгенерирует сниппеты ниже с уже заполненным токеном).
  2. Добавьте сервер в ваш клиент:

Claude Code

claude mcp add --scope user snapdeploy -e SNAPDEPLOY_API_KEY=sd_pat_your_token -- npx -y @snapdeploy/mcp

Cursor (~/.cursor/mcp.json), Windsurf (~/.codeium/windsurf/mcp_config.json), Gemini CLI (~/.gemini/settings.json), Claude Desktop и другие клиенты с JSON-конфигурацией:

{
  "mcpServers": {
    "snapdeploy": {
      "command": "npx",
      "args": ["-y", "@snapdeploy/mcp"],
      "env": { "SNAPDEPLOY_API_KEY": "sd_pat_your_token" }
    }
  }
}

Codex CLI (~/.codex/config.toml):

[mcp_servers.snapdeploy]
command = "npx"
args = ["-y", "@snapdeploy/mcp"]
env = { SNAPDEPLOY_API_KEY = "sd_pat_your_token" }

Плагин Claude Code (токен хранится в защищенном хранилище, а не в конфигурационном файле):

/plugin marketplace add AAR-Labs/snapdeploy-mcp
/plugin install snapdeploy@snapdeploy

Перезапустите сессию — появятся инструменты snapdeploy. Ваш репозиторий должен быть на GitHub, и GitHub должен быть один раз подключен к SnapDeploy (коннектор вернет ссылку, если подключения нет).

Инструменты

ОбластьИнструменты
readlist_apps get_status get_logs get_deployments check_quota list_repos detect_env_vars
deploydeploy deploy_image set_env start_container stop_container wake_container
managecreate_database add_domain assign_always_on

Области вложены (read ⊂ deploy ⊂ manage); сервер проверяет их до запуска любого инструмента. Инструмента удаления нет, и сервер отклоняет удаления, отмены подписок и смену паролей для любого токена — для этого нужен человек, вошедший в панель управления или мобильное приложение.

Готовые образы. deploy собирает из подключенного GitHub-репозитория; инструмента для образов нет. Чтобы запустить публичный Docker-образ, используйте панель управления (Deploy Your Application → Docker Image) или POST /api/mobile/containers с name, image, imageTag, port, затем POST /api/mobile/containers/{containerId}/start. Образы должны поступать из Docker Hub, ghcr.io, quay.io или public.ecr.aws, публиковаться для linux/amd64 или linux/arm64 и проходить проверку политики SnapDeploy при создании; ответ 400 Security policy violation окончателен, повторять его нельзя. Полные правила: https://snapdeploy.dev/llms-full.md

Модель безопасности

  • Ничего деструктивного, никогда. Даже агент, который переходит к прямому вызову API с тем же токеном, получит 403 INTERACTIVE_SESSION_REQUIRED.
  • Секреты никогда не попадают к модели. Значения переменных окружения возвращаются как (set), а учетные данные маскируются — на сервере, а не только в этом коннекторе.
  • Ограниченные, истекающие, отзываемые токены с собственным лимитом запросов. Отзовите токен на странице API Keys — и каждый запрос с этого момента вернет 401.
  • Безопасные для повтора развертывания. Идентичные запросы в течение десяти минут возвращают исходное развертывание вместо запуска новой сборки.
  • Лимиты плана передаются, но не повторяются. Ответы 402/429 содержат собственное сообщение SnapDeploy и ссылку на апгрейд, а ассистенту указано не повторять запрос.

Переменные окружения

ПеременнаяОбязательнаяЗначение
SNAPDEPLOY_API_KEYдаОграниченный токен (sd_pat_…) или устаревший API-ключ
SNAPDEPLOY_READ_ONLYнет1 открывает только инструменты чтения
SNAPDEPLOY_BASE_URLнетПо умолчанию — https://snapdeploy.dev

Ссылки

MIT © AAR Labs