Skip to main content
Glama
shdomi8599

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