AgentStack
Browse Sign in
Browse Why AgentStack Sell Docs
Sign in
MCP verified MIT Self-run

Claude Code Studio

mcp-aliceljy-claude-code-studio · by AliceLJY

Experimental local coordination for Claude Code sessions: MCP messaging, task tracking, and tmux/Zellij auto-wake.

No reviews yet
0 installs
33 views
0.0% view→install

Install

$ agentstack add mcp-aliceljy-claude-code-studio

✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access No
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

View the full security report →

Verified badge

Passed review? Show it. Paste this badge into your README, it links to the public security report.

AgentStack Verified badge Links to your public security report.
[![AgentStack Verified](https://agentstack.voostack.com/badges/verified.svg)](https://agentstack.voostack.com/security/report/mcp-aliceljy-claude-code-studio)

Reliability & compatibility

Security review passed
0 installs to date
no reviews yet
2mo ago

Declared compatibility

Claude CodeClaude DesktopCursorWindsurf

Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.

Preview Execution monitoring

We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.

How agent discovery & health will work →
Are you the author of Claude Code Studio? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

Claude Code Studio

> Multi-session collaboration studio for Claude Code. Run multiple CC instances as a coordinated team.

> Status — experimental / personal project. A working technical demo of > multi-session MCP coordination, not a hardened production tool. It runs, but > it is lightly used; treat the roadmap below as exploration, not commitments.

Claude Code Studio turns multiple Claude Code CLI sessions into a collaborative team. One session dispatches tasks, others execute, and everyone communicates through a shared MCP server. SQLite is the default state backend; Redis adds pub/sub delivery.

┌─────────────────────────────────────────────┐
│              CLAUDE CODE STUDIO              │
│                                              │
│   [You + Commander]  ← strategy & dispatch   │
│       │                                      │
│       ├── Agent A (research)     [ONLINE]    │
│       ├── Agent B (backend)      [ONLINE]    │
│       ├── Agent C (frontend)     [BUSY]      │
│       └── Agent D (testing)      [OFFLINE]   │
│                                              │
│   Agent A → Agent B: "API spec changed"      │
│   Agent B → Agent A: "Got it, updating"      │
│                                              │
│            ┌──────────────┐                  │
│            │  State + MCP │ ← messages       │
│            │  Server      │    + task board   │
│            └──────────────┘                  │
└─────────────────────────────────────────────┘

Why?

You're researching 5 projects across 5 Claude Code sessions. Halfway through, you realize they depend on each other. Now you need them to talk.

This experiment combines four things in one small local tool:

  • Dispatch tasks from a commander to worker agents
  • Exchange messages between any agents (peer-to-peer, not just hub-and-spoke)
  • Auto-wake agents when they receive messages (no manual window switching)
  • See the big picture with a single command

All through MCP tools that every Claude Code session can call natively.

Features

  • One-click launch — one script starts the MCP server, watcher daemon, and tmux or Zellij panes with Claude Code auto-started in each
  • Optional real-time messaging — Redis pub/sub delivers notifications instantly; SQLite mode polls every five seconds
  • Peer-to-peer — any agent can message any other agent, not just commander → worker
  • Task dispatch & tracking — assign tasks with priority, track status, auto-notify on completion
  • Auto-registration — agents register themselves on startup via project CLAUDE.md
  • Experimental cross-machine state — multiple machines can share Redis, with the identity-collision limitations documented below
  • CLI status tool — check studio status from terminal without entering Claude Code
  • Cross-model compatibility — ordinary Claude Code panes can keep using compatible plugins such as codex-plugin-cc

Quick Start

Prerequisites

  • Python 3.10+
  • uv (recommended) or pip
  • tmux or zellij (either one works)
  • Redis — optional, only for real-time pub/sub delivery (local Docker: docker run -d -p 127.0.0.1:6379:6379 redis:7-alpine). The default SQLite backend needs no external datastore.
  • Claude Code CLI

Install

git clone https://github.com/AliceLJY/claude-code-studio.git
cd claude-code-studio
uv venv && uv pip install -e .

Launch

Configure the MCP connection once (see [Connect Claude Code](#connect-claude-code)) before the first launch.

# Launch studio with 1 commander + 3 agent windows (default)
./scripts/launch.sh

# Specify agent count
./scripts/launch.sh 5

# Use zellij instead of tmux
STUDIO_MUX=zellij ./scripts/launch.sh

This will:

  1. Start the MCP server on localhost:3777
  2. Start the watcher daemon (auto-kicks agents on new messages)
  3. Create a tmux or Zellij session with separate panes
  4. Auto-start claude in every window
  5. Each Claude auto-registers itself on startup

Sit in the commander window and talk — each agent auto-registers via the project CLAUDE.md once its MCP connection is up.

Check Status (CLI)

# See who's online and task board without entering Claude Code
./scripts/status.sh

Connect Claude Code

From the repository directory, add the Studio server to Claude Code's local project scope (the launcher does not write this configuration):

claude mcp add --transport sse --scope local claude-code-studio http://localhost:3777/sse

Claude Code still supports SSE, but its MCP documentation now marks SSE as deprecated in favor of Streamable HTTP. Studio retains SSE for v0.3 compatibility; a transport migration should be a separate release rather than an undocumented endpoint change.

How It Works

Redis mode example — you say: "Tell agent-1 to research MCP frameworks"

Commander CC                    Watcher Daemon              Agent-1 CC
     │                               │                          │
     ├─ send_message(agent-1) ──────►│                          │
     │       │                       │                          │
     │       └─► Redis PUBLISH ─────►│                          │
     │                               ├─ tmux send-keys ───────►│
     │                               │  "check inbox"           │
     │                               │                          ├─ check_inbox()
     │                               │                          ├─ (does research)
     │                               │                          ├─ send_message(commander)
     │                               │                          │       │
     │                          ◄────┤◄─ Redis PUBLISH ─────────┘       │
     │◄─ tmux send-keys ────────┤    │                                  │
     │   "check inbox"          │    │                                  │
     ├─ check_inbox() ──────────┘    │                                  │
     ├─ "agent-1 says: ..."         │                                  │
     │                               │                                  │

In SQLite mode the watcher polls instead of subscribing to Redis. Auto-wake is best-effort in both modes because terminal-idle detection is heuristic.

Architecture

┌────────────┐  ┌────────────┐  ┌────────────┐
│  CC Session │  │  CC Session │  │  CC Session │
│  (commander)│  │  (agent-1) │  │  (agent-2) │
└──────┬─────┘  └──────┬─────┘  └──────┬─────┘
       │               │               │
       └───────────┬───┴───────────────┘
                   │  SSE/HTTP
           ┌───────▼────────┐
           │   MCP Server   │
           │  (FastMCP/SSE) │
           └───────┬────────┘
                   │
           ┌───────▼────────┐     ┌──────────────┐
           │ SQLite / Redis │◄───►│   Watcher    │
           │  state backend │     │  (auto-kick) │
           └────────────────┘     └──────────────┘
  • MCP Server: FastMCP with SSE transport — multiple CC sessions connect to one server
  • Redis: Message storage + pub/sub for instant delivery. Messages TTL 24h, tasks TTL 72h.
  • Watcher: Subscribes to Redis pub/sub or polls SQLite, then auto-sends prompts to panes it believes are idle
  • Backend: SQLite by default (no external datastore). Set STUDIO_BACKEND=redis for real-time pub/sub delivery (requires a running Redis)

MCP Tools

| Tool | Description | |------|-------------| | register | Join the studio with a unique ID and role | | unregister | Leave the studio | | send_message | Direct message another agent | | broadcast | Message all other registered agents | | check_inbox | Read your messages | | dispatch_task | Assign a task to an agent (auto-notifies) | | update_task | Update task status (auto-notifies dispatcher) | | my_tasks | List your assigned tasks | | studio_status | Current agents and task board | | kick | Wake up an agent remotely via tmux | | heartbeat | Signal you're still active |

Configuration

| Environment Variable | Default | Description | |---------------------|---------|-------------| | STUDIO_HOST | localhost | MCP server bind address | | STUDIO_PORT | 3777 | MCP server port | | STUDIO_BACKEND | sqlite | Storage backend: sqlite (no external service) or redis (real-time pub/sub) | | STUDIO_REDIS_URL | redis://localhost:6379 | Redis connection URL | | STUDIO_MUX | tmux | Terminal multiplexer: tmux or zellij | | STUDIO_STATE_DIR | private per-user runtime directory | Runtime logs, Zellij layout, pane map, and pane wrappers | | STUDIO_DB_PATH | ~/.claude-code-studio/studio.db | SQLite database path (sqlite mode) | | STUDIO_AUTO_KICK | 1 | Set to 0 to stop the watcher from auto-kicking agents (the idle heuristic can misfire) | | STUDIO_UNSAFE_REMOTE_MCP | unset | Explicit opt-in required before binding the unauthenticated MCP server to a non-loopback host |

Security Model

Studio assumes one trusted user on one machine or trusted private network. The MCP endpoint has no authentication, tool-supplied agent identities are not cryptographically verified, and kick can type a prompt into a managed terminal pane. The server therefore refuses a non-loopback STUDIO_HOST unless STUDIO_UNSAFE_REMOTE_MCP=1 is explicitly set. Do not expose the MCP or Redis ports to the public internet.

Cross-Machine Setup

Run agents on different machines by pointing to a shared Redis:

# Machine A (your Mac)
STUDIO_BACKEND=redis STUDIO_REDIS_URL=redis://192.168.1.100:6379 ./scripts/launch.sh

# Machine B (Mac Mini)
STUDIO_BACKEND=redis STUDIO_REDIS_URL=redis://192.168.1.100:6379 ./scripts/launch.sh 3

All agents across both machines share the same message bus and task board.

> Known limitations (experimental). Agent IDs are fixed (commander, > agent-1, …), so two machines launched this way collide on the same IDs in > Redis and overwrite each other's state — there is no real per-machine > isolation yet. For cross-machine use, configure Redis authentication, network > filtering, and encryption appropriate to your network; the local Docker command > above intentionally listens on loopback only.

Positioning

Studio is a small trusted-local coordination demo, not a secure multi-tenant agent platform. Its useful combination is MCP messaging, a task board, terminal-pane launch, and best-effort auto-wake. It does not provide shared model context, strong agent identity, authorization, file locks, or durable workflow orchestration.

Cross-Model Collaboration

Studio does not integrate with Codex directly. Each pane is an ordinary Claude Code session, so compatible Claude Code plugins such as codex-plugin-cc can still be used for a cross-model review workflow. Follow the plugin's own README for its current installation and command names.

┌─────────────────────────────────────────────────┐
│              CLAUDE CODE STUDIO                  │
│                                                  │
│   Claude            writes code                  │
│       │                                          │
│       ▼                                          │
│   Codex             reviews code                │
│       │                                          │
│       ▼                                          │
│   Claude            verifies findings & fixes    │
│                                                  │
│   Review stays in the same workspace.             │
└─────────────────────────────────────────────────┘

This compatibility is inherited from Claude Code; Studio itself adds no Codex-specific transport or routing.

Ecosystem

Part of AliceLJY's open-source AI workflow:

| Project | Description | |---------|-------------| | recallnest | MCP memory workbench (LanceDB + Jina v5) | | content-publisher | Image generation + layout + WeChat publishing | | openclaw-tunnel | Docker ↔ host CLI bridge (/cc /codex /gemini) | | digital-clone-skill | Build digital clones from corpus data | | telegram-ai-bridge | Telegram bots for Claude, Codex, and Gemini | | cc-empire | Complete Claude Code workflow scaffold (rules + hooks + agents) |

License

MIT

Development

python -m unittest discover -s tests -v
python -m compileall -q studio tests
bash -n scripts/launch.sh scripts/launch-zellij.sh scripts/status.sh

Contributing

Issues and PRs welcome. This project was born from a real need — if you're running multiple Claude Code sessions and wish they could talk to each other, this is for you.

Source & license

This open-source MCP server is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet, be the first.

Versions

  • v0.1.0 Imported from the upstream source.