SnapDeploy MCP
공식Claude Code, Cursor, Codex 또는 Gemini CLI에서 SnapDeploy 앱(AWS의 Docker 컨테이너)을 배포하고 관리합니다: 빌드, 로그, 환경 변수, 애드온, 도메인.
SnapDeploy MCP(으)로 무엇을 할 수 있나요?
- Deploy a GitHub repository — 어시스턴트에게 SnapDeploy에 리포지토리를 배포하도록 요청하고
deploy도구를 통해 실시간 URL을 받으세요. - Manage environment variables — 컨테이너의 환경 변수를 설정하거나 확인하도록 어시스턴트에게 지시하고, 값은
(set)으로 마스킹됩니다. - Monitor deployment status — SnapDeploy 컨테이너의 실시간 상태, 로그 또는 배포 기록을 요청하세요.
- Control container lifecycle — 채팅 인터페이스를 벗어나지 않고 필요에 따라 컨테이너를 시작, 중지 또는 활성화하세요.
- Provision resources — 대화에서 직접 관리형 데이터베이스를 생성하거나 배포에 사용자 지정 도메인을 할당하세요.
문서
@snapdeploy/mcp
AI 어시스턴트에서 SnapDeploy 컨테이너를 배포하고 관리하세요 — Claude Code, Claude Desktop, Cursor, Windsurf, Codex CLI, Gemini CLI, 또는 stdio를 통해 Model Context Protocol을 지원하는 모든 클라이언트에서 사용할 수 있습니다.
*"이 저장소를 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 set_env start_container stop_container wake_container |
manage | create_database add_domain assign_always_on |
범위는 중첩됩니다 (read ⊂ deploy ⊂ manage); 서버는 도구가 실행되기 전에 이를 강제합니다.
삭제 도구는 없으며, 서버는 모든 토큰에 대해 삭제, 구독 취소, 비밀번호 변경을 거부합니다 —
이러한 작업은 대시보드나 모바일 앱에 로그인한 사용자가 직접 수행해야 합니다.
안전 모델
- 파괴적인 작업은 절대 없음. 동일한 토큰으로 원시 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 내보내기
- 참조: snapdeploy.dev/docs/mcp · API
- 설계 문서: 배포할 수 있는 에이전트는 삭제할 수 없어야 하는 이유
MIT © AAR Labs