Skip to main content
Glama
waliex3

motion-mcp-server

by waliex3

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault

No arguments

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
motion_openA

Open and index a .motn or .moti file. Required before any other tool can operate on it. Returns a summary (canvas size, frame rate, duration, layer/text-layer/published-parameter counts).

motion_list_layersB

List every layer in the template's layer tree (id, name, factory kind e.g. Text/Image/Emitter/Shape/Generator, nesting depth, locked).

motion_list_text_layersB

List every Text-factory layer with its current on-screen string and the scenenode id needed by motion_set_text.

motion_get_parameterA

Inspect a parameter by slash-separated name path from a scenenode, e.g. "Object/Text" or "Style/Face/Color/Red". Returns its current value/default, whether it's keyframed, and child parameter names if it's a group rather than a leaf.

motion_list_keyframesA

List every keypoint on an animated parameter's curve, in document order, with time (seconds) and value.

motion_list_rigA

List every published (rig) parameter — the controls Final Cut Pro's Inspector shows when this template is used as an FCP title/generator/ effect.

motion_set_textA

Change the on-screen string of a Text-factory layer. Font, color, and behaviors are untouched — only the text content changes.

motion_set_parameter_valueA

Set a leaf parameter's static value (e.g. "Object/Face/Opacity"). Refuses to touch an already-keyframed parameter unless force=True is passed explicitly, to avoid silently breaking an existing animation — use motion_add_keypoint for animated parameters instead.

motion_set_colorB

Set RGB(A) on a color parameter group, e.g. "Style/Face/Color" for a Text layer's face color (values are Motion's native 0.0-1.0 range, though Motion permits >1.0 for over-bright colors).

motion_create_keyframe_curveA

Start animating a leaf parameter that has NEVER been keyframed in Motion — creates its from scratch, seeded with one keypoint, so you can author dynamic/procedural motion rather than only editing curves Motion already created. Grounded in a structural scan of real Motion documents: every keyframed leaf parameter observed (Position X/Y/Z, Scale, Angle, Opacity, RGB(A) channels, behavior Amounts, ...) uses the same universal scalar curve type — Motion animates compound properties like Position or Color by keyframing each numeric child parameter independently, so target one scalar channel at a time (e.g. "Style/Face/Color/Red", not "Style/Face/Color"). Refuses a parameter that's already keyframed (use motion_add_keyframe instead) or that's a group with its own child parameters rather than a bare value. default overrides the curve's rest value; it otherwise reuses the parameter's current static value/default.

motion_add_keyframeA

Append a keypoint to a parameter that is ALREADY keyframed in Motion (has an existing with at least one keypoint). If the parameter has never been keyframed at all, call motion_create_keyframe_curve first to seed its curve, then use this tool for every keypoint after that.

motion_publish_parameterA

Publish an internal parameter as a rig control visible in Final Cut Pro's Inspector when this template is used as an FCP title/generator/ effect. object_id and channel come from Motion's own object graph (e.g. object="10003" channel="./1/100/101" for a layer's Position) — inspect a similar existing published target with motion_list_rig on a template you know works to find the right values for your layer.

motion_unpublish_parameterC

Remove a published (rig) parameter.

motion_save_asA

Write the open, modified document to output_path. Never overwrites the originally-opened file unless output_path is the same path — pass a new filename to keep the source template untouched.

motion_open_in_motionA

Open a file in Motion.app for visual review — this server cannot render frames or drive Motion's UI itself, so final visual QC always happens by handing the file to the app this way.

motion_validateA

Round-trip-check a file: re-parse it fresh from disk and confirm the root is a recognizable document. Useful right after motion_save_as to confirm the write didn't corrupt the XML.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/waliex3/motion-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server