Multiplayer for agentic coding terminals: live cursors, presence, chat.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
π‘ Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
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). Session sharing is gated by the consent ledger in @pooriaarab/vibe-core (scope share:session), and is revocable.
Requires Node β₯ 18.
Share a wrapped agent (anything you'd run in a terminal) and print a join URL:
The host prints something like:
From another terminal (or another machine on the LAN):
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 sessionEverything else you type is sent as chat.
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.
Run vibelive as a Model Context Protocol server over stdio:
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):
Three channels over one WebSocket, each with the guarantees its data needs (details in docs/tech-spec.md):
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."
Interactive, self-contained UX prototype (no build, no network): open docs/prototype.html in a browser.
docs/tech-spec.md β scale (10/100/1000), transport tiers, tests.docs/vibe-core-spec.md β shared suite spine (cascade, hooks, consent).node-pty) for full TTY semantics (resize, raw-mode programs, signals), cursor interpolation, and a richer terminal renderer.MIT
No reviews yet β be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/vibelive)<a href="https://allmcps.com/mcp/vibelive"><img src="https://allmcps.com/api/badge/vibelive?style=directory" alt="Vibelive on AllMCPs" /></a>