Skip to main content
Glama
pooriaarab

vibelive MCP Server

by pooriaarab

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). Session sharing is gated by the consent ledger in @pooriaarab/vibe-core (scope share:session), and is revocable.

Install

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

Requires Node ≥ 18.

Related MCP server: Claude Relay

Quick start

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

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):

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:

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):

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

Library

npm install vibelive
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):

  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 in a browser.

Specs

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

A
license - permissive license
-
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    -
    quality
    D
    maintenance
    Enables AI agents to interact with terminal environments through multiple concurrent PTY sessions. Supports cross-platform terminal operations including command execution, session management, and real-time communication.
    10
    3
    MIT
  • A
    license
    -
    quality
    B
    maintenance
    Enables AI agents to execute commands in a shared tmux session that is simultaneously visible to a human via a web-based terminal UI.
    1
    MIT

View all related MCP servers

Related MCP Connectors

  • The team layer for AI coding agents: shared contracts, collision alerts, E2EE sessions.

  • Agent-native collaboration network: orchestrate a team of long-running agents from any MCP client.

  • Build, validate, and deploy multi-agent AI solutions from any AI environment.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/pooriaarab/vibelive'

If you have feedback or need assistance with the MCP directory API, please join our Discord server