blender_rigging
Create and manage Blender character rigs: armatures, bones, IK constraints, posing, keyframing, weight transfer, vertex groups, and humanoid mapping.
Instructions
PORTMANTEAU PATTERN RATIONALE: Consolidates 11 related rigging operations into single interface. Prevents tool explosion while maintaining full character rigging workflow from armature creation to humanoid mapping. Follows FastMCP 2.14.3 best practices.
Complete character rigging system for Blender supporting armatures, bones, IK, skinning, and humanoid standards.
Armature Operations (4 operations):
create_armature: Generate new skeleton object with customizable positioning
add_bone: Add individual bones to existing armature with parent/child relationships
create_bone_ik: Set up inverse kinematics constraints for realistic joint movement
create_basic_rig: Auto-generate complete biped character rig with standard bone structure
Bone Management (3 operations):
list_bones: Display all bones in armature with hierarchy and properties
pose_bone: Set bone transformations in pose mode for animation
set_bone_keyframe: Insert keyframes for bone animation at specific frames
Pose & Animation (1 operation):
reset_pose: Return armature to rest pose, clearing all pose transformations
Skinning & Weights (2 operations):
transfer_weights: Copy vertex weights between meshes using various projection methods
manage_vertex_groups: Create, rename, mirror, or remove vertex groups for weight painting
Standards & Compatibility (1 operation):
humanoid_mapping: Apply VRChat/Unity humanoid bone naming and structure standards
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| head | No | Starting point coordinates for new bone creation. Required for: "add_bone". Defines bone origin in 3D space. | |
| tail | No | Ending point coordinates for new bone creation. Required for: "add_bone". Defines bone length and direction. | |
| frame | No | Timeline frame number for keyframe insertion. Default: 1. Range: 1-10000. Corresponds to animation timeline frames. | |
| location | No | 3D position coordinates (x, y, z) for armature placement. Default: (0, 0, 0). Used for: "create_armature". | |
| rotation | No | Euler rotation angles in degrees (x, y, z) for bone posing. Default: (0, 0, 0). Used for: "pose_bone". Range: -180 to 180 degrees. | |
| bone_name | No | Name of bone to create, modify, or pose. Required for bone-specific operations. Must be unique within armature. | Bone |
| connected | No | Whether new bone connects directly to parent tail. Default: False. True creates seamless bone chain, False allows bone gaps. | |
| operation | No | The rigging operation to perform. Must be one of: "create_armature", "add_bone", "create_bone_ik", "create_basic_rig", "list_bones", "pose_bone", "set_bone_keyframe", "reset_pose", "transfer_weights", "manage_vertex_groups", "humanoid_mapping". - Armature operations: "create_armature", "add_bone", "create_bone_ik", "create_basic_rig" - Bone operations: "list_bones", "pose_bone", "set_bone_keyframe" - Pose operations: "reset_pose" - Skinning operations: "transfer_weights", "manage_vertex_groups" - Standards operations: "humanoid_mapping" | create_armature |
| group_name | No | Target vertex group name. Required for most group operations. | |
| auto_rename | No | Whether to automatically rename bones to standard names. Default: True. False preserves original bone names while adding mapping. | |
| parent_bone | No | Name of parent bone for hierarchy. Optional for "add_bone". Creates bone chain when specified. | |
| pole_target | No | Empty object name for IK pole target. Optional for "create_bone_ik". Controls IK chain bending direction for natural joint movement. | |
| source_mesh | No | Source mesh object name for weight transfer. Required for: "transfer_weights". Mesh containing vertex weights to copy from. | |
| target_bone | No | Name of target bone for IK constraint. Required for: "create_bone_ik". Defines which bone the IK chain reaches toward. | |
| target_mesh | No | Target mesh object name for weight transfer. Required for: "transfer_weights". Mesh to receive copied vertex weights. | |
| chain_length | No | Number of bones in IK chain. Default: 2. Range: 1-10. Longer chains provide more flexible but complex IK solutions. | |
| max_distance | No | Maximum transfer distance for weight projection. Default: 0.1. Range: 0.001-10.0. Larger values capture more distant geometry. | |
| source_group | No | Source group name for operations like mirror. Required for: "mirror". | |
| armature_name | No | Target armature object name. Required for most operations. Must exist in scene for bone operations. | Armature |
| rotation_mode | No | Euler angle rotation order. One of: "XYZ", "XZY", "YXZ", "YZX", "ZXY", "ZYX". Default: "XYZ". Affects how rotation values are interpreted. | XYZ |
| mapping_preset | No | Humanoid bone mapping standard. One of: "VRCHAT", "UNITY", "BLENDER". Default: "VRCHAT". Defines target bone naming convention. | VRCHAT |
| new_group_name | No | New name for rename operations. Required for: "rename". | |
| vertex_indices | No | List of vertex indices for group assignment. Optional for "assign". Defaults to empty list for manual weight painting. | |
| group_operation | No | Vertex group management operation. One of: "create", "rename", "mirror", "remove", "assign". Required for: "manage_vertex_groups". | create |
| transfer_method | No | Weight projection algorithm. One of: "NEAREST_FACE", "RAY_CAST", "NEAREST_VERTEX". Default: "NEAREST_FACE". "RAY_CAST" most accurate but slower. | NEAREST_FACE |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| result | Yes |