A terminal REPL for MCP Studio. Every slash command, every quick command, every schedule — the same as the desktop app, in your shell. State lives at ~/.mcp-widget/ and is shared with the desktop bit-for-bit, so you can start a project in one and finish it in the other.
>. Type /help to see the
slash surface, or just type a question and hit return.
§01 — HOWOne agent, three front-ends
The CLI launches the same Node sidecar the desktop uses — same MCP runtime, same agent loop, same auth. JSON-RPC over stdio.
Both clients read and write ~/.mcp-widget/ directly:
projects, schedules, per-MCP storage, the encrypted credential vault.
Atomic writes; a lock-file picks the schedule leader.
Slash commands, quick commands, OAuth flows over a loopback port — everything desktop can do, the CLI does in a shell.
§02 — DEMOWhat a session looks like
$ mcp-studio MCP Studio CLI · sidecar ok · scheduler: leader > /help slash commands: /help show this list /mcp-servers list installed MCP servers /install <source> install an MCP /configure <mcp-id> enter auth fields /project [name] list / switch projects /schedule list scheduled prompts /quit exit quick commands: /workspace [name] Git: switch active workspace [from dev.mcpwidget.git] /commit "msg" Git: commit staged changes [from dev.mcpwidget.git] /panel_toggle Studio Core: toggle the desktop panel > /project new demo ✓ project created: demo > /workspace ~/code/mcp-widget ✓ active workspace → ~/code/mcp-widget > what files changed on this branch? → dev.mcpwidget.git.diff ✓ dev.mcpwidget.git.diff — thinking… Three files: Panel.tsx (quick-command wiring), storage.ts (overlay merging), and schedules.rs (lock-file leader). > /quit
§03 — WHATWhat ships in 0.1
Stream agent:progress events inline — iteration counts,
tool calls, errors. Markdown rendered with marked-terminal;
ANSI strips when piped.
/help, /mcp-servers, /install,
/configure, /project, /schedule,
/workspace. Quick commands from any installed manifest
route through the same headless dispatcher the desktop uses.
Every project gets its own history.jsonl,
agent-context.json, and MCP-storage overlay. Switch
projects with /project switch <name> and pick up
where you left off.
A scheduler.lock file rendezvous: whichever client
starts first (CLI or desktop) fires schedules; the other observes
and surfaces fires inline. No double-fires.
AES-256-GCM with an OS-keychain umbrella key.
credentials.enc is the same file the desktop writes;
configure once, both clients see it.
/configure spins up a one-shot loopback server, opens
the browser, captures the callback, and exchanges the code via the
sidecar. PKCE included. The desktop is not required.
§04 — ROADMAPShipped + next