io.github.shdomi8599/vibie-mcp
Deploy HTML folders to vibie.page from Claude / Cursor — one-line install, OAuth, auto-update.
Open source Open in the app JSON README (API)
About
Deploy HTML folders to vibie.page from Claude / Cursor — one-line install, OAuth, auto-update.
Details
- Kind
- MCP servers
- Topic
- Cloud & DevOps
- Publisher
- shdomi8599
- Origin
- official
- Category
- ferramentas
- Transport
- local
- Version
- 0.2.2
- Stars
- 1
- Last push
- 2026-05-30T10:21:42Z
- Repository state
- ativo
- Language
- TypeScript
- License
- MIT
- Added
- 2026-08-29 04:01:23
- Updated
- 2026-08-29 04:01:23
- Origin id
io.github.shdomi8599/vibie-mcp
README
# vibie-mcp
MCP server for [Vibie](https://vibie.io) — deploy static folders to permanent `*.vibie.page` URLs from Claude Desktop / Cursor / any MCP-compatible client.
## Install
### One-line auto setup (recommended)
```sh
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.):
```json
{
"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](https://datatracker.ietf.org/doc/html/rfc8628). 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.json` in the folder so future updates use the same site.
- **`vibie_update_site`** — Re-deploy to an existing site. Reads slug from `.vibie/site.json` if 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