MCP / Tools / Screenplay / screenplay_snapshot_apply

screenplay_snapshot_apply

writebetaauth: screenplay:writeapproval: requiredstatus: v1

Use when the user has exact text or block changes to save: replace, insert or delete text/blocks, update block metadata, or replace a scene from Fountain/plain text. Read current base_rev and scene/block IDs with screenplay_read first. This directly changes current pages without AI rewriting. Generate passage edits with screenplay_edit_propose; apply a reviewed supplied-text draft with screenplay_draft_apply. Wait for active screenplay generation to finish first.

When to use

  • Use after `screenplay_read` when you know the current `base_rev`, target scene/block IDs, and the exact mutation to apply.
  • Use for direct block-level edits such as replacing text, inserting text, deleting text, deleting a block, inserting a new block, or updating block metadata such as dialogue character display.
  • Use `replace_scene_from_text` when the caller has exact Fountain/plain screenplay text and wants to replace one existing scene's editor blocks without creative rewriting.

When not to use

  • Do not use for natural-language requests like "make this dialogue sharper"; use `screenplay_edit_propose` then `screenplay_edit_apply`.
  • Do not use `screenplay_rewrite_run` for exact known replacement text; reserve rewrite proposals for creative direction-driven changes.
  • Do not use raw legacy editor operation objects; use the snapshot mutation operations exposed by this tool.
  • Do not use while `screenplay_generation_run` is still generating screenplay prose for the same project; poll `job_get` first.

Examples

  • “Replace block `block_abc` with this exact revised action line.”
  • “Delete block `block_abc` from snapshot revision 42.”
  • “Insert an action block after `block_abc` in scene `scene_123`.”
  • “Update dialogue block `block_abc` so its character display is `LESTRADE`.”
  • “Replace scene `scene_123` from exact Fountain text using `replace_scene_from_text`.”

Anti-examples

  • Rewrite this whole scene in a darker tone.
  • Apply this raw `updateText` op.

Backend capabilities

screenplay.snapshot_apply

Linked resources

Tool calls may return resource_links pointing at these resource families.

Input schema

screenplay_snapshot_apply input
{
  "$ref": "./screenplay.snapshot_apply.input.json"
}

Output schema

screenplay_snapshot_apply output
{
  "$ref": "./screenplay.snapshot_apply.output.json"
}
← All toolsv1 · mutate_tool