SnapDeploy MCP
resmiTerapkan dan kelola aplikasi SnapDeploy (kontainer Docker di AWS) dari Claude Code, Cursor, Codex, atau Gemini CLI: build, log, variabel lingkungan, add-on, domain.
Apa yang bisa Anda lakukan dengan SnapDeploy MCP?
- Deploy dari GitHub — Minta untuk men-deploy repositori GitHub yang terhubung dan dapatkan URL langsung melalui
deploy. - Kelola variabel lingkungan — Atur atau perbarui variabel env untuk aplikasi tanpa mengekspos nilai rahasia, menggunakan
withdanset_env. - Pantau deployment — Periksa status deployment, lihat log, dan daftarkan deployment terbaru dengan
get_status,get_logs, danget_deployments. - Kontrol kontainer — Mulai, hentikan, atau bangunkan kontainer sesuai permintaan menggunakan
start_container,stop_container, danwake_container. - Sediakan sumber daya — Buat database terkelola atau lampirkan domain kustom ke aplikasi dengan
create_databasedanadd_domain.
Dokumentasi
@snapdeploy/mcp
Deploy dan kelola kontainer SnapDeploy dari asisten AI Anda — Claude Code, Claude Desktop, Cursor, Windsurf, Codex CLI, Gemini CLI, atau klien apa pun yang mendukung Model Context Protocol melalui stdio.
Katakan "deploy repo ini ke SnapDeploy" dan dapatkan URL langsung. Build, log, variabel lingkungan, database terkelola, dan domain kustom — tanpa meninggalkan chat.
Setup
- Masuk di snapdeploy.dev, buka API Keys dan buat
token dengan scope
deploy(halaman tersebut menghasilkan cuplikan di bawah dengan token Anda sudah terisi). - Tambahkan server ke klien Anda:
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, dan klien lain yang dikonfigurasi 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" }
Plugin Claude Code (token disimpan di penyimpanan aman, bukan di file konfigurasi):
/plugin marketplace add AAR-Labs/snapdeploy-mcp
/plugin install snapdeploy@snapdeploy
Mulai ulang sesi; alat snapdeploy akan muncul. Repositori Anda harus berada di GitHub dan
GitHub harus terhubung ke SnapDeploy satu kali (konektor akan mengembalikan tautan jika belum terhubung).
Alat
| Scope | Alat |
|---|---|
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 |
Scope bersarang (read ⊂ deploy ⊂ manage); server memberlakukannya sebelum alat apa pun dijalankan.
Tidak ada alat hapus, dan server menolak penghapusan, pembatalan langganan, dan
perubahan kata sandi untuk setiap token — hal-hal tersebut memerlukan orang yang masuk ke dasbor atau
aplikasi seluler.
Gambar bawaan. deploy melakukan build dari repositori GitHub yang terhubung; tidak ada alat gambar. Untuk menjalankan gambar Docker publik, gunakan dasbor (Deploy Your Application → Docker Image) atau POST /api/mobile/containers dengan name, image, imageTag, port, lalu POST /api/mobile/containers/{containerId}/start. Gambar harus berasal dari Docker Hub, ghcr.io, quay.io, atau public.ecr.aws, mempublikasikan linux/amd64 atau linux/arm64, dan lulus pemeriksaan kebijakan saat pembuatan SnapDeploy; 400 Security policy violation bersifat final dan tidak boleh dicoba ulang. Aturan lengkap: https://snapdeploy.dev/llms-full.md
Model keamanan
- Tidak ada yang destruktif, selamanya. Bahkan agen yang meningkat ke panggilan API mentah dengan
token yang sama akan mendapatkan
403 INTERACTIVE_SESSION_REQUIRED. - Rahasia tidak pernah sampai ke model. Nilai variabel lingkungan kembali sebagai
(set)dan kredensial ditutupi — di server, bukan hanya di konektor ini. - Token dengan scope, kedaluwarsa, dan dapat dicabut dengan batas kecepatan sendiri. Cabut di halaman API Keys dan setiap permintaan akan mengembalikan 401 sejak saat itu.
- Deploy aman untuk percobaan ulang. Permintaan identik dalam sepuluh menit mengembalikan deployment asli, bukan memulai build lain.
- Batas paket diteruskan, bukan dicoba ulang. Balasan 402/429 membawa pesan SnapDeploy sendiri dan tautan peningkatan, dan asisten diberi tahu untuk tidak mencoba ulang.
Variabel lingkungan
| Variabel | Wajib | Arti |
|---|---|---|
SNAPDEPLOY_API_KEY | ya | Token dengan scope (sd_pat_…) atau kunci API lama |
SNAPDEPLOY_READ_ONLY | tidak | 1 hanya mengekspos alat baca |
SNAPDEPLOY_BASE_URL | tidak | Default ke https://snapdeploy.dev |
Tautan
- Panduan: Claude Code · Cursor · Codex / Gemini CLI · Ekspor Lovable
- Referensi: snapdeploy.dev/docs/mcp · API
- Tulisan desain: mengapa agen yang dapat deploy tidak boleh dapat menghapus
MIT © AAR Labs