SnapDeploy MCP について
SnapDeploy MCPは、AIコーディングクライアントからAWS上のSnapDeployコンテナをデプロイ、管理するためのサーバーです。ビルドやログ、環境変数、データベース、ドメインを扱い、秘密情報を隠し、破壊的操作を制限します。
主な機能
- 01接続済みGitHubリポジトリからデプロイ
- 02アプリの状態、ログ、デプロイ、クォータの確認
- 03環境変数とコンテナの管理
- 04データベース作成とカスタムドメイン追加
- 05スコープ付きトークンとサーバー側の秘密情報マスキング
- 06破壊的操作の非提供
活用シーン
- 01AIコーディングクライアントからGitHubリポジトリをデプロイ
- 02ビルドの進行状況とコンテナログを確認
- 03環境変数の更新やコンテナの起動
- 04マネージドデータベースの作成やドメインの割り当て
MCP 対応
stdio経由で互換クライアントにSnapDeployのデプロイ・管理ツールを提供するMCPサーバーです。利用にはSnapDeploy APIトークンが必要で、使用できるツールはトークンのスコープで制御されます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
npx -y @snapdeploy/mcpSNAPDEPLOY_API_KEYシークレットScoped personal access token (sd_pat_…) from https://snapdeploy.dev/api-keysSNAPDEPLOY_READ_ONLYSet to 1 to expose only the read toolsローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
15掲載時のツール一覧 · 3 週間前に更新
このツールにパラメーターはありません。
詳細
@snapdeploy/mcp
AI アシスタント(Claude Code、Claude Desktop、Cursor、Windsurf、Codex CLI、Gemini CLI、または stdio 経由で Model Context Protocol に対応する任意のクライアント)から、SnapDeploy のコンテナをデプロイして管理できます。
「このリポジトリを SnapDeploy にデプロイして」と伝えるだけで、稼働中の URL が返ってきます。チャットから離れることなく、ビルド、ログ、環境変数、マネージドデータベース、カスタムドメインを操作できます。
セットアップ
- 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)を使うか、name、image、imageTag、port を指定して POST /api/mobile/containers を実行し、その後 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 が返されます。
- 再試行に安全なデプロイ。 10 分以内に同一のリクエストを送ると、新たなビルドは開始されず、元のデプロイが返されます。
- プランの上限は伝達され、再試行されません。 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 exports
- リファレンス:snapdeploy.dev/docs/mcp · API
- 設計について:デプロイできるエージェントに削除をさせてはならない理由
MIT © AAR Labs
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。