System Design

One broker, many sessions

Each session runs its own playback-mcp server and drives its own tab. A shared broker multiplexes them onto the one extension, routing by sessionId.

CLIENTS MCP SERVERS BROKER EXTENSION TABS stdio ws · :8765 node:sqlite SQLite library library.db · WAL Agent A Agent B Agent C session session session playback-mcp playback-mcp playback-mcp sessionId A sessionId B sessionId C broker 127.0.0.1:8765 extension service worker tab A tab B tab C one broker owns the port · routed by sessionId · one shared SQLite library on disk stdio shared SQLite library.db ws :8765 Agent A Agent B Agent C session session session playback-mcp playback-mcp playback-mcp sessionId A sessionId B sessionId C broker 127.0.0.1:8765 extension service worker tab A tab B tab C one broker · routed by sessionId · one shared library
shared broker shared SQLite store active <video>