Skip to main content
Glama

add_fcurve_modifier

Add a modifier to an object's active action animation curves, enabling effects such as looping, noise jitter, stepped motion, or Gaussian smoothing.

Instructions

Add a modifier to animation curves of the object's active action.

Args: object_name: Animated object. data_path: Animated property, e.g. "location", "rotation_euler". modifier: CYCLES (repeat the keys forever: settings mode_before / mode_after REPEAT, REPEAT_OFFSET for walking forward, MIRROR), NOISE (organic jitter: strength, scale, phase, offset, depth), STEPPED (stop-motion look: frame_step, frame_offset), SMOOTH (Gaussian smoothing: sigma, filter_width). index: One component (0, 1, 2) or -1 for every component. settings: Modifier settings by name, plain values.

Returns: Dict with how many curves got the modifier.

Input Schema

NameRequiredDescriptionDefault
indexNo
modifierYes
settingsNo
data_pathYes
object_nameYes

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv3.0.0

TDQS

A3.8/5.0
Behavior3/5

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

With no annotations, the description carries the full behavioral burden. It discloses the return value (count of curves that received the modifier) and describes each modifier's effect, but is silent on error behavior when the object has no active action, whether existing modifiers stack, or whether the operation is reversible.

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?

Front-loaded with a single clear purpose sentence, then a well-structured Args/Returns block. The modifier enumeration is long but each entry adds information the schema cannot convey; the only minor waste is the Returns block, which duplicates the existing output schema.

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 5-parameter, mutation-style tool with no annotations, the description covers purpose, every parameter, modifier semantics, and the return shape. It falls short only on failure modes and interaction with pre-existing modifiers, which an agent would need before calling in edge cases.

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

Parameters5/5

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

Schema coverage is 0%, so the description must carry all parameter meaning, and it does: data_path gets concrete examples ("location", "rotation_euler"), index explains that -1 targets every component, settings is described as name-to-plain-value pairs, and each of the four modifier enum values lists its relevant settings keys.

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 and resource: adding a modifier to the animation curves of the object's active action. This implicitly separates it from add_modifier (object-level modifiers) and add_driver, but no sibling is named explicitly, so the agent must infer the distinction from the 'active action' qualifier.

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?

No explicit when-to-use or when-not-to-use statement, but the modifier enum is annotated with intent (CYCLES for repeating keys, NOISE for organic jitter, STEPPED for stop-motion), which conveys use cases. The 'active action' phrasing hints at the prerequisite without stating it outright.

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