Skip to main content
Glama

blender_rom_test

Apply each pose to an armature, measure mesh deformation, and render one image per pose to validate rig range of motion; returns a JSON report and resets the rig.

Instructions

Range-of-motion test: for each pose apply it, measure deformation and render. Returns a JSON report followed by one image per pose; the rig is reset to rest afterwards.

poses={"name": {"bone": [x, y, z]}} in degrees. Default is a Mixamo-named table whose rotation axes are NOT calibrated: check the images and pass your own poses if they look wrong.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
meshYes
modeNomaterial
sizeNo
posesNo
timeoutNo
armatureYes
ignore_gpu_guardNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden and does reasonably well: it discloses that each pose is applied and rendered, that a JSON report plus one image per pose is returned, and critically that 'the rig is reset to rest afterwards' — a real side effect. It omits failure behavior and whether the reset happens even on error.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Efficient: the operation and its return shape are front-loaded in one sentence, followed by the usage caveat and the poses format. No filler sentences, though the poses syntax and the calibration warning are somewhat run together rather than cleanly separated.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema exists, but the description compensates by naming the returns (JSON report plus one image per pose) and the post-run reset. The main remaining gap is the undocumented non-pose parameters (mode, size, timeout, ignore_gpu_guard) that affect rendering and execution.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0% across 7 parameters, so the description must compensate. It does well for the most complex parameter, defining the poses format ('{"name": {"bone": [x, y, z]}} in degrees') and the default table, but leaves mesh, armature, mode, size, timeout and ignore_gpu_guard entirely unexplained.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource ('Range-of-motion test: for each pose apply it, measure deformation and render'), making the composite operation clear. It implicitly separates itself from single-pose siblings like blender_set_pose and blender_pose_metrics by describing a batch apply/measure/render cycle, but never names an alternative explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives one concrete usage caveat: the built-in Mixamo pose table has uncalibrated axes, so the caller should inspect the images and supply their own poses. However, it never says when to prefer this over blender_pose_metrics or blender_set_pose, nor what prerequisites (armature + mesh already loaded) are needed. Usage is implied rather than specified.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.