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
withandset_env. - Monitor deployments — Check deployment status, view logs, and list recent deployments with
get_status,get_logs, andget_deployments. - Control containers — Start, stop, or wake a container on demand using
start_container,stop_container, andwake_container. - Provision resources — Create a managed database or attach a custom domain to an app with
create_databaseandadd_domain.
Документация
@snapdeploy/mcp
Развертывайте и управляйте контейнерами SnapDeploy прямо из вашего ИИ-ассистента — Claude Code, Claude Desktop, Cursor, Windsurf, Codex CLI, Gemini CLI или любого клиента, поддерживающего Model Context Protocol через stdio.
Скажите «разверни этот репозиторий на SnapDeploy» — и получите живую ссылку. Сборки, логи, переменные окружения, управляемые базы данных и собственные домены — не выходя из чата.
Настройка
- Войдите на snapdeploy.dev, откройте API Keys и создайте
токен с областью
deploy(страница сгенерирует сниппеты ниже с уже заполненным токеном). - Добавьте сервер в ваш клиент:
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 (коннектор вернет ссылку, если подключения нет).
Инструменты
| Область | Инструменты |
|---|---|
read | list_apps get_status get_logs get_deployments check_quota list_repos detect_env_vars |
deploy | deploy deploy_image set_env start_container stop_container wake_container |
manage | create_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 |
Ссылки
- Руководства: Claude Code · Cursor · Codex / Gemini CLI · Экспорт из Lovable
- Справочник: snapdeploy.dev/docs/mcp · API
- Статья о дизайне: почему агент, который может развертывать, не должен уметь удалять
MIT © AAR Labs