{"_id":"@cgnguyen/vibe-deploy","name":"@cgnguyen/vibe-deploy","dist-tags":{"latest":"0.1.0"},"versions":{"0.1.0":{"name":"@cgnguyen/vibe-deploy","version":"0.1.0","type":"module","description":"MCP server that lets an AI coding agent deploy your app to your own VPS (Docker + nginx + HTTPS) in one tool call.","keywords":["mcp","model-context-protocol","deploy","deployment","vps","docker","nginx","vibe-coding","cursor","claude","ai-agent"],"bin":{"vibe-deploy":"dist/index.js"},"repository":{"type":"git","url":"git+https://github.com/luongs3/vibe-deploy.git"},"homepage":"https://github.com/luongs3/vibe-deploy#readme","engines":{"node":">=20.0.0"},"scripts":{"build":"tsc","prepublishOnly":"npm run build","start":"tsx src/index.ts","test":"vitest run"},"dependencies":{"@modelcontextprotocol/sdk":"^1.0.0","node-ssh":"^13.2.0","zod":"^3.23.0"},"devDependencies":{"@types/node":"^24.0.0","tsx":"^4.20.3","typescript":"^5.6.0","vitest":"^4.1.0"},"publishConfig":{"access":"public"},"author":{"name":"cg_nguyen"},"license":"MIT","_id":"@cgnguyen/vibe-deploy@0.1.0","gitHead":"15f3c40166da853c40f8837aab03096c500f9c5a","bugs":{"url":"https://github.com/luongs3/vibe-deploy/issues"},"_nodeVersion":"22.22.0","_npmVersion":"10.9.4","dist":{"integrity":"sha512-tywRVusf3FdZ26xqYgaMIVWp5SSWkHIjlqSaK8RehMBflKeHZgcvVl4hI19IH7mByTYvBqBZSXsyQdA62Ov6WQ==","shasum":"9f71190827f47797d8fb8d900907069351dfd7bb","tarball":"https://registry.npmjs.org/@cgnguyen/vibe-deploy/-/vibe-deploy-0.1.0.tgz","fileCount":22,"unpackedSize":40735,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCAiZBOJKNR0vJ1VrMt4Wi3S0MGktgFeCLU3x0PDTwjUQIgUUGgGAngmGSwpGBlyXRI0Wt3QCWgGLh9oRdwfZJrq8E="}]},"_npmUser":{"name":"cgnguyen","email":"luongr3@gmail.com"},"directories":{},"maintainers":[{"name":"cgnguyen","email":"luongr3@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/vibe-deploy_0.1.0_1780280018649_0.46767345683354433"},"_hasShrinkwrap":false}},"time":{"created":"2026-06-01T02:13:38.508Z","0.1.0":"2026-06-01T02:13:38.811Z","modified":"2026-06-01T02:13:38.979Z"},"maintainers":[{"name":"cgnguyen","email":"luongr3@gmail.com"}],"description":"MCP server that lets an AI coding agent deploy your app to your own VPS (Docker + nginx + HTTPS) in one tool call.","homepage":"https://github.com/luongs3/vibe-deploy#readme","keywords":["mcp","model-context-protocol","deploy","deployment","vps","docker","nginx","vibe-coding","cursor","claude","ai-agent"],"repository":{"type":"git","url":"git+https://github.com/luongs3/vibe-deploy.git"},"author":{"name":"cg_nguyen"},"bugs":{"url":"https://github.com/luongs3/vibe-deploy/issues"},"license":"MIT","readme":"# vibe-deploy ⚡\n\n**Tell your AI to ship your app. It goes live on your own server — with HTTPS — in one message.**\n\nYou built an app with Cursor, Claude, Windsurf, or Antigravity in five minutes. Then you hit the wall everyone hits: *how do I actually put this online?* SSH, Docker, nginx, SSL certificates, firewall rules — two hours of DevOps for an app you built in five minutes.\n\n`vibe-deploy` hands that whole job to your AI. Connect it once to your own cheap VPS (DigitalOcean, Hetzner, Vultr — any Linux box), then just say:\n\n> \"Deploy this to myapp.mydomain.com\"\n\n…and your agent does the rest: containerizes the app, ships it to your server, sets up the web server, and turns on HTTPS. You get back a live URL.\n\n## Why your own server?\n\nNo per-seat SaaS bill, no platform lock-in, no surprise pricing. A $5/month VPS runs dozens of your projects. You own it.\n\n## What it handles for you\n\n- **Any stack** — static sites, Node, Python, Go (it figures out which and writes the Dockerfile for you).\n- **HTTPS automatically** — real Let's Encrypt certificate, no config.\n- **Multiple apps on one server** — each on its own subdomain.\n- **Status & logs** — ask your agent \"is myapp up?\" or \"show me the logs.\"\n\n## Quick start\n\n1. Install: `npm install -g @cgnguyen/vibe-deploy`\n2. Add it to your AI tool (Claude Code / Cursor / Windsurf / Antigravity) as an MCP server, with your VPS details:\n\n   ```\n   DEPLOY_MCP_VPS_HOST=your.server.ip\n   DEPLOY_MCP_SSH_KEY=~/.ssh/id_ed25519\n   DEPLOY_MCP_CERTBOT_EMAIL=you@example.com\n   ```\n3. Point your domain's DNS at your server, then tell your agent: **\"Deploy this app to app.mydomain.com.\"**\n\nThat's it. The first deploy takes a minute; after that it's seconds.\n\n## Security\n\nvibe-deploy verifies your server's SSH host key (no blind trust — a man-in-the-middle can't impersonate your VPS). On first connect it refuses and prints the server's fingerprint; verify it's really your server, then pin it:\n\n```\nDEPLOY_MCP_HOST_FINGERPRINT=SHA256:…   # the fingerprint it printed (recommended)\n```\n\nAll inputs (domain, port) are strictly validated before any command runs, so a malicious or confused agent can't inject shell commands, traverse paths, or corrupt your nginx config. Your SSH key is read locally and never logged.\n\n## Free vs Pro\n\n- **Free** — 1 server, 1 app: `deploy`, `status`, `logs`.\n- **Pro** — multiple servers & apps, one-command `rollback`, env/secret management, scheduled redeploys.\n\n## Tools your agent gets\n\n`deploy_app` · `deployment_status` · `deployment_logs`\n\n---\n\n*Built by a senior backend engineer who got tired of watching people struggle to ship. For the technical design and the deploy internals, see [`SPEC.md`](./SPEC.md).*\n","readmeFilename":"README.md","_rev":"1-909f8b1d460ac6017999164d1e5a9ba8"}