Skip to main content
Glama

Stage a free edit op

stage_op

Stages ONE free edit op on a project — deterministic, no provider is called — into the project's conversation draft: the SAME op the human director runs from a panel or the chat (agent and human edits converge on ONE op-log). The draft becomes a new version when it is committed. Only the free ops run here: the paid re-authoring ops and the creation fields have their own tools (invocableVia in the op catalogue names the tool of each op). Ops:

  • replan_scenes: Reorder the scenes (a permutation of indexes). Deterministic, $0. Args: order=[int...].

  • set_piece_fields: Set PIECE-level fields (production_score: silence_plan, music_intent, narrative_arc…), validated by the schema. Deterministic, $0. Args: fields (partial production_score: silence_plan, music_intent, narrative_arc, expected_total_duration_sec…; lists replace).

  • set_scene_fields: Set concrete fields of one scene (narration, duration, silences, infographic data…), validated by the schema. Deterministic, $0. Args: scene_index, fields (partial scene object: narrator_text, direction_notes, pre_silence_sec, pause_after_sec, visual.duration_target_sec, visual.prompt, infographic.data, kinetic_caption…; nested dicts merge by key, null deletes; validated by the VBP schema).

  • set_visual: Set a scene's visual type and/or visual prompt. Deterministic, $0. Args: scene_index, visual_type?, visual_prompt?.

  • swap_voice: Change the voice (semantic attributes) of one scene or all of them. Deterministic, $0. Args: voice_spec={...} (semantic attributes only: timbre, cadence, accent, language, apparent_gender, voice_style — NOT a voice id: the concrete voice is a piece-level decision made when the piece is created; a scene has no voice pin of its own, for the human either), scene_index?. The result carries the coherence report: a hasBlocking draft can still be committed with force=true. While an authoring turn of the same project is in flight the draft is not touched (authoring-in-progress). Requires the write scope. $0.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
opYes
argsYesOp arguments (see description).
project_idYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the annotations it discloses that the op is deterministic and $0, that the draft becomes a new version only when committed, that a hasBlocking draft can still be committed with force=true, and that a concurrent authoring turn leaves the draft untouched (authoring-in-progress). It also states the required write scope. This is substantial behavioral context that the annotations (which merely mark non-readOnly, non-destructive, non-idempotent) do not convey.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The purpose and boundary are front-loaded before the op catalogue, and every op line earns its place by naming args and cost. It is dense and repeats 'Deterministic, $0' five times, which is redundant, but the length is defensible given five ops with nested arguments.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a five-op tool with nested args and no output schema, the description covers purpose, per-op arg semantics, cost, scope, concurrency behavior, and the shape of the result (the coherence report with hasBlocking). Nothing an agent needs to invoke it correctly appears to be missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is only 33%, so the description carries the burden and does so thoroughly: each enum value is documented with its own arg shape (e.g. order=[int...] for replan_scenes, scene_index/fields for set_scene_fields, voice_spec semantic attributes for swap_voice). It specifies merge/delete semantics ('nested dicts merge by key, null deletes'), that lists replace, and the critical constraint that voice_spec takes semantic attributes, not a voice id. This adds far more than the raw schema provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb+resource ('Stages ONE free edit op on a project') and immediately scopes it as deterministic with no provider call, writing into the project's conversation draft. It distinguishes itself from the paid re-authoring ops and creation fields, which 'have their own tools', so an agent can separate it from siblings like author_op or run_op without opening the schema. The op list makes the exact edited surface explicit.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It clearly delimits when this tool applies: only the five free ops run here, and paid re-authoring / creation fields belong elsewhere. It adds a state condition (the draft is not touched while an authoring turn is in flight) and note that agent and human edits converge on one op-log. It stops short of naming a specific sibling tool for each alternative, deferring to 'invocableVia in the op catalogue', which is slightly indirect.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources