SnapDeploy MCP

공식

Claude Code, Cursor, Codex 또는 Gemini CLI에서 SnapDeploy 앱(AWS의 Docker 컨테이너)을 배포하고 관리합니다: 빌드, 로그, 환경 변수, 애드온, 도메인.

SnapDeploy MCP(으)로 무엇을 할 수 있나요?

  • Deploy from GitHub — 연결된 GitHub 저장소를 배포하도록 요청하고 deploy를 통해 실시간 URL을 받으세요.
  • Manage environment variables — with 및 set_env를 사용하여 비밀 값을 노출하지 않고 앱의 환경 변수를 설정하거나 업데이트하세요.
  • Monitor deployments — get_status, get_logs, get_deployments를 사용하여 배포 상태를 확인하고, 로그를 보며, 최근 배포 목록을 확인하세요.
  • Control containers — start_container, stop_container, wake_container를 사용하여 필요에 따라 컨테이너를 시작, 중지 또는 활성화하세요.
  • Provision resources — create_database 및 add_domain을 사용하여 관리형 데이터베이스를 만들거나 앱에 사용자 지정 도메인을 연결하세요.

문서

@snapdeploy/mcp

AI 어시스턴트에서 SnapDeploy 컨테이너를 배포하고 관리하세요 — Claude Code, Claude Desktop, Cursor, Windsurf, Codex CLI, Gemini CLI, 또는 stdio를 통해 Model Context Protocol을 지원하는 모든 클라이언트에서 사용할 수 있습니다.

*"이 저장소를 SnapDeploy에 배포해줘"*라고 말하면 실시간 URL을 받을 수 있습니다. 빌드, 로그, 환경 변수, 관리형 데이터베이스, 커스텀 도메인까지 — 채팅을 벗어나지 않고 모두 처리됩니다.

설정

  1. snapdeploy.dev에 로그인하고 API Keys를 연 다음 deploy 범위의 토큰을 생성하세요 (페이지에서 토큰이 이미 채워진 아래 스니펫을 생성합니다).
  2. 서버를 클라이언트에 추가하세요:

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에 한 번 연결되어 있어야 합니다 (연결되지 않은 경우 커넥터가 링크를 반환합니다).

도구

범위도구
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

범위는 중첩됩니다 (read ⊂ deploy ⊂ manage); 서버는 도구가 실행되기 전에 이를 강제합니다. 삭제 도구는 없으며, 서버는 모든 토큰에 대해 삭제, 구독 취소, 비밀번호 변경을 거부합니다 — 이러한 작업은 대시보드나 모바일 앱에 로그인한 사용자가 직접 수행해야 합니다.

사전 빌드된 이미지. deploy는 연결된 GitHub 저장소에서 빌드합니다; 이미지 도구는 없습니다. 공개 Docker 이미지를 실행하려면 대시보드(애플리케이션 배포 → Docker 이미지)를 사용하거나 POST /api/mobile/containers와 함께 name, image, imageTag, port을 사용한 다음 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입니다

링크

MIT © AAR Labs