Skip to main content
Glama

set_keyframe

Idempotent

Adds or updates a keyframe on a node knob at a specified frame, creating animation if the knob is not already animated.

Instructions

Set a keyframe on a knob at a specific frame. Creates animation if the knob is not already animated.

Args: node: node name. knob: knob name. frame: frame number. value: value at that frame.

Input Schema

NameRequiredDescriptionDefault
knobYesknob name.
nodeYesnode name.
frameYesframe number.
valueYesvalue at that frame.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.2.0

TDQS

B3.1/5.0
Behavior3/5

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

Annotations already declare idempotentHint=true and destructiveHint=false (safe, repeatable), and the description usefully adds that missing animation tracks are created automatically. However it is silent on what happens when a keyframe already exists at the frame (overwrite vs add) and on value units, which matters for a mutation tool.

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

Conciseness3/5

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

The first sentence is well front-loaded and does real work, but it is followed by an Args block that duplicates the input schema word-for-word, adding length without value.

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

Completeness3/5

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

For a 4-required-param mutation with no output schema and annotations covering the safety profile, the description is adequate but leaves out overwrite semantics, value units, and error behavior when node/knob are invalid.

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 description coverage is 100%, so the schema already documents all four parameters. The Args block merely restates those descriptions verbatim ('node: node name.', 'value: value at that frame.') with zero added meaning, so baseline 3 applies.

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?

States a specific verb+resource ('Set a keyframe on a knob') and adds the meaningful side effect that animation is created if absent. It is implicitly distinguishable from siblings like set_knob and list_keyframes, though it never names the alternative it supersedes.

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

Usage Guidelines2/5

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

No guidance on when to use this versus set_knob, set_expression, or keyframe-editing siblings, and no prerequisites (e.g. that node/knob must already exist). The agent must infer usage from the name alone.

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