SnapDeploy MCP

resmi

Terapkan 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 with dan set_env.
  • Pantau deployment — Periksa status deployment, lihat log, dan daftarkan deployment terbaru dengan get_status, get_logs, dan get_deployments.
  • Kontrol kontainer — Mulai, hentikan, atau bangunkan kontainer sesuai permintaan menggunakan start_container, stop_container, dan wake_container.
  • Sediakan sumber daya — Buat database terkelola atau lampirkan domain kustom ke aplikasi dengan create_database dan add_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

  1. Masuk di snapdeploy.dev, buka API Keys dan buat token dengan scope deploy (halaman tersebut menghasilkan cuplikan di bawah dengan token Anda sudah terisi).
  2. 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

ScopeAlat
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

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

VariabelWajibArti
SNAPDEPLOY_API_KEYyaToken dengan scope (sd_pat_…) atau kunci API lama
SNAPDEPLOY_READ_ONLYtidak1 hanya mengekspos alat baca
SNAPDEPLOY_BASE_URLtidakDefault ke https://snapdeploy.dev

Tautan

MIT © AAR Labs