Skip to main content
Glama

Add keyframe

add_keyframe

[write] Add one keyframe (or merge into the one within a frame of atMs) on a visual clip. atMs is clip-local, and the other keyframes stay. Use to build or adjust an animation one point at a time. Not for replacing or clearing them all (use set_keyframes). Returns the changed clips' rows (with handles) and counts. Related: set_keyframes, get_timeline.

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": {
      "project_id": "<project_id>"
    },
    "name": "add_keyframe"
  }
}

Input Schema

NameRequiredDescriptionDefault
xNoFrame-width % from centre (+ right).
yNoFrame-height % from centre (+ down).
idNoget_timeline handle.
atMsNoClip-local ms (0 = the clip's start).
blurNopx at 1080p, 0–50.
easeNoInto the next one (default ease).
itemsNoMany clips at once, max 60, each with this tool's fields.
scaleNoMultiplier, 0.01–20 (1 = fitted).
opacityNo0–1.
contrastNo0..2, 1 = unchanged.
rotationNoDegrees.
brightnessNo0..2, 1 = unchanged.
project_idYesThe AskEditor project this acts on (from list_projects).
saturationNo0..2, 1 = unchanged, 0 = greyscale.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.4/5.0
Behavior4/5

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

Adds real behavior beyond annotations: merge-into-nearby-keyframe semantics, that other keyframes are preserved, that atMs is clip-local, and that the response contains changed clip rows with handles plus counts. Annotations only cover safety hints, so this return-shape disclosure is valuable; minor gap is no detail on error/conflict behavior.

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

Conciseness5/5

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

Four tight sentences, front-loaded with the core action, then usage, then exclusion, then return value. No filler or redundancy.

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 14-parameter tool with no output schema, the description covers the action, the preservation/merge contract, the alternative, and the return shape. Adequate; slightly more on the batch `items` path or required-field expectations would make it fully complete.

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 every parameter including the clip-local meaning of atMs. The description adds only the merge-within-a-frame behavior, not per-parameter meaning, so baseline 3 applies.

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?

States a specific verb (add) and resource (one keyframe on a visual clip), plus the merge nuance within a frame of `atMs`. Explicitly names set_keyframes as the different sibling, so an agent can distinguish the two without opening either schema.

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

Usage Guidelines5/5

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

Gives a positive use case ('build or adjust an animation one point at a time') and an explicit exclusion with the alternative ('Not for replacing or clearing them all (use set_keyframes)'). Nothing about tool selection is left to inference.

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