What Pose Lab MCP server does
Pose Lab MCP server gives an MCP-connected model numeric information about a first-person arms-and-rifle rig in Blender. Rather than relying on an image to judge 3D relationships, it reports positions in named coordinate frames, penetration depth, surface orientation, visibility, and screen placement.
The tools cover both inspection and modification. A model can load a rig, inspect its frames and constraints, apply an idle pose or animation frame, move the rifle while preserving hand holds through arm IK, reach a point with a wrist, or rotate an individual bone. It can then evaluate whether the result is anatomically plausible, maintains hand contact, avoids unwanted intersections, and satisfies view-coverage or visibility goals.
How it works
Positions use explicit frames so callers do not have to infer axes. The gun and arms frames use Unreal-style axes and centimetres. The view frame is relative to the eye, with right, forward, and up directions. Rifle rotations use roll, swing, and pitch; rifle translations use right, forward, and up in view space.
Checks measure different aspects of a pose. clearance finds how far the rifle enters an arm, palm, or finger and reports where the contact occurs. anatomy evaluates elbow, forearm, wrist, finger, and thumb rules, returning the measured values and every violated rule. grip checks palm-facing contact, palm distance, and whether the rifle enters the backs of the hand or fingers. faces_eye, visible, and screen describe what the eye can see and where a surface appears.
The solve tool samples rifle movements against requested goals and reports each goal's results, including goals that no sampled movement can satisfy. solve_grip searches hand placement while considering grip, clearance, arm rules, and view budget. For animation, scan_clip checks every frame, while fix_clip attempts repairs and reports what remains unreachable.
Tools and capabilities
Pose Lab MCP server includes tools for:
- Discovering rigs, named points, frames, sign conventions, clips, and movable parts with
list_rigs, load_rig, and describe.
- Applying poses and movements with
pose_idle, pose_clip, move_part, snapshot, move_gun, reach, and turn_bone.
- Measuring positions and spatial relationships with
where, distance, and clearance.
- Checking human-arm constraints, research ranges, and hand contact with
anatomy, arm_ranges, and grip.
- Evaluating view direction, visibility, screen position, and arm coverage with
faces_eye, visible, screen, and view_cover.
- Rendering contact sheets, solving rifle or grip goals, and checking clips with
render, solve, solve_grip, and check_set.
- Loading, scanning, repairing, retargeting, and exporting animation clips with
record_clip, load_clip, scan_clip, fix_clip, retarget_clip, and save_clip.
Limitations and notes
The built-in sample rig contains an idle grip that violates the wrist rule: the reported bend is 44 degrees on the left and 58 degrees on the right. In the documented example, fix_clip improves the left side to 29 degrees but cannot repair the right without putting the rifle into the back of the palm; that case requires a different grip or elbow position.
Clearance should be interpreted with the pose's intended contacts in mind. A hand already wrapped around the rifle may need palm and finger segments excluded with ignore patterns, otherwise normal grip contact can appear as penetration. Conversely, excluding those segments can hide a hand placed on the wrong side, so grip is needed for contact validation.
The anatomy defaults combine cited joint ranges with project-specific working rules. Rig-level limits, finger_limits, and thumb_limits entries can override values. Solver results describe sampled configurations, so an unmet goal means no tested sample met it, not necessarily that every possible pose is impossible.