SnapDeploy MCP
ทางการปรับใช้และจัดการแอป SnapDeploy (คอนเทนเนอร์ Docker บน AWS) จาก Claude Code, Cursor, Codex หรือ Gemini CLI: บิลด์, โล๊ก, ตัวแปรสภาพแวดล้อม, ส่วนเสริม, โดเมน
คุณทำอะไรได้บ้างด้วย SnapDeploy MCP?
- Deploy from GitHub — ขอให้ปรับใช้พื้นที่เก็บข้อมูล GitHub ที่เชื่อมต่ออยู่ และรับ URL ที่ใช้งานได้จริงกลับมาผ่าน
deploy - 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
ปรับใช้และจัดการคอนเทนเนอร์ SnapDeploy จากผู้ช่วย AI ของคุณ — Claude Code, Claude Desktop, Cursor, Windsurf, Codex CLI, Gemini CLI หรือไคลเอนต์ใดก็ตามที่ รองรับ Model Context Protocol ผ่าน stdio
พูดว่า "deploy repo นี้ไปที่ 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) หรือ 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 ตั้งแต่นั้นเป็นต้นมา
- การปรับใช้ที่ปลอดภัยต่อการลองใหม่ คำขอที่เหมือนกันภายในสิบนาทีจะคืนค่าการปรับใช้ เดิมแทนที่จะเริ่มบิลด์ใหม่
- ขีดจำกัดของแผนจะถูกส่งต่อ, ไม่ลองใหม่ คำตอบ 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
- บทความออกแบบ: why an agent that can deploy must not be able to delete
MIT © AAR Labs