unreal-animation-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| UE_PROJECT_PATH | Yes | Path to the UE project root (containing the .uproject file) | |
| UE_MULTICAST_BIND | No | Local interface to bind multicast listener (default: 127.0.0.1) | 127.0.0.1 |
| UE_MULTICAST_PORT | No | UDP multicast port for editor discovery (default: 6766) | 6766 |
| UE_MULTICAST_GROUP | No | UDP multicast group for editor discovery (default: 239.0.0.1) | 239.0.0.1 |
| UE_EDITOR_PYTHON_PORT | No | TCP port for editor Python commands (default: 6776) | 6776 |
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
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_anim_sequence_infoA | Get core metadata for an AnimSequence. Returns length, frame count, rate scale, interpolation type, additive type, root motion settings, bone track names, and skeleton reference. Args: asset_path: Unreal asset path, e.g. '/Game/Animations/AS_Run' |
| get_anim_notifiesA | Get all notifies on an animation asset. Args: asset_path: Unreal asset path to an AnimSequence or AnimMontage |
| get_anim_curvesA | Get all curves on an animation sequence. Args: asset_path: Unreal asset path curve_type: Filter by type: 'float', 'vector', or 'transform' |
| get_bone_tracksA | Get bone track names, or detailed keys for a specific bone. Args: asset_path: Unreal asset path bone_name: Specific bone to inspect (omit for track list) |
| get_bone_pose_at_timeA | Get bone transforms at a specific time. Args: asset_path: Unreal asset path bone_names: List of bone names to query time: Time in seconds |
| get_sync_markersC | Get sync markers on an animation sequence. Args: asset_path: Unreal asset path |
| get_montage_infoC | Get core metadata for an AnimMontage. Args: asset_path: Unreal asset path, e.g. '/Game/Montages/AM_Attack' |
| get_montage_sectionsA | Get detailed section list for a montage. Args: asset_path: Unreal asset path |
| get_montage_slotsB | Get slot tracks for a montage. Args: asset_path: Unreal asset path |
| get_blendspace_infoB | Get core metadata for a BlendSpace. Args: asset_path: Unreal asset path |
| get_blendspace_samplesB | Get all sample points in a BlendSpace. Args: asset_path: Unreal asset path |
| get_skeleton_infoA | Get bone hierarchy and metadata for a Skeleton. Args: asset_path: Unreal asset path |
| get_skeletal_mesh_infoC | Get metadata for a SkeletalMesh. Args: asset_path: Unreal asset path |
| get_abp_infoB | Get core metadata for an AnimBlueprint. Args: asset_path: Unreal asset path, e.g. '/Game/Characters/ABP_Hero' |
| get_abp_graphsC | List animation graphs in an AnimBlueprint. Args: asset_path: Unreal asset path |
| get_abp_nodesA | Enumerate anim graph nodes in an AnimBlueprint. Args: asset_path: Unreal asset path node_class: Filter by node class name (e.g. 'AnimGraphNode_BlendListByBool') |
| get_abp_asset_overridesB | Get parent node asset overrides in an AnimBlueprint. Args: asset_path: Unreal asset path |
| get_abp_state_machinesA | Get all state machines in an AnimBlueprint with states and transitions. Args: asset_path: Unreal asset path, e.g. '/Game/Characters/ABP_Hero' |
| get_abp_state_infoC | Get detailed info about a specific state in an ABP state machine. Args: asset_path: Unreal asset path machine_name: State machine name state_name: State name |
| get_abp_transitionsB | Get detailed transitions in an ABP state machine. Args: asset_path: Unreal asset path machine_name: State machine name |
| get_abp_blend_nodesA | Get blend nodes in an AnimBlueprint graph. Args: asset_path: Unreal asset path graph_name: Graph name to inspect (empty for first graph) |
| get_abp_linked_layersC | Get linked animation layers in an AnimBlueprint. Args: asset_path: Unreal asset path |
| add_notifyB | Add a notify to an animation. Args: asset_path: Unreal asset path track_name: Notify track name time: Trigger time in seconds notify_class: Notify class name (e.g. 'AnimNotify_PlaySound') |
| add_notify_stateB | Add a notify state to an animation. Args: asset_path: Unreal asset path track_name: Notify track name time: Start time in seconds duration: Duration in seconds notify_state_class: Notify state class name |
| remove_notifiesA | Remove notifies by name or track. Args: asset_path: Unreal asset path notify_name: Remove notifies with this name track_name: Remove all notifies on this track |
| add_notify_trackB | Add a notify track to an animation. Args: asset_path: Unreal asset path track_name: Name for the new track |
| remove_notify_trackA | Remove a notify track. Args: asset_path: Unreal asset path track_name: Track to remove |
| set_notify_timeA | Set the trigger time of a specific notify. Args: asset_path: Unreal asset path notify_index: Index of the notify new_time: New trigger time in seconds |
| set_notify_durationB | Set the duration of a notify state. Args: asset_path: Unreal asset path notify_index: Index of the notify state new_duration: New duration in seconds |
| add_curveB | Add a curve to an animation. Args: asset_path: Unreal asset path curve_name: Name for the new curve curve_type: 'float', 'vector', or 'transform' |
| add_curve_keysC | Add keys to a float curve. Args: asset_path: Unreal asset path curve_name: Curve name times: List of key times values: List of key values |
| remove_curveC | Remove a curve from an animation. Args: asset_path: Unreal asset path curve_name: Curve to remove |
| add_sync_markerC | Add a sync marker to an animation. Args: asset_path: Unreal asset path marker_name: Marker name time: Time in seconds track_name: Notify track name |
| remove_sync_markersB | Remove sync markers by name, track, or all. Args: asset_path: Unreal asset path marker_name: Remove markers with this name track_name: Remove markers on this track |
| set_root_motionA | Enable/disable root motion on an animation. Args: asset_path: Unreal asset path enabled: Enable or disable root motion lock_type: Lock type (e.g. 'AnimFirstFrame', 'Zero', 'RefPose') |
| set_rate_scaleC | Set the rate scale of an animation. Args: asset_path: Unreal asset path rate_scale: New rate scale value |
| set_additive_typeC | Set additive animation type. Args: asset_path: Unreal asset path additive_type: Additive type (e.g. 'AAT_None', 'AAT_LocalSpaceBase') base_pose_type: Base pose type (e.g. 'ABPT_None', 'ABPT_RefPose') |
| add_virtual_boneC | Add a virtual bone to a skeleton. Args: asset_path: Unreal asset path to skeleton source_bone: Source bone name target_bone: Target bone name |
| remove_virtual_bonesA | Remove virtual bones from a skeleton. Args: asset_path: Unreal asset path bone_names: Specific bones to remove (omit for all) |
| copy_notifiesB | Copy notifies from one animation to another. Args: source_path: Source asset path dest_path: Destination asset path |
| set_montage_blendC | Set montage blend settings. Args: asset_path: Unreal asset path blend_in_time: Blend in time in seconds blend_out_time: Blend out time in seconds blend_out_trigger: Blend out trigger time auto_blend_out: Enable auto blend out |
| add_meta_dataC | Add metadata to an animation asset. Args: asset_path: Unreal asset path meta_data_class: Metadata class name |
| remove_meta_dataB | Remove metadata from an animation asset. Args: asset_path: Unreal asset path meta_data_class: Specific class to remove (omit for all) |
| add_montage_sectionC | Add a new section to a montage. Args: asset_path: Unreal asset path section_name: Name for the new section start_time: Start time in seconds |
| delete_montage_sectionB | Delete a section from a montage. Args: asset_path: Unreal asset path section_index: Index of the section to delete |
| set_section_nextC | Set the next section for a montage section. Args: asset_path: Unreal asset path section_name: Current section name next_section_name: Next section to play |
| set_section_timeA | Set the start time of a montage section. Args: asset_path: Unreal asset path section_name: Section name new_time: New start time in seconds |
| add_blendspace_sampleC | Add a sample to a BlendSpace. Args: asset_path: BlendSpace asset path anim_path: Animation asset path for the sample x: X axis value y: Y axis value |
| edit_blendspace_sampleA | Edit a BlendSpace sample position and/or animation. Args: asset_path: BlendSpace asset path sample_index: Index of the sample to edit x: New X axis value y: New Y axis value anim_path: New animation path (empty to keep current) |
| delete_blendspace_sampleA | Delete a sample from a BlendSpace. Args: asset_path: BlendSpace asset path sample_index: Index of the sample to delete |
| add_bone_trackC | Add a bone track to an animation. Args: asset_path: Unreal asset path bone_name: Bone name |
| remove_bone_trackA | Remove a bone track from an animation. Args: asset_path: Unreal asset path bone_name: Bone name include_children: Also remove child bone tracks |
| set_bone_track_keysB | Set bone track keys for an animation. Args: asset_path: Unreal asset path bone_name: Bone name positions_json: JSON array of [x,y,z] positions rotations_json: JSON array of [x,y,z,w] rotations scales_json: JSON array of [x,y,z] scales |
| search_animationsA | Search for animation assets by name, type, folder, or skeleton. Args: query: Name pattern to match (case-insensitive) anim_type: Filter by type: AnimSequence, AnimMontage, BlendSpace, BlendSpace1D, AnimBlueprint folder: Unreal folder path, e.g. '/Game/Animations' skeleton: Filter by skeleton path |
| search_by_notifyA | Find animations containing a specific notify. Args: notify_name: Notify name to search for notify_class: Notify class to search for folder: Restrict search to folder |
| search_by_curveA | Find animations containing a specific curve. Args: curve_name: Curve name to search for curve_type: Filter by type: 'float', 'vector', 'transform' folder: Restrict search to folder |
| search_by_slotB | Find montages using a specific slot. Args: slot_name: Slot name to search for folder: Restrict search to folder |
| audit_notifiesB | Audit notify usage across animations. Args: asset_path: Specific asset to audit (omit for folder scan) folder: Folder to scan |
| audit_blendspaceC | Analyze BlendSpace sample coverage and find issues. Args: asset_path: BlendSpace asset path |
| compare_animationsC | Compare two animation assets. Args: path_a: First animation asset path path_b: Second animation asset path |
| get_animation_summaryB | Get folder-level animation stats. Args: folder: Unreal folder path, e.g. '/Game/Animations' |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/tumourlove/DEPRECATED-unreal-animation-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server