Studio State
@dkf2studios
Stateless MCP server that keeps AI-generated characters, locations, and shots consistent across a film/video project — tells your AI assistant where the production stands, a scene's per-shot status, and marks shots fired/locked. For creators using Higgsfield, Runway, Kling, Seeda
概要
What is Studio State?
Studio State is a small, stateless Model Context Protocol (MCP) server for AI film and video production. It reads a project's plain files to answer three questions an AI filmmaking assistant constantly needs to re-establish: orient the session, get shot status, and update a shot. It’s designed for people producing AI-generated film, video, episodic shows, and animation with tools like Higgsfield, Runway, Kling, Seedance, nano-banana, Veo, and ElevenLabs.
How to use Studio State?
Install Python 3.9+ and the MCP SDK (pip install "mcp[cli]"), set the STUDIO_ROOT environment variable to the path of your project folder, then run python3 server.py. Register the server in Claude Desktop via claude_desktop_config.json using the server’s file path and the STUDIO_ROOT environment variable.
Key features of Studio State
- Read-dominant: 2 of 3 tools are pure reads.
- Stateless: no server-side store or daemon state.
- Path-sandboxed: validated scene/episode arguments.
- Crash-proof and always current; re-reads files on every call.
- Never mutates canonical files; writes only to a sidecar
shot_status.json. - Expects a lightweight, file-based project layout.
Use cases of Studio State
- Re-establishing production context at the start of a Claude session.
- Tracking per-shot status (planned, pending, fired, locked, needs-rework, dropped) across an episode.
- Marking a shot as fired or locked and attaching a generation job and still.
- Keeping characters, locations, and shots consistent across a long generative video production.
FAQ from Studio State
What project layout does Studio State require?
It expects a folder with _pipeline/STATE.json (project phase, episode, budget, scenes) and episodes organized as episodes/episode_XXX/scenes/<SCENE>/ containing the shot plan and render manifest files.
Is Studio State safe for my production files?
Yes. It is read-dominant (two of three tools are pure reads). The only writer creates a per-scene shot_status.json sidecar — it never modifies your shot plans, render manifests, or state file. Writes are atomic and path-sandboxed.
What dependencies or runtime are required?
Python 3.9+ and the MCP SDK (mcp[cli]) are required. The server runs as a Python script and communicates via the Model Context Protocol using stdio.
Can I try Studio State before using my own project?
Yes, a bundled demo project is included. Run python3 tests/test_acceptance.py to verify the server works (expects 4/4 checks passed).
What transport or authentication does Studio State use?
The README does not specify OAuth or API-key authentication; it is configured as a local MCP server via Claude Desktop’s stdio transport with an environment variable for the project root.