studio-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| STUDIO_ROOT | No | Root directory for project state files. | ~/studio-projects |
| STUDIO_LLM_MODEL | No | Model name to use (e.g., gpt-4). | gpt-4 |
| STUDIO_LLM_API_KEY | Yes | Your API key for the OpenAI-compatible LLM endpoint. | |
| STUDIO_LLM_BASE_URL | No | Base URL for the LLM endpoint (e.g., https://api.openai.com/v1). | https://api.openai.com/v1 |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| plan_shotsA | Turn a brief into a structured block-method shot plan. Plans every shot (type, camera move, duration, action) before any pixel is generated. Saves to the project's plan.json and returns it. Args: brief: plain-language description of the spot/scene. project: project name (scopes all state, e.g. "marea"). n_shots: target number of shots. |
| lock_campaignA | Lock the campaign look so every shot stays on-model. Args: project: project name. aspect: aspect ratio, e.g. "2.39:1" or "9:16". stock: film stock / look, e.g. "Kodak Vision3 500T, soft handheld". hex_palette: HEX colors defining the palette, e.g. ["#1b2a3a", "#c8a15a"]. elements: recurring elements/characters to keep consistent. audio: audio rule (default: diegetic SFX, no music). |
| qc_stillA | Style-drift QC on a generated still against the shot intent + locked look. Vision model scores intent / look / character (0-100). Pass requires every score >= threshold. Saves the verdict and returns it. An agent re-rolls the still when pass is false, using fix_suggestion. Args: project: project name. image: local path or http URL of the still to review. shot_id: which shot in plan.json this still is for. threshold: minimum passing score per dimension. |
| assembleA | Build the cut manifest — shot order, durations, and audio notes. Uses the plan for order/timing. If clips (e.g. [{"shot_id":1,"path":"..."}]) are provided (v1.1+), they are attached per shot. The actual NLE cut stays manual in v1; this is the edit blueprint. Args: project: project name. clips: optional rendered-clip refs keyed by shot_id. |
| project_statusA | Report what stages exist for a project (plan / lock / QC / manifest). |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
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/rishbjain1/studio-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server