Skip to main content
Glama

set_frame_duration

Adjust a single frame's duration in milliseconds for precise animation timing. Validates the 1-based frame index, rejecting out-of-range values with the sprite's valid range.

Instructions

Set a single frame's duration in milliseconds (1-based frame).

`frame` must already exist: an out-of-range number is rejected with the sprite's
valid range rather than clamped to it (which used to report the requested number
while changing frame 1).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
frameYes
filenameYes
duration_msYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed4 schema fields changedv0.10.0
    • removedInput schema / properties / duration_ms / title
      Removed value: -"Duration Ms"
    • removedInput schema / properties / filename / title
      Removed value: -"Filename"
    • removedInput schema / properties / frame / title
      Removed value: -"Frame"
    • removedInput schema / title
      Removed value: -"set_frame_durationArguments"
  2. First observedv0.7.0

TDQS

A3.9/5.0
Behavior4/5

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

Annotations only say it is not read-only and not open-world. The description adds meaningful behavioral detail: out-of-range frames are rejected with the valid range rather than clamped, and the historical bug is called out so the agent understands the current contract.

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 description is short, front-loads the operation, and keeps the key precondition in the first sentence. The parenthetical historical note is useful but slightly more detail than strictly needed for selection.

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?

For a simple three-parameter mutation tool with no output schema and minimal annotations, the description covers indexing, units, existence constraint, and error behavior. It is nearly complete, though filename semantics and whether changes are persisted remain implicit.

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 0%, so the description must compensate. It explains that duration is in milliseconds and that frame is 1-based and must already exist, but it says nothing about the filename parameter, leaving one of three required parameters semantically undocumented.

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 precise verb and resource: set a single frame's duration, with units and indexing. The word 'single' distinguishes it from the sibling set_all_frame_durations without requiring the schema to be opened.

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?

It gives an important precondition ('frame' must already exist) and error behavior, but does not explicitly say when to choose this tool over set_all_frame_durations or other frame-duration tools. Usage is implied by the single-frame scope rather than stated as routing guidance.

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