vibie-mcp
MCP server for Vibie — deploy static folders to permanent *.vibie.page URLs from Claude Desktop / Cursor / any MCP-compatible client.
Install
One-line auto setup (recommended)
npx vibie-mcp setup
Auto-detects Claude Desktop (Windows Store + APPDATA / macOS / Linux) and Cursor (~/.cursor/mcp.json) configs, then adds the vibie entry. Restart the client and you're done.
Manual config
If auto setup doesn't fit your client, add this to your MCP config (claude_desktop_config.json, ~/.cursor/mcp.json, etc.):
{
"mcpServers": {
"vibie": {
"command": "npx",
"args": ["-y", "vibie-mcp"]
}
}
}
After saving, fully quit and restart your client.
First-time auth
On first tool call, the server initiates an OAuth 2.0 Device Authorization Grant. Your AI will receive instructions like:
Please open https://vibie.io/device?code=XXXX-YYYY in a browser, sign in with Google, and click Authorize. Then ask me to try again.
After authorizing in the browser, ask your AI to retry the same request. The server stores a token in ~/.vibie/credentials.json (chmod 0600) and reuses it for future calls.
You can revoke the token anytime at https://vibie.io/settings/api.
Tools
vibie_create_site— Upload a folder and create a new Vibie site. Auto-writes.vibie/site.jsonin the folder so future updates use the same site.vibie_update_site— Re-deploy to an existing site. Reads slug from.vibie/site.jsonif not specified.vibie_list_sites— List sites under your account.vibie_get_site— Metadata for one site by slug.
How AI typically uses it
You: "Deploy this folder to vibie"
AI: → vibie_create_site({ folder: "." })
→ Returns: https://my-folder-x7f2.vibie.page
You: "Push my changes"
AI: Detects .vibie/site.json
→ vibie_update_site({ folder: "." })
→ Same URL, new content
Folder structure
What gets uploaded from a folder:
index.html+style.css+js/,assets/, etc — all included- Hidden files (
.git,.vibie,.DS_Store) — automatically skipped node_modules/— skipped- Limits: 100 MB per site, 500 files per upload, 25 MB per file (Vibie's server validates)
A single HTML file (any name) also works — it gets auto-renamed to index.html on upload.
Env
| Variable | Default | Purpose |
|---|---|---|
VIBIE_API_BASE |
https://vibie.io |
Override for local dev (http://localhost:3000) |
License
MIT