blender_rigging
Automate character rigging in Blender with armature creation, bone IK, skinning, and humanoid mapping operations.
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 |
|---|---|---|---|
| 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 |
| armature_name | No | Target armature object name. Required for most operations. Must exist in scene for bone operations. | Armature |
| bone_name | No | Name of bone to create, modify, or pose. Required for bone-specific operations. Must be unique within armature. | Bone |
| 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. | |
| 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. | |
| parent_bone | No | Name of parent bone for hierarchy. Optional for "add_bone". Creates bone chain when specified. | |
| connected | No | Whether new bone connects directly to parent tail. Default: False. True creates seamless bone chain, False allows bone gaps. | |
| target_bone | No | Name of target bone for IK constraint. Required for: "create_bone_ik". Defines which bone the IK chain reaches toward. | |
| pole_target | No | Empty object name for IK pole target. Optional for "create_bone_ik". Controls IK chain bending direction for natural joint movement. | |
| chain_length | No | Number of bones in IK chain. Default: 2. Range: 1-10. Longer chains provide more flexible but complex IK solutions. | |
| frame | No | Timeline frame number for keyframe insertion. Default: 1. Range: 1-10000. Corresponds to animation timeline frames. | |
| rotation_mode | No | Euler angle rotation order. One of: "XYZ", "XZY", "YXZ", "YZX", "ZXY", "ZYX". Default: "XYZ". Affects how rotation values are interpreted. | XYZ |
| source_mesh | No | Source mesh object name for weight transfer. Required for: "transfer_weights". Mesh containing vertex weights to copy from. | |
| target_mesh | No | Target mesh object name for weight transfer. Required for: "transfer_weights". Mesh to receive copied vertex weights. | |
| 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 |
| max_distance | No | Maximum transfer distance for weight projection. Default: 0.1. Range: 0.001-10.0. Larger values capture more distant geometry. | |
| group_operation | No | Vertex group management operation. One of: "create", "rename", "mirror", "remove", "assign". Required for: "manage_vertex_groups". | create |
| group_name | No | Target vertex group name. Required for most group operations. | |
| source_group | No | Source group name for operations like mirror. Required for: "mirror". | |
| 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. | |
| mapping_preset | No | Humanoid bone mapping standard. One of: "VRCHAT", "UNITY", "BLENDER". Default: "VRCHAT". Defines target bone naming convention. | VRCHAT |
| auto_rename | No | Whether to automatically rename bones to standard names. Default: True. False preserves original bone names while adding mapping. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| result | Yes |