SnapDeploy MCP
officielDé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
withetset_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_logsetget_deployments. - Contrôler les conteneurs — Démarrez, arrêtez ou réveillez un conteneur à la demande avec
start_container,stop_containeretwake_container. - Provisionner des ressources — Créez une base de données gérée ou associez un domaine personnalisé à une application avec
create_databaseetadd_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
- 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). - 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
| Scope | Outils |
|---|---|
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 |
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
| Variable | Requise | Signification |
|---|---|---|
SNAPDEPLOY_API_KEY | oui | Jeton scopé (sd_pat_…) ou clé API héritée |
SNAPDEPLOY_READ_ONLY | non | 1 expose uniquement les outils de lecture |
SNAPDEPLOY_BASE_URL | non | Par défaut à https://snapdeploy.dev |
Liens
- Guides : Claude Code · Cursor · Codex / Gemini CLI · Exports Lovable
- Référence : snapdeploy.dev/docs/mcp · API
- Note de conception : pourquoi un agent capable de déployer ne doit pas pouvoir supprimer
MIT © AAR Labs