Skip to main content
ClaudeWave

Multiplayer for agentic coding terminals — shared Claude Code/Codex/Gemini sessions with live Figma-style cursors, presence, and in-terminal chat. Local-first: your machine, no data out.

MCP ServersRegistry oficial0 estrellas0 forksTypeScriptMITActualizado today
Install in Claude Code / Claude Desktop
Method: Manual
Claude Code CLI
git clone https://github.com/pooriaarab/vibelive
claude_desktop_config.json (Claude Desktop)
{
  "mcpServers": {
    "vibelive": {
      "command": "node",
      "args": ["/path/to/vibelive/dist/index.js"]
    }
  }
}
1. Run the command above in your terminal (Claude Code), or paste the JSON config into claude_desktop_config.json (Claude Desktop).
2. Replace any <placeholder> values with your API keys or paths.
3. Restart Claude. The MCP server and its tools appear automatically.
💡 Clone https://github.com/pooriaarab/vibelive and follow its README for install instructions.
Casos de uso

Resumen de MCP Servers

# vibelive

Multiplayer for agentic coding terminals — shared Claude Code/Codex/Gemini sessions with live Figma-style cursors, presence, and in-terminal chat.

Part of the **Vibe Suite** — companion tools for agentic coding CLIs (Claude Code, Codex, Gemini, Grok/pi, Kimi). Ships as **CLI + npm package + MCP server**.

**Local-first: runs on your own machine.** v0 is a **host-authoritative local/LAN** session: one machine hosts a wrapped agent and owns the truth; peers join over a local WebSocket. Full end-to-end-encrypted relay fan-out to ~1,000 participants is on the roadmap (see [`docs/tech-spec.md`](docs/tech-spec.md)). Session sharing is gated by the consent ledger in [`@pooriaarab/vibe-core`](https://www.npmjs.com/package/@pooriaarab/vibe-core) (scope `share:session`), and is revocable.

## Install

```bash
npm install -g vibelive
# or use it as a library / MCP server without the global install:
npm install vibelive
```

Requires Node ≥ 18.

## Quick start

Share a wrapped agent (anything you'd run in a terminal) and print a join URL:

```bash
vibelive host -- claude          # share a Claude Code session
vibelive host -- python -i       # share a REPL
vibelive host --port 4474 --name ada -- claude
```

The host prints something like:

```
vibelive host ready — sharing claude
  join: ws://localhost:54157
  lan:  ws://10.0.0.179:54157
  you are the driver. /release to hand off, /drive to take back, /quit to end.
```

From another terminal (or another machine on the LAN):

```bash
vibelive join ws://localhost:54157 --name ada
```

The joiner sees the live agent output plus a presence/chat line. Slash commands while joined:

- `/drive` — request the write token (queued FIFO behind other drivers)
- `/release` — relinquish the token
- `/type <text>` — send input to the wrapped agent (**driver only**)
- `/quit` — leave the session

Everything else you type is sent as chat.

### Who can write to the agent?

Exactly one participant — the **driver** — holds the write token at any time (see `src/arbitration.ts`). Everyone else always has **read + chat + cursor**; only agent-write is arbitrated, so two people never interleave garbage into one stdin. The host user starts as the driver.

## MCP server

Run vibelive as a Model Context Protocol server over stdio:

```bash
vibelive mcp
```

It exposes two tools an agent can call:

| tool | description |
| --- | --- |
| `host_session` | Start a host+relay wrapping a command; returns the `ws://` join URL. |
| `session_status` | List active sessions (id, url, participants, current driver). |

Example (Claude Code / any MCP client config):

```jsonc
{
  "mcpServers": {
    "vibelive": { "command": "vibelive", "args": ["mcp"] }
  }
}
```

## Library

```bash
npm install vibelive
```

```ts
import { createHost, createRelay, joinSession, WriteArbiter } from 'vibelive';

// Host-authoritative session on an ephemeral port.
const host = createHost({ command: ['claude'] });
const relay = await createRelay({ port: 0, hostHandle: host, initialDriver: 'host' });
console.log(relay.url); // ws://localhost:<port>

const client = joinSession({ url: relay.url, name: 'ada' });
client.onOutput((text) => process.stdout.write(text));
client.requestControl(); // ask to drive
```

## How it works (v0)

Three channels over one WebSocket, each with the guarantees its data needs (details in [`docs/tech-spec.md`](docs/tech-spec.md)):

1. **Agent output** — ordered, sequence-numbered append-log; the host is the sole author; late joiners get snapshot + tail.
2. **Presence / cursors** — ephemeral, high-frequency, lossy is fine (coalesced/interpolated client-side; the relay forwards for v0).
3. **Chat + control** — reliable, ordered; agent-write is mediated by the `WriteArbiter` so there is never more than one driver.

The correctness-critical piece is `src/arbitration.ts` — a pure, fully unit-tested state machine enforcing *"never two concurrent agent-writers,"* FIFO turn-taking, and *"release when not driver is a no-op."*

## Prototype
Interactive, self-contained UX prototype (no build, no network): open [`docs/prototype.html`](docs/prototype.html) in a browser.

## Specs
- [`docs/tech-spec.md`](docs/tech-spec.md) — scale (10/100/1000), transport tiers, tests.
- [`docs/vibe-core-spec.md`](docs/vibe-core-spec.md) — shared suite spine (cascade, hooks, consent).

## Roadmap

- **v0 (this release):** host-authoritative local/LAN multiplayer — host + relay + arbitration + CLI + MCP, all over plain pipes/WebSocket.
- **Next:** real PTY wrapping (`node-pty`) for full TTY semantics (resize, raw-mode programs, signals), cursor interpolation, and a richer terminal renderer.
- **Scale:** the dumb, e2e-encrypted, self-hostable relay (pub/sub fan-out to ~1,000, relay reads only ciphertext) — see tech-spec §2 "Large" tier.

## License

MIT

Lo que la gente pregunta sobre vibelive

¿Qué es pooriaarab/vibelive?

+

pooriaarab/vibelive es mcp servers para el ecosistema de Claude AI. Multiplayer for agentic coding terminals — shared Claude Code/Codex/Gemini sessions with live Figma-style cursors, presence, and in-terminal chat. Local-first: your machine, no data out. Tiene 0 estrellas en GitHub y se actualizó por última vez today.

¿Cómo se instala vibelive?

+

Puedes instalar vibelive clonando el repositorio (https://github.com/pooriaarab/vibelive) o siguiendo las instrucciones del README en GitHub. ClaudeWave también te ofrece bloques de instalación rápida en esta misma página.

¿Es seguro usar pooriaarab/vibelive?

+

pooriaarab/vibelive aún no ha sido auditado por nuestro agente de seguridad. Revisa el repositorio original en GitHub antes de usarlo en producción.

¿Quién mantiene pooriaarab/vibelive?

+

pooriaarab/vibelive es mantenido por pooriaarab. La última actividad registrada en GitHub es de today, con 0 issues abiertos.

¿Hay alternativas a vibelive?

+

Sí. En ClaudeWave puedes explorar mcp servers similares en /categories/mcp, ordenados por popularidad o actividad reciente.

Despliega vibelive en tu cloud

Lleva este repo a producción en minutos. Cada plataforma genera su propio entorno con variables de entorno editables.

¿Mantienes este repo? Añade un badge a tu README

Pega el badge en tu README de GitHub para mostrar que está auditado por ClaudeWave. Cada badge enlaza de vuelta a esta página y muestra el Trust Score actual.

Featured on ClaudeWave: pooriaarab/vibelive
[![Featured on ClaudeWave](https://claudewave.com/api/badge/pooriaarab-vibelive)](https://claudewave.com/repo/pooriaarab-vibelive)
<a href="https://claudewave.com/repo/pooriaarab-vibelive"><img src="https://claudewave.com/api/badge/pooriaarab-vibelive" alt="Featured on ClaudeWave: pooriaarab/vibelive" width="320" height="64" /></a>

Más MCP Servers

Alternativas a vibelive