Skip to content

animation

animation

MCP tool definitions for animation operations.

Functions:

Name Description
delete_keyframe

Delete a keyframe at a specific frame.

get_frame

Get the current frame and FPS.

get_keyframes

Get all keyframes on a parameter.

playbar_control

Control playback: play, stop, or reverse.

set_frame

Set the current frame in the timeline.

set_frame_range

Set the global frame range.

set_keyframe

Set a single keyframe on a parameter.

set_keyframes

Batch-set multiple keyframes on a parameter.

set_playback_range

Set the playback range (green bar in the timeline).

Functions

delete_keyframe async

delete_keyframe(
    ctx: Context, node_path: str, parm_name: str, frame: float
) -> dict

Delete a keyframe at a specific frame.

Parameters:

Name Type Description Default
node_path
str

Node path.

required
parm_name
str

Parameter name.

required
frame
float

Frame number to delete.

required

get_frame async

get_frame(ctx: Context) -> dict

Get the current frame and FPS.

get_keyframes async

get_keyframes(ctx: Context, node_path: str, parm_name: str) -> dict

Get all keyframes on a parameter.

Parameters:

Name Type Description Default
node_path
str

Node path.

required
parm_name
str

Parameter name.

required

playbar_control async

playbar_control(
    ctx: Context,
    action: str,
    real_time: bool | None = None,
    fps: float | None = None,
) -> dict

Control playback: play, stop, or reverse.

Parameters:

Name Type Description Default
action
str

One of "play", "stop", or "reverse".

required
real_time
bool | None

Enable or disable real-time playback.

None
fps
float | None

Frames per second.

None

set_frame async

set_frame(ctx: Context, frame: float) -> dict

Set the current frame in the timeline.

Parameters:

Name Type Description Default
frame
float

Frame number.

required

set_frame_range async

set_frame_range(ctx: Context, start: float, end: float) -> dict

Set the global frame range.

Parameters:

Name Type Description Default
start
float

Start frame.

required
end
float

End frame.

required

set_keyframe async

set_keyframe(
    ctx: Context,
    node_path: str,
    parm_name: str,
    frame: float,
    value: float,
    slope: float | None = None,
    accel: float | None = None,
) -> dict

Set a single keyframe on a parameter.

Parameters:

Name Type Description Default
node_path
str

Node path.

required
parm_name
str

Parameter name.

required
frame
float

Frame number.

required
value
float

Value at this keyframe.

required
slope
float | None

Tangent slope.

None
accel
float | None

Acceleration.

None

set_keyframes async

set_keyframes(
    ctx: Context, node_path: str, parm_name: str, keyframes: list[dict]
) -> dict

Batch-set multiple keyframes on a parameter.

Parameters:

Name Type Description Default
node_path
str

Node path.

required
parm_name
str

Parameter name.

required
keyframes
list[dict]

List of dicts with "frame", "value", and optionally "slope"/"accel".

required

set_playback_range async

set_playback_range(ctx: Context, start: float, end: float) -> dict

Set the playback range (green bar in the timeline).

Parameters:

Name Type Description Default
start
float

Start frame.

required
end
float

End frame.

required