Skip to main content
Glama

Set Scale To Frame Size

set_scale_to_frame_size

Enable Scale to Frame Size so timeline or project media fills the sequence frame; pass a clip or project item ID/name, then verify Motion > Scale with get_clip_properties.

Instructions

Enable 'Scale to Frame Size' so media fills the sequence frame. Accepts a timeline clip node ID (active sequence, same IDs as get_clip_properties) or a project item node ID or name. A timeline clip is resolved first and its source project item is updated through ProjectItem.setScaleToFrameSize(). ExtendScript exposes no getter for this flag, so the result is committed_unverified unless the timeline clip's Motion > Scale reads back changed (verified). Check with get_clip_properties.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "item_id": "<item_id>"
    },
    "name": "set_scale_to_frame_size"
  }
}

Input Schema

NameRequiredDescriptionDefault
item_idYesTimeline clip node ID in the active sequence, or project item node ID or name
idempotency_keyNoOptional client-chosen key (1-128 chars of A-Z a-z 0-9 . _ : -) for this intended edit. Pass a fresh key per edit and reuse it only when retrying that same edit, for example after a client-side timeout. A repeat with the same tool, key and arguments is not run again: while the first call is running it fails with IDEMPOTENCY_IN_PROGRESS (poll get_last_operations); after it finished it returns the original outcome marked replayed. A definite failure with nothing applied (receipt outcome not_applied) may be retried with the same key. Reusing a key with different arguments fails with IDEMPOTENCY_KEY_REUSED. Scoped to this MCP session (the stdio server process, or the HTTP server process when Streamable HTTP is stateless per request) and held in memory only (200 keys, 1 hour); it does not survive a restart or reconnect. Read-only invocations are never deduplicated.
expected_cep_targetNoOptional reviewed CEP sequence/clip identity and exact tick ranges. Checked before every generated command; UXP refuses this CEP-only guard.
expected_project_pathNoOptional absolute saved-project path. Every generated CEP command refuses before its body when the active project differs or is unsaved. UXP commands refuse this CEP-only guard; local-only tools do not inspect Premiere. Omit to keep existing behavior.

Output Schema

NameRequiredDescriptionDefault
okYesWhether the tool completed successfully.
dataNoTool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it.
toolYesThe registered MCP tool name.
errorNoFailure detail when ok is false.
receiptNoVersioned common mutation receipt; success never implies rendered verification.
idempotencyNoPresent when idempotency_key deduplicated this call: replayed is true when the original outcome was returned instead of running again.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.30.0

TDQS

A3.9/5.0
Behavior5/5

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

Beyond the annotations, the description discloses the internal resolution order (timeline clip first, then source project item via ProjectItem.setScaleToFrameSize()) and a non-obvious host limitation: ExtendScript exposes no getter, so the outcome is committed_unverified unless the Motion > Scale read-back changes. That is exactly the kind of side-effect and verification-state detail annotations cannot convey, and it is consistent with destructiveHint=false and readOnlyHint=false.

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?

Four sentences, front-loaded with the effect of the call before the identifier resolution and verification caveats. Dense but every sentence carries information; the ProjectItem.setScaleToFrameSize() call-out is arguably redundant with 'Enable Scale to Frame Size' but supports the transparency claim.

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

Completeness4/5

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

An output schema exists, so return-shape explanation is unnecessary, and the description instead covers the write path and how to verify the result. For a mutation tool with guard parameters this is close to sufficient; what is missing is any note on preconditions (e.g., whether the project item must be a still/asset that supports scaling) or how this differs from siblings that set explicit scale values.

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

Parameters3/5

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

Schema coverage is 100%, so the schema already documents item_id, idempotency_key, expected_cep_target and expected_project_path thoroughly. The description adds one useful nuance — item_id uses the same node IDs as get_clip_properties and accepts a name for project items — but says nothing about the guard or idempotency parameters, leaving it at the baseline.

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

Purpose4/5

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

The description opens with a specific verb and flag: "Enable 'Scale to Frame Size' so media fills the sequence frame," which tells an agent exactly what state changes. It also clarifies the two accepted identifier forms (timeline clip node ID vs project item node ID/name), separating it functionally from numeric alternatives like set_clip_scale. It does not explicitly name which sibling to use for arbitrary numeric scaling, so it falls short of a 5.

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

Usage Guidelines3/5

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

Usage context is implied rather than stated: the agent learns a timeline clip is resolved first and that results should be checked with get_clip_properties. There is no explicit 'use this instead of set_clip_scale / set_uniform_scale when...' routing, so an agent must infer the boundary from the flag-vs-value distinction.

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

Deploy Server

Other Tools