Where the production stands
“List my projects, open LURIA, and write me where it stands: what the story is, how many scenes and shots are broken down, what has been rendered, and what is still missing.”
list_projectsread_projectOne endpoint over MCP. Claude Code reads the screenplay, the breakdown, the shot list, the Director's briefs, the art and every render. It changes nothing.
https://stanislavsky.ai/api/mcpThe steps change with the client you pick at the top of the page. Everything runs on one key, and it opens only the productions your account can open.
One command adds the studio as a server, in the terminal you already work in.
In your profile, under API keys, press New API key. It is shown once — copy it then.
Run this once. The key goes in the header, not in the URL.
claude mcp add --transport http stanislavsky https://stanislavsky.ai/api/mcp --header "Authorization: Bearer sk-stan-live-…"
Claude lists the projects the key can open first, then reads the one you name.
Where does LURIA stand — and what is still unrendered, scene by scene?
A remote server in Cursor's own config file; the agent panel picks it up on reload.
In your profile, under API keys, press New API key. It is shown once — copy it then.
In the project you want it in — or ~/.cursor/mcp.json for every project.
{
"mcpServers": {
"stanislavsky": {
"url": "https://stanislavsky.ai/api/mcp",
"headers": {
"Authorization": "Bearer sk-stan-live-…"
}
}
}
}The server appears under Settings → MCP with its tools listed. Ask in the agent panel.
GitHub Copilot's MCP config, with the key asked for once and kept by the editor.
The input below asks for the key the first time the server starts, and VS Code keeps it.
{
"inputs": [
{
"id": "stanislavsky-key",
"type": "promptString",
"description": "Stanislavsky API key",
"password": true
}
],
"servers": {
"stanislavsky": {
"type": "http",
"url": "https://stanislavsky.ai/api/mcp",
"headers": {
"Authorization": "Bearer ${input:stanislavsky-key}"
}
}
}
}Run MCP: List Servers, choose stanislavsky, then Start. Its tools are available in Copilot Chat's agent mode.
The whole server is one POST: JSON-RPC in, one JSON body out. Any client that can send a header can use it.
In your profile, under API keys, press New API key. It is shown once — copy it then.
Export the key once in your shell; every call carries it and stands alone, so any instance can answer it.
export STANISLAVSKY_KEY=sk-stan-live-…
One JSON-RPC message in, one JSON body out — no session id, no event stream.
curl -s https://stanislavsky.ai/api/mcp \
-H "Authorization: Bearer $STANISLAVSKY_KEY" \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'Take a name from tools/list and pass it with the production it should read — this body is what goes after -d.
{
"jsonrpc": "2.0",
"id": 2,
"method": "tools/call",
"params": {
"name": "read_project",
"arguments": { "project": 42, "section": "scenes" }
}
}initialize, ping, tools/list, tools/call. Anything else is a method-not-found, which is what a client expects from a server that declared no more.
The studio as a connector inside ChatGPT.
ChatGPT adds a connector with a URL and either no sign-in or OAuth. It cannot send the Authorization header this server asks for, so it has no way to say who is asking.
It opens when the studio can sign a client in itself. Every tool behind it is already here.
claude.ai and the Claude apps, with the studio as a connector.
The Claude web app and the desktop apps add a connector without a bearer header, for the same reason: the connector signs in with OAuth, not with a pasted key.
OAuth on this server. Until then Claude Code carries the key for you and gets the same tools.
Ask the studio from a chat, with the answers arriving as messages.
The studio's Telegram bot is a way to file a request, not a way into a production. There is no bot over MCP yet.
A bot is a client like any other — the server is here, waiting for one that speaks it.
A stanislavsky command: list productions, read a scene, hand a brief on.
The studio has no command of its own in the terminal. Today the terminal client is Claude Code, not stanislavsky.
A small client over this same endpoint; every call it would make already exists.
Studio staff, for now. A key is issued to an account in the studio; the team is using it first and finding which tools earn their place. Ask for access.
A few to start from: copy one into Claude once you are connected. Each names the tools it takes, and every one of those is described below.
“List my projects, open LURIA, and write me where it stands: what the story is, how many scenes and shots are broken down, what has been rendered, and what is still missing.”
list_projectsread_project“Read scene 7, then read its shot list. Which action sentences in the scene are covered by no shot at all — and for the ones that are covered, which shot covers them?”
read_sceneread_shots“Search the screenplay for ‘the letter’ and tell me every scene it turns up in, with one line on what that scene is doing dramatically.”
search_scriptread_scene“Find every take rendered for shot 7.3, tell me which one is the pick, then look at the two best frames — is the light in them what the gaffer planned for that scene?”
read_shotread_mediaview_imageread_department“Read the Director's brief for the production designer on scene 4, then check what art exists for that scene: does the blocking match the floor plan, and are the props in the breakdown in the frame?”
read_briefsread_scene_artread_scene“Show me the last failed generation on this project: the prompt that went out, where the references came from, exactly what the provider answered, and whether it was failing for everyone that hour.”
read_generation_failureread_activityA key is a reader, and the boundary is the account it belongs to. Everything the server does is on the record of that key.
A key opens exactly what its account can open, and no more. Revoke it and the connection stops on its next call.
No edit, no render, no spend. When the answer is a change, Claude hands you the link that opens the production — the click is yours.
One reply carries about 20,000 tokens. A longer answer is cut, and says where — narrow the question and it goes deeper.
Tool, production, key, arguments, outcome and how long it took — kept with the key's own history, not in a log nobody reads.
The whole server, grouped the way a production is: what it is, what happens in it, how it is shot, what it looks like, and what went wrong.
Find a production, then take its shape in one answer.
list_projectsThe productions this key can open, newest first, each with the link that opens it in the studio.
read_projectOne production the way its crew sees it — story, structure, the cut, the cast, the breakdown and shot list, the briefs, the art, the renders, the activity. Big productions come in sections.
What happens, to whom, and where it is said.
read_sceneOne scene whole: the screenplay's own action and dialogue, the 1st AD's card, the value charge and the rhythm sketch.
search_scriptEvery line the screenplay and the scene summaries have that matches a phrase, each with its scene number.
read_characterOne person: their screenplay entry, the arc, every scene they are in, and the casting profile if one has been made.
read_briefsWhat the Director asked each department for — task, intent, constraints and references — by department or by scene.
The shot list, one shot, and any department's own work.
read_shotsThe complete shot package for one scene, or the whole film: size, angle, movement, lens, composition, continuity, intent, duration.
read_shotOne shot whole: its row in the list, the camera override, the lighting plan, every still and take rendered for it — and which one is the pick.
read_departmentWhat one department has on this production, in its own depth — the Gaffer's plans, Costume's looks, the DoP's list, the 1st AD's breakdown.
The plates, the documents, the renders — and the frames themselves.
read_scene_artThe Production Designer's work on one scene: the space, the plan, the blocking, the base storyboard — whichever of the four exist.
list_artifactsEvery document the pipeline has made for the production, with its status and size — what exists before asking for it.
read_artifactOne document verbatim by its pipeline code: screenplay, structure, virtual edit, breakdown, shot list, briefs, or a scene's art. Large ones are cut, so prefer the focused tools.
read_mediaThe index of what has actually been rendered — portraits, looks, art, panels, stills, clips, takes — with the model, the date and whether a take is the pick. Counts, not pixels.
view_imageThe image itself, not its record: composition, light, likeness, whether a take works. Claude looks at the frame.
What the crew ran, and what the studio refused.
read_activityThe production's log, newest first: which agent ran what, when, on which model, for how long, at what cost, and whether it failed.
read_generation_failureOne failure in full: the window, the model, the prompt, where each reference came from, what the provider answered, and how that model was doing for the whole studio.
Nothing here writes. No edit, no render, no spend — a tool asked for one answers with the link that opens the production in the studio, where the click is yours. Every call is written down against the key that made it.
Make a key, run one command, ask. Keys are for studio staff for now — the team is using it first, and everyone else can ask for the door to open.