vibie-mcp
by shdomi8599
README.md
# 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
TDQS
A4.2/5.0
Scored across 4 tools
Disambiguation5/5
Each tool has a clearly distinct purpose: create, get (single), list (all), and update. No overlap or ambiguity between them.
Naming Consistency5/5
All tools follow a consistent 'vibie_verb_noun' snake_case pattern. The prefix and structure are predictable and uniform.
Tool Count5/5
With 4 tools, the server is well-scoped for managing Vibie sites. Each tool earns its place without redundancy or insufficiency.
Completeness4/5
The set covers create, read (single and list), and update, which are core operations. Only missing delete, which is a minor gap.
Maintenance
ActivityInactive
ResponsivenessUnresponsive