SnapDeploy MCP

officiel

Déployez et gérez les applications SnapDeploy (conteneurs Docker sur AWS) depuis Claude Code, Cursor, Codex ou Gemini CLI : builds, logs, variables d'environnement, add-ons, domaines.

Que pouvez-vous faire avec SnapDeploy MCP ?

  • Déployer depuis GitHub — Demandez le déploiement d’un dépôt GitHub connecté et recevez une URL en direct via deploy.
  • Gérer les variables d’environnement — Définissez ou mettez à jour les variables d’environnement d’une application sans exposer les valeurs secrètes, à l’aide de with et set_env.
  • Surveiller les déploiements — Vérifiez l’état du déploiement, consultez les journaux et listez les déploiements récents avec get_status, get_logs et get_deployments.
  • Contrôler les conteneurs — Démarrez, arrêtez ou réveillez un conteneur à la demande avec start_container, stop_container et wake_container.
  • Provisionner des ressources — Créez une base de données gérée ou associez un domaine personnalisé à une application avec create_database et add_domain.

Documentation

@snapdeploy/mcp

Déployez et gérez des conteneurs SnapDeploy depuis votre assistant IA — Claude Code, Claude Desktop, Cursor, Windsurf, Codex CLI, Gemini CLI, ou tout client qui prend en charge le Model Context Protocol via stdio.

Dites "déployez ce dépôt sur SnapDeploy" et recevez une URL en direct. Builds, journaux, variables d'environnement, bases de données gérées et domaines personnalisés — sans quitter le chat.

Configuration

  1. Connectez-vous sur snapdeploy.dev, ouvrez API Keys et créez un jeton avec le scope deploy (la page génère les extraits ci-dessous avec votre jeton déjà rempli).
  2. Ajoutez le serveur à votre client :

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 et autres clients configurés en 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 (jeton stocké dans un stockage sécurisé au lieu d'un fichier de configuration) :

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

Redémarrez la session ; les outils snapdeploy apparaissent. Votre dépôt doit être sur GitHub et GitHub doit être connecté à SnapDeploy une fois (le connecteur renvoie le lien si ce n'est pas le cas).

Outils

ScopeOutils
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

Les scopes sont imbriqués (read ⊂ deploy ⊂ manage) ; le serveur les applique avant l'exécution de tout outil. Il n'existe aucun outil de suppression, et le serveur refuse les suppressions, annulations d'abonnement et changements de mot de passe pour chaque jeton — ces actions nécessitent une personne connectée au tableau de bord ou à l'application mobile.

Images préconstruites. deploy construit à partir d'un dépôt GitHub connecté ; il n'existe aucun outil d'image. Pour exécuter une image Docker publique, utilisez le tableau de bord (Deploy Your Application → Docker Image) ou POST /api/mobile/containers avec name, image, imageTag, port, puis POST /api/mobile/containers/{containerId}/start. Les images doivent provenir de Docker Hub, ghcr.io, quay.io ou public.ecr.aws, publier linux/amd64 ou linux/arm64, et passer la vérification de politique de création de SnapDeploy ; un 400 Security policy violation est définitif et ne doit pas être réessayé. Règles complètes : https://snapdeploy.dev/llms-full.md

Modèle de sécurité

  • Rien de destructif, jamais. Même un agent qui escalade vers un appel API brut avec le même jeton reçoit 403 INTERACTIVE_SESSION_REQUIRED.
  • Les secrets n'atteignent jamais le modèle. Les valeurs des variables d'environnement reviennent sous forme de (set) et les identifiants sont masqués — sur le serveur, pas seulement dans ce connecteur.
  • Jetons scopés, expirants, révocables avec leur propre limite de débit. Révoquez sur la page API Keys et chaque requête renvoie 401 à partir de ce moment.
  • Déploiements sûrs pour les réessais. Les requêtes identiques dans les dix minutes renvoient le déploiement d'origine au lieu de démarrer un autre build.
  • Les limites du plan sont relayées, pas réessayées. Les réponses 402/429 portent le message propre de SnapDeploy et le lien de mise à niveau, et l'assistant est informé de ne pas réessayer.

Variables d'environnement

VariableRequiseSignification
SNAPDEPLOY_API_KEYouiJeton scopé (sd_pat_…) ou clé API héritée
SNAPDEPLOY_READ_ONLYnon1 expose uniquement les outils de lecture
SNAPDEPLOY_BASE_URLnonPar défaut à https://snapdeploy.dev

Liens

MIT © AAR Labs