Skip to main content
Glama

shot.remove_keyframe

Remove a generated still (keyframe asset) from a shot. If it was the shot's start or end frame, that frame is cleared. Undoable; credits are not refunded.

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": {
      "projectId": "<projectId>",
      "expectedVersion": "<expectedVersion>",
      "shotId": "<shotId>",
      "assetId": "<assetId>"
    },
    "name": "shot.remove_keyframe"
  }
}

Input Schema

NameRequiredDescriptionDefault
shotIdYes
assetIdYes
projectIdYes
expectedVersionYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

B3.2/5.0
Behavior3/5

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

With no annotations supplied, the description carries the full burden, and it does disclose real behavioral traits: the start/end frame gets cleared, the action is undoable, and credits are not refunded. However, it says nothing about required permissions, what happens to the underlying asset record, or the role of expectedVersion in the mutation.

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?

Three short sentences, front-loaded with the core action, then side effects, then cost/undo caveats. No filler; every clause earns its place.

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?

The mutation side effects are well covered for a destructive tool with no annotations and no output schema, but the complete absence of parameter documentation — particularly expectedVersion — leaves an agent guessing on the call contract.

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

Parameters2/5

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

Schema description coverage is 0% across four required parameters, so the description must compensate and does not. It only loosely implies shotId and assetId through the prose; projectId and especially expectedVersion (presumably optimistic-concurrency control) are never explained anywhere.

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 states a specific verb and resource ("Remove a generated still (keyframe asset) from a shot") and clarifies the domain term "keyframe asset" as a still. It implicitly contrasts with shot.generate_keyframe and shot.add_still, but never names an alternative operation, so sibling differentiation is only partial.

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 is implied by the removal action, and the sentence about start/end frames gives context on when the effect matters. There is no explicit when-to-use vs when-not guidance, and no pointer to related siblings such as shot.select_keyframe or asset.capture_frame.

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.