Blender MCP Ultra
Provides comprehensive control of Blender, including scene and object management, modeling, mesh editing, materials, lighting, cameras, animation, rendering, viewport feedback, sculpting, UV editing, physics, geometry nodes, curves, armatures, collections, and file import/export.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Blender MCP UltraCreate a low-poly tree and render it from the front camera"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Blender MCP Ultra
205 tools. 37 modules. Complete Blender control via MCP.
A production-grade Model Context Protocol (MCP) server that gives AI agents full control of Blender. Create, animate, light, render, and sculpt — all through structured tools, no scripts needed.
Features
205 structured tools across 37 modules — every tool does one thing well
Zero
execute_blender_codeneeded for most workflows — structured tools are faster, safer, and save tokensWizard tools — one call creates a complete scene (product shots, interiors, characters, environments)
Batch tools — operate on hundreds of objects in a single call
Works with any LLM — optimized for weak models (GPT-3.5, Haiku, Flash) via compact tool grouping
Blender 5.2+ compatible — tested with EEVEE Next and Cycles
Related MCP server: Blender MCP Server
Installation
MCP Server (for AI agents)
pip install blender-mcp-ultra
# or with uv
uv pip install blender-mcp-ultraBlender Addon
# Deploy addon to Blender
python deploy.py
# or manually copy addon/ to your Blender scripts/addons directoryEnable the addon in Blender Preferences → Add-ons → search "Blender MCP Ultra".
Quick Start
# From your MCP client (opencode, Claude, etc.)
from blender_mcp_ultra import BlenderMCPServer
server = BlenderMCPServer()
server.connect() # Auto-starts Blender addon on port 9876
# Create a product shot in one call
server.call("wizard_product_shot", {
"product_type": "sphere",
"product_color": [0.8, 0.2, 0.2],
"render": True,
"samples": 32
})
# Or build scenes tool-by-tool
server.call("create_object", {"object_type": "MESH", "name": "MyMesh"})
server.call("create_material", {"name": "RedMetal", "color": [0.8, 0.1, 0.1], "metallic": 0.9})
server.call("assign_material", {"object_name": "MyMesh", "material_name": "RedMetal"})
server.call("setup_studio_3point", {"key_energy": 18, "fill_energy": 8, "rim_energy": 35})
server.call("create_turntable_animation", {"object_name": "MyMesh", "frames": 250})
server.call("render_image", {"samples": 64})Tool Groups
Grouped tools save tokens by doing one specific job well. Each group is independent — animation tools don't import sculpting, material tools don't import physics.
Group | Tools | Use For |
Turntable |
| Rotation animations |
Studio Camera |
| Camera for any subject |
Studio Lighting |
| 3-point lighting |
Material Config |
| Screen/glass/body materials |
Constraints |
| Object constraints (27 types) |
Shape Keys |
| Morph targets |
NLA |
| Non-linear animation |
Markers |
| Timeline markers |
Vertex Colors |
| Per-vertex color data |
Custom Properties |
| User-defined metadata |
World/Compositor |
| Sky textures, post-processing |
Lattice/Paint |
| Deformation, painting |
Library/Normals |
| External assets, custom normals |
Batch |
| Multiple objects |
Wizard |
| Complete scenes |
All 205 Commands by Domain
Objects (11)
create_object delete_object duplicate_object join_objects parent_objects rename_object select_objects set_object_visibility set_origin shade_object convert_object
Transforms (8)
move_object rotate_object scale_object set_object_transform get_local_transforms align_object apply_transform snap_to_cursor
Modifiers (14)
add_modifier remove_modifier apply_modifier configure_modifier reorder_modifier bevel_edges boolean_operation extrude_faces inset_faces loop_cut merge_vertices subdivide_mesh flip_normals recalculate_normals
Mesh Editing (10)
edit_mesh_vertices edit_mesh_edges edit_mesh_faces create_vertex_group assign_vertex_group smooth_vertices tri_to_quad limited_dissolve separate_by_loose separate_by_material
Mesh Quality (5)
analyze_mesh_quality get_mesh_statistics check_production_readiness find_duplicates fix_mesh_defects
Materials (10)
create_material delete_material assign_material set_material_property create_procedural_material add_shader_node set_shader_node_value connect_shader_nodes apply_image_texture list_materials
Material Config (4)
configure_display_material configure_glass_material configure_body_material reassign_material_slot
Lights (5)
create_light configure_light setup_hdri_lighting setup_studio_lighting list_lights
Studio Lighting (3)
setup_studio_3point set_studio_world create_studio_floor
Camera (5)
create_camera configure_camera setup_camera_track_to setup_turntable_camera set_camera_to_view
Studio Camera (2)
setup_studio_camera set_camera_framing
Animation (8)
set_keyframe delete_keyframe set_interpolation set_animation_range set_fps go_to_frame create_walk_cycle setup_subdivision_animation
Turntable (3)
create_turntable_animation set_animation_cyclic set_bezier_easing
Constraints (2)
add_object_constraint remove_object_constraint
Shape Keys (3)
add_shape_key set_shape_key_value remove_shape_key
NLA (2)
add_nla_track add_nla_strip
Markers (2)
add_marker remove_marker
Vertex Colors (2)
add_color_attribute set_vertex_color
Custom Properties (2)
set_custom_property get_custom_property
World & Compositor (2)
setup_world_sky_texture setup_compositor
Lattice (2)
create_lattice apply_lattice_deform
Weight/Vertex Paint (2)
enter_weight_paint enter_vertex_paint
Library & Normals (2)
link_blend_data set_custom_normals
Scene (5)
get_scene_info list_objects get_object_info create_scene set_scene_property
Viewport (4)
get_viewport_info set_viewport_shading set_viewport_camera toggle_overlays
Viewport Enhanced (3)
get_viewport_screenshot get_viewport_screenshot_comparison get_render_preview
Sculpting (6)
configure_sculpt_brush enter_sculpt_mode exit_sculpt_mode set_sculpt_symmetry configure_dyntopo remesh_sculpt
UV (6)
uv_smart_project uv_unwrap uv_pack_islands uv_project_from_view uv_select_island get_uv_info
Physics (7)
add_rigid_body add_cloth_physics add_fluid_physics add_particle_system add_force_field bake_physics delete_physics
Geometry Nodes (4)
add_geometry_nodes_modifier add_geometry_node connect_geometry_nodes create_procedural_distribution
Curves (5)
create_curve create_text_object edit_curve_points set_curve_fill convert_curve_to_mesh
Armature (6)
create_armature add_bone create_humanoid_rig add_bone_constraint setup_ik_chain parent_bone_to_object
Collections (5)
create_collection delete_collection move_to_collection set_collection_visibility list_collections
File I/O (5)
import_file export_file export_fbx export_glb export_obj
Procedural (4)
create_terrain create_tree create_rock create_particle_field
Batch (11)
batch_create_objects batch_delete_objects batch_transform batch_add_modifiers batch_material_preset batch_rename batch_parent batch_visibility batch_select batch_set_origin execute_sequence
Rendering (4)
render_image render_animation render_preview configure_render
Multi-Scene (8)
list_open_scenes open_blend_file save_blend_file new_scene switch_scene delete_scene merge_blend_file get_scene_diff
Code Execution (2)
execute_blender_code run_operator
Wizards (11)
wizard_product_shot wizard_archviz_interior wizard_character_basemesh wizard_environment wizard_studio_render wizard_uv_unwrap_all wizard_scene_optimize wizard_material_preset wizard_quick_scene wizard_turntable wizard_batch_materials
Architecture
opencode ──MCP stdio──▶ blender_mcp_ultra.server ──WebSocket 9876──▶ Blender addonAI agent calls MCP tool via stdio
MCP server serializes command and sends via WebSocket to Blender
Blender addon queues command on main thread
Handler executes the Blender API call
Result returned through the same path
Development
# Install dependencies
pip install -e ".[dev]"
# Run MCP server (standalone test)
blender-mcp-ultra
# Run Blender with addon
blender --python blender_startup.py
# Run tests
pytest tests/
# Lint
ruff check src/License
MIT
Available Tools
209 toolsadd_boneA
Add a bone to an armature.
Args: armature_name: Target armature. bone_name: Name for the bone. head: [x, y, z] bone head position. tail: [x, y, z] bone tail position. parent_bone: Parent bone name (for hierarchy).
| Name | Required | Description | Default |
|---|---|---|---|
| head | No | ||
| tail | No | ||
| bone_name | Yes | ||
| parent_bone | No | ||
| armature_name | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It implies a mutation (adding a bone) but does not disclose potential side effects, failure conditions (e.g., duplicate bone name, missing armature), or whether the operation modifies the scene destructively. It also doesn't mention return values or errors. The description only restates parameter purposes without behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clear sentence followed by a bulleted parameter list. It is front-loaded with the action, and every line serves a purpose. No redundant or filler content. The structure is easy to scan and parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple mutation tool with five parameters and no output schema, the description covers the parameters but misses important context: it doesn't state whether the armature must already exist, how the bone is positioned in 3D space, whether parent_bone is optional, or what happens if the bone_name conflicts. It also doesn't explain the default behavior of head and tail when null. These gaps leave room for misuse, so the description is adequate but not complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description is the only source of parameter meaning. It provides a concise explanation for each parameter (e.g., 'head: [x, y, z] bone head position'), adding value beyond the schema's type and title. However, it lacks details like units, coordinate system, or behavior when head/tail are omitted (default null), so it doesn't fully compensate for the schema's lack of descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states 'Add a bone to an armature' – a specific verb and resource, clearly distinguishing it from siblings like create_armature (which creates the armature) and add_bone_constraint (which adds constraints to bones). No ambiguity about what this tool does.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., that the armature must already exist), nor does it cross-reference related tools like create_armature or add_bone_constraint. The user must infer usage from the name and context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
add_bone_constraintB
Add a constraint to a bone.
Args: armature_name: Target armature. bone_name: Bone to constrain. constraint_type: TRACK_TO, COPY_LOCATION, COPY_ROTATION, IK, etc. target_name: Target object for the constraint.
| Name | Required | Description | Default |
|---|---|---|---|
| bone_name | Yes | ||
| target_name | No | ||
| armature_name | Yes | ||
| constraint_type | No | TRACK_TO |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full behavioral burden. It only states the action itself, without disclosing whether constraints are appended or replace existing ones, whether pose mode is required, or what happens with invalid or missing target_name.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a short, front-loaded docstring with a one-line purpose followed by a clear argument list. No wasted words, though it could be slightly more structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 4-parameter tool with no annotations and no output schema, the description omits critical operational details: when target_name is required, whether it operates on edit/pose bones, and how existing constraints are affected. An agent is likely to call it incorrectly without additional context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description compensates by explaining each parameter: armature_name, bone_name, constraint_type with examples, and target_name. It does not explain defaults or conditional requirements, but the basic semantics are supplied.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clear verb+resource: 'Add a constraint to a bone.' The name and description distinguish it from sibling add_object_constraint by explicitly mentioning bone. However, it does not contrast with other bone-related siblings like setup_ik_chain.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives, no prerequisites (e.g., armature existence), and no hint that target_name is conditionally required for certain constraint types.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
add_cloth_physicsB
Add cloth simulation to an object.
Args: object_name: Target object. quality_steps: Simulation quality (1-20). mass: Cloth mass density. tension: Structural tension. compression: Structural compression.
| Name | Required | Description | Default |
|---|---|---|---|
| mass | No | ||
| tension | No | ||
| compression | No | ||
| object_name | Yes | ||
| quality_steps | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden, but it only restates the action and lists parameters. It does not disclose side effects, whether the simulation is added as a modifier or property, whether the object must be a mesh, or how this interacts with existing physics.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately short and front-loaded with the purpose, followed by a compact argument list. No filler or redundant content is present.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a five-parameter mutation tool with no annotations and no output schema, the description is incomplete. It does not explain what 'adding cloth simulation' actually does, what prerequisites exist, or what the agent should expect after invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It lists all five parameters and adds some meaning, including a numeric range for quality_steps (1-20). However, tension and compression are described near-tautologically as 'Structural tension' and 'Structural compression', and units or behavioral effects are not explained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific operation and resource: 'Add cloth simulation to an object.' This cleanly identifies the tool's function and distinguishes it from sibling tools like add_rigid_body and add_fluid_physics by naming the unique simulation type.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no guidance about when to use this tool instead of alternatives such as add_rigid_body, add_fluid_physics, or bake_physics. There are no exclusions, conditions, or contextual hints beyond the tool's name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
add_color_attributeB
Add a color attribute (vertex color layer) to a mesh.
Args: object_name: Target mesh object. name: Name for the color attribute. domain: CORNER (per-loop) or POINT (per-vertex). data_type: BYTE_COLOR (0-1 byte) or FLOAT_COLOR (0-1 float).
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Color | |
| domain | No | CORNER | |
| data_type | No | BYTE_COLOR | |
| object_name | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the operation (add) and the parameter semantics, but it doesn't disclose side effects (e.g., whether an existing color attribute with the same name is replaced or errors), whether the operation is destructive, or what the return value is. For a mutation tool with zero annotation coverage, this is a significant gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded with the main purpose, followed by a concise parameter list. Every sentence earns its place, and the format is scannable. It loses one point because the parameter list is somewhat redundant with the schema, but it's still efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no annotations and no output schema, the description is incomplete. It doesn't mention what happens on success/failure, whether the color attribute is created empty or with default values, or how it interacts with existing attributes. An agent would need to infer or experiment to know the full behavior. The parameter semantics are covered, but the behavioral context is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It does explain all four parameters (object_name, name, domain, data_type) with brief semantic notes, including the enum-like values for domain and data_type. However, it doesn't add much beyond what the schema already shows (e.g., defaults are in the schema, and the description just restates the options). It's adequate but not rich.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: adding a color attribute (vertex color layer) to a mesh. It distinguishes itself from the sibling set by naming the specific resource (mesh color attribute) and the operation (add). It doesn't explicitly name a sibling alternative, but the verb+resource combination is specific enough to differentiate it from tools like set_vertex_color or assign_material.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage context by specifying the target object and the domain/data_type options, but it doesn't explicitly state when to use this tool versus alternatives like set_vertex_color or enter_vertex_paint. The parameter descriptions give some context, but there's no explicit when/when-not guidance or mention of prerequisites (e.g., the mesh must exist).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
add_fluid_physicsC
Add fluid simulation to an object.
Args: object_name: Target object. domain_type: DOMAIN, EFFERENT, FLOW, or COLLISION. fluid_type: LIQUID or GAS.
| Name | Required | Description | Default |
|---|---|---|---|
| fluid_type | No | LIQUID | |
| domain_type | No | DOMAIN | |
| object_name | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are absent, so the description carries the full burden of behavioral disclosure. It only states the basic action of adding fluid simulation, with no mention of side effects, prerequisites, or behavior on existing simulations. The term 'EFFERENT' appears to be a misspelling of 'EFFECTOR', potentially misleading the agent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, with a clear one-sentence purpose followed by a compact arg list. It is front-loaded and contains no unnecessary words. The structure is efficient and easy to scan.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the absence of annotations and output schema, the description is incomplete. It doesn't explain the meaning of domain_type values, prerequisites (e.g., object type), or what happens to existing physics. The agent may need additional domain knowledge to use this tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description lists each parameter with allowed values (e.g., domain_type: DOMAIN, EFFERENT, FLOW, COLLISION; fluid_type: LIQUID or GAS), adding meaning beyond the bare schema which has no property descriptions. However, it doesn't explain what each domain_type value represents (e.g., what DOMAIN vs FLOW means), and the apparent typo reduces clarity. It provides basic value constraints but not full semantic depth.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'Add fluid simulation to an object.' It clearly conveys the tool's purpose and distinguishes it from other physics tools like add_rigid_body and add_cloth_physics, though it doesn't explicitly name alternatives. The intent is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives such as add_rigid_body or add_cloth_physics. There are no conditions, exclusions, or context cues. The agent is left to infer applicability without explicit advice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
add_force_fieldC
Add a force field effect.
Args: name: Force field name. field_type: FORCE, WIND, VORTEX, MAGNET, CHARGE, LENARD_JONES, TURBULENCE, etc. location: [x, y, z] position. strength: Field strength. flow: Field flow.
| Name | Required | Description | Default |
|---|---|---|---|
| flow | No | ||
| name | No | ForceField | |
| location | No | ||
| strength | No | ||
| field_type | No | FORCE |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It only says 'Add' and lists arguments; it does not state whether a new object is created, how the active selection is affected, whether repeated calls stack force fields, or what the tool returns. This is a shallow behavioral profile for a mutating tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact, but not every line earns its place. The name, strength, and flow lines mostly restate the parameter names, adding little value. The genuinely useful enum and location-format details are buried in an Args block rather than being highlighted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a minimal viable description: it names the action and documents every parameter at a basic level, so a simple call can be constructed. But with no annotations and no output schema, it omits important context such as coordinate-space meaning, units, force-field behavior, and whether any cleanup or follow-up is needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must add meaning. It does add useful information: the field_type value list and the [x, y, z] location format. But 'strength: Field strength' and 'flow: Field flow' are tautological, no units or effect semantics are provided, and the 'etc.' enum list is incomplete and contains the typo 'LENARD_JONES'.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and resource: 'Add a force field effect.' This clearly identifies the operation and differs from physics siblings like add_rigid_body or add_cloth_physics. However, 'effect' is slightly vague about whether this creates a standalone force-field object or modifies an existing simulation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given about when to use this tool versus related tools. It does not mention physics contexts, mention alternatives like create_particle_field, or state any prerequisites or exclusions. The agent is left to infer usage entirely from the tool name and sibling list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
add_geometry_nodeC
Add a node to a geometry node tree.
Args: node_group_name: Node group name. node_type: Node type (e.g., 'MeshPrimitiveCube', 'InstanceOnPoints', 'SetPosition'). location: [x, y] position in the node editor.
| Name | Required | Description | Default |
|---|---|---|---|
| location | No | ||
| node_type | Yes | ||
| node_group_name | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It states the core mutation (adding a node) but does not mention prerequisites (e.g., whether node_group_name must already exist), side effects like automatic connections, or return values.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded with the core purpose. The Args block is a bit redundant with the schema, but it is structured and free of fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple 3-parameter tool, the description covers the basic invocation, but omits important operational context such as whether the node group must already exist, what happens when location is absent, and what is returned. It is minimally viable but not complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must document parameters. It names all three parameters and adds useful examples for node_type (e.g., 'MeshPrimitiveCube') and specifies location format as [x, y]. However, node_group_name is only repeated as 'Node group name' with no additional context.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear action and resource: 'Add a node to a geometry node tree.' This distinguishes it from sibling tools like add_geometry_nodes_modifier and connect_geometry_nodes, though it does not explicitly call out the difference.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided about when to use this tool versus alternatives such as connect_geometry_nodes or add_geometry_nodes_modifier. The intended context is only implied by the tool name and description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
add_geometry_nodes_modifierC
Add a geometry nodes modifier to an object.
Args: object_name: Target object. node_group_name: Name for the node group.
| Name | Required | Description | Default |
|---|---|---|---|
| object_name | Yes | ||
| node_group_name | No | GeometryNodes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It only says 'Add a geometry nodes modifier', implying a mutation but not disclosing side effects, prerequisites (e.g., object existence), or behavior beyond the action. It does not mention whether existing modifiers are affected or what happens to the object.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise and structured with a clear action line and a simple argument list. It avoids unnecessary verbosity, but the brevity comes at the cost of informativeness. It is appropriately front-loaded with the purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a mutation tool with no output schema and no annotations. The description is too sparse to be complete; it lacks any mention of prerequisites, return values, error conditions, or how this tool integrates with other geometry node operations. The agent would need to infer most context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must fully explain parameters. It merely restates the parameter names with minimal elaboration: 'object_name: Target object' and 'node_group_name: Name for the node group'. These are nearly tautological and do not clarify the role of the node group or any default behavior.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action 'Add a geometry nodes modifier to an object', which clearly identifies the verb and resource. However, it does not distinguish itself from the sibling tool 'add_geometry_node', which could be confused. The meaning is clear but lacks differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives like 'add_geometry_node' or 'connect_geometry_nodes'. The description only states what it does, leaving the agent to infer appropriate usage without explicit conditions or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
add_markerA
Add a timeline marker for animation notes or camera binding.
Args: name: Marker name. frame: Frame number for the marker. camera_name: Camera to bind to this marker (optional).
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Marker | |
| frame | No | ||
| camera_name | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It reveals that camera binding is possible but does not clarify side effects such as whether binding changes existing camera behavior, whether markers are additive, or whether existing markers can be duplicated. Core add behavior is clear, but behavioral depth is thin.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One purpose sentence plus a three-line Args list, with no filler and no repetition of schema defaults. The action is front-loaded and every line adds needed information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple three-parameter creation tool, the description documents purpose and all parameters, and the lack of an output schema lowers the need for return-value explanation. Gaps remain in usage routing and behavioral side effects, so it is adequate but not complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has no parameter descriptions (0% coverage), so the Args section carries full weight. It gives each parameter a semantic gloss: marker name, frame number, and optional camera binding. It does not explain frame indexing or units, but every parameter is usable from the description alone.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description opens with 'Add a timeline marker', a specific verb and resource, and adds its two use cases: animation notes or camera binding. The resource is unambiguous and pairs naturally with the sibling remove_marker, so an agent can distinguish add_marker from removal or navigation tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit when-to-use or when-not-to-use guidance is provided. The description does not mention alternatives such as remove_marker for deletion or go_to_frame for navigation, leaving the agent to infer suitability from the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
add_modifierB
Add a modifier to an object.
Args: object_name: Target object. modifier_type: SUBSURF, MIRROR, SOLIDIFY, BOOLEAN, BEVEL, ARRAY, etc. name: Optional modifier name. params: Optional modifier settings dict (e.g. {'levels': 2, 'render_levels': 3} for SUBSURF, {'width': 0.002, 'segments': 4} for BEVEL).
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | ||
| params | No | ||
| object_name | Yes | ||
| modifier_type | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavior. It only states the action and lists parameters, but does not mention side effects (e.g., whether the modifier is appended to the stack, if it fails on missing objects, or if it is destructive). It also does not describe the return value or any requirements like object existence.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise: one sentence for the purpose plus a structured Args block. It is front-loaded and each sentence adds value. The examples are useful without being verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with varied modifier types and no output schema or annotations, the description is minimal. It covers the basic purpose and parameters but omits important context such as modifier stack behavior, error conditions, or any return value. It is adequate for simple usage but incomplete for complex scenarios.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It provides meaningful explanations for all four parameters, including concrete examples for 'params' (e.g., SUBSURF and BEVEL settings). This goes beyond the bare schema and gives the agent actionable guidance.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the verb 'Add' and the resource 'modifier' clearly, and lists valid modifier types. However, it does not explicitly differentiate from sibling tools like configure_modifier or apply_modifier, so it lacks the explicit sibling distinction that would earn a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The intended usage is implied: you use this tool when you want to add a new modifier to an object. There is no explicit guidance on when to prefer this over alternatives such as configure_modifier or add_geometry_nodes_modifier, nor any exclusions or conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
add_nla_stripB
Add an animation clip (strip) to an NLA track.
Args: object_name: Target object. track_name: NLA track to add the strip to. action_name: Action (animation clip) to use. name: Custom name for the strip. start_frame: Frame where the strip starts. scale: Time scale for the strip. repeat: Number of times to repeat. blend_type: REPLACE, ADD, SUBTRACT, MULTIPLY.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | ||
| scale | No | ||
| repeat | No | ||
| blend_type | No | REPLACE | |
| track_name | Yes | ||
| action_name | Yes | ||
| object_name | Yes | ||
| start_frame | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It only states the action and parameter meanings, but does not disclose requirements like existing track/object, error behavior, or whether the operation is reversible. It also doesn't mention if the strip replaces existing strips or any side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, with a one-line purpose and a parameter list. It avoids unnecessary fluff and is easy to scan. However, the structure is a simple docstring without highlighting important prerequisites or notes.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has 8 parameters, no output schema, and no annotations. The description only covers the basic operation and parameter meanings, omitting any context on expected inputs (e.g., that the track must exist), return values, or error handling. An agent would need more guidance to use this tool reliably.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It provides brief descriptions for all 8 parameters, such as 'object_name: Target object' and 'blend_type: REPLACE, ADD, SUBTRACT, MULTIPLY.' However, these are minimal and lack details on constraints or default behaviors beyond the schema's defaults.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action: 'Add an animation clip (strip) to an NLA track.' This clearly identifies the verb and resource, and distinguishes it from sibling add_nla_track by specifying the strip addition to an existing track.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not mention any conditions for when to use this tool versus alternatives. It lacks exclusions or references to other tools, leaving the agent without guidance on selecting it over related NLA operations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
add_nla_trackC
Add an NLA track to an object for layering animation clips.
Args: object_name: Target object with animation data. name: Name for the new track.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | NlaTrack | |
| object_name | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must fully disclose behavior, but it only states that a track is added. It does not explain side effects, whether an existing track with the same name is replaced, failure conditions, or what happens if the object lacks animation data.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is brief, front-loaded, and uses a clean Args format. It avoids fluff and is easy to scan, though the parameter list partially duplicates the schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a mutation tool with no annotations and no output schema envelope. The description provides the minimum for calling it but lacks information about naming constraints, existing track behavior, prerequisites beyond 'animation data,' and expected return or failure outcomes.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must compensate. It does provide short semantics for both parameters: object_name is 'Target object with animation data' and name is 'Name for the new track.' This adds some meaning beyond the raw schema but leaves edge-case behavior undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear verb-resource pair: 'Add an NLA track to an object' and adds context ('for layering animation clips'). This is enough to distinguish it from the sibling add_nla_strip, though the distinction is not explicitly named.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus add_nla_strip or other animation tools. The only context clue is 'Target object with animation data,' which implies a prerequisite but does not state when to choose this over alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
add_object_constraintB
Add a constraint to an object.
Common types: COPY_LOCATION, COPY_ROTATION, COPY_SCALE, TRACK_TO, FOLLOW_PATH, CHILD_OF, LIMIT_LOCATION, LIMIT_ROTATION, LIMIT_SCALE, TRANSFORM, CLAMP_TO, DAMPED_TRACK_TO, IK, PUSH_PULL,Stretch To.
Args: object_name: Target object. constraint_type: Constraint type (e.g. 'COPY_LOCATION'). name: Custom name for the constraint. target_name: Target object for the constraint. subtarget: Sub-target (bone name for armature targets). settings: Dict of constraint properties to set.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | ||
| settings | No | ||
| subtarget | No | ||
| object_name | Yes | ||
| target_name | No | ||
| constraint_type | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description is the sole source of behavioral information; it conveys the operation type but discloses no side effects, constraint-stack behavior, required target relationships, or error conditions. Since this is a mutating tool, more behavioral context is needed beyond 'Add a constraint'.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with a purpose sentence, a useful type list, and a labeled Args block; there is no filler. It is a bit long, but each line earns its place by documenting a parameter.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a six-parameter mutation with no annotations and no output schema, the description gives a workable but incomplete picture: it omits which constraint types require target_name/subtarget, how settings values map to Blender properties, and any validation behavior. It is enough for a simple call but not for reliable advanced use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the Args list is essential; it adds meaning for all six parameters, especially subtarget ('bone name for armature targets') and the enumerated constraint types. However target_name is only restated as 'Target object', and allowed settings keys/property names are left unspecified.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The first sentence states the exact operation ('Add a constraint to an object') and the list of common constraint types gives concrete scope. Combined with the object_name parameter, this clearly distinguishes it from sibling add_bone_constraint and other constraint-related tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool over add_bone_constraint, remove_object_constraint, setup_ik_chain, or other constraint tools. The description implies usage for object constraints but never states exclusions or alternative routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
add_particle_systemB
Add a particle system to an object.
Args: object_name: Target object. particle_type: EMITTER, HAIR, or STATIC_HAIR. count: Number of particles. lifetime: Particle lifetime in frames. frame_start: Start frame. frame_end: End frame.
| Name | Required | Description | Default |
|---|---|---|---|
| count | No | ||
| lifetime | No | ||
| frame_end | No | ||
| frame_start | No | ||
| object_name | Yes | ||
| particle_type | No | EMITTER |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It does not mention side effects, whether existing particle systems are replaced or appended, object type requirements, or any limitations beyond the operation itself.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short, front-loaded with the main purpose, and uses a clean argument list with no filler. Every sentence and phrase earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations and no output schema, the description still lacks important contextual details such as expected behavior on failure, whether multiple particle systems can be added to the same object, and what success looks like. Parameter semantics are covered, but broader call context is incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must add parameter meaning, and it does: it explains 'particle_type' options, specifies frames for lifetime and frame range, and identifies the target object. This is helpful, though each parameter's explanation is brief and mostly restates the parameter name.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action and resource: 'Add a particle system to an object.' This clearly identifies the tool's core function, but it does not differentiate it from the sibling tool 'create_particle_field', so it does not fully earn a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance about when to use this tool versus alternatives, no prerequisites, and no exclusion criteria. The description only states what the tool does, leaving the agent to infer appropriate usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
add_rigid_bodyA
Add rigid body physics to an object.
Args: object_name: Target object. body_type: ACTIVE (dynamic) or PASSIVE (static/kinematic). mass: Mass in kg. friction: Surface friction (0-1). restitution: Bounciness (0-1).
| Name | Required | Description | Default |
|---|---|---|---|
| mass | No | ||
| friction | No | ||
| body_type | No | ACTIVE | |
| object_name | Yes | ||
| restitution | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description bears the full burden of behavioral disclosure. It states that rigid body physics is added, which implies mutation, and clarifies body_type semantics (ACTIVE vs PASSIVE), but it does not disclose side effects, prerequisites (e.g., object must exist), or whether adding physics alters existing simulation state. The description is too sparse to fully inform the agent of the operation's consequences.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded with the core purpose, followed by a clean Args list. Every line adds necessary information with no filler. It is well-structured for an agent to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity (5 parameters, no output schema, no annotations), the description covers all parameter semantics and states the core purpose. However, it leaves out usage context such as when to choose rigid body over cloth or fluid physics, and what happens after calling it. For a straightforward physics-add operation, this is mostly sufficient but not exhaustive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must fully compensate, and it does. Every parameter is explained beyond the schema: object_name is the target, body_type maps to dynamic vs static/kinematic, mass has units (kg), and friction and restitution have explicit ranges. This is exactly the semantic enrichment needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'Add rigid body physics to an object.' This clearly differentiates it from sibling tools like add_cloth_physics and add_fluid_physics, as the tool name and description specify the exact physics type. The purpose is immediately understandable and not vague or tautological.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It does not mention when rigid body physics is appropriate, whether it should be used with active objects, or that it can be paired with bake_physics or removed with delete_physics. An agent is left to infer the use case from the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
add_shader_nodeA
Add a shader node to a material's node tree.
Args: material_name: Target material. node_type: Shader node type (e.g., 'TEX_NOISE', 'TEX_VORONOI', 'MIXRGB', 'VALUE'). location: [x, y] position in the node editor. name: Optional node label.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | ||
| location | No | ||
| node_type | Yes | ||
| material_name | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description carries the full burden of behavioral disclosure. It only states the action and parameters; it does not mention side effects, whether the node is created unconnected, failure behavior if the material is missing, or idempotency. For a mutation tool, this is a significant gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded: a one-sentence operation summary followed by a tight Args list. Every element earns its place, and there is no redundant prose or repetition of the schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is adequate for basic invocation: the core parameters are explained and the action is clear. However, without annotations or an output schema, it misses important context such as whether the new node is connected, whether the material must pre-exist, and what a successful call returns. This leaves it minimally viable but not fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 0% description coverage, but the Args section compensates well by explaining material_name, node_type with concrete examples, the [x, y] location format, and the optional name label. This adds real meaning beyond the raw schema, though it stops short of enumerating all valid node types or units.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'Add a shader node to a material's node tree.' It clearly differentiates from sibling tools like connect_shader_nodes and set_shader_node_value by focusing on the creation of a new node rather than wiring or modifying one.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no explicit guidance on when to use this tool versus alternatives such as connect_shader_nodes, set_shader_node_value, or create_material. It implies that you use it when you want a new shader node, but it does not state prerequisites (e.g., the material must already exist) or exclude related tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
add_shape_keyB
Add a shape key (morph target) to a mesh object.
Automatically creates the Basis key if none exists.
Args: object_name: Target mesh object. name: Name for the new shape key. from_mix: Create from current mesh state.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Key | |
| from_mix | No | ||
| object_name | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It discloses the auto-creation of the Basis key and the 'from_mix' behavior, which adds useful context. However, it doesn't mention error handling (e.g., invalid object type), behavior if the name already exists, or return values. Partial coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise: two sentences plus a compact argument list. Purpose is front-loaded and there is no fluff. It could be improved by structuring the parameter explanations more formally, but it is efficient and easy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and no annotations, the description covers the core purpose, parameters, and a key behavior (auto-creating Basis). It lacks explicit error handling, interaction with existing keys, and confirmation of mutation. For a straightforward add operation, it is mostly complete but not exhaustive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must explain parameters. It does: object_name is 'Target mesh object', name is 'Name for the new shape key', from_mix is 'Create from current mesh state'. This adds meaning beyond the schema's types and defaults, though it could be slightly more detailed (e.g., what 'from current mesh state' implies).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action: 'Add a shape key (morph target) to a mesh object.' It specifies the resource (mesh object) and the auto-creation of Basis key. While it doesn't explicitly contrast with sibling tools like set_shape_key_value or remove_shape_key, the verb and resource are specific and unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives. It doesn't mention that this is for creating new keys while others are for setting or removing, nor does it describe any prerequisites or context. The description simply states the function without differentiating usage scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
align_objectA
Align one object's transform to another.
Args: name: Object to align. target: Reference object. align_location: Match position. align_rotation: Match rotation. align_scale: Match scale.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| target | Yes | ||
| align_scale | No | ||
| align_location | No | ||
| align_rotation | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral burden. It explains that align_location, align_rotation, and align_scale match the target's corresponding properties, but it does not disclose whether the operation modifies the object in place, uses world vs. local coordinates, or how errors are handled. Some behavioral info is present, but not comprehensive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, with a one-line summary followed by a clear list of arguments. It is front-loaded with the main purpose and contains no extraneous information, making it easy to scan.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the tool's purpose and all parameters, which is sufficient for calling it correctly. However, it lacks usage guidance and some behavioral details (e.g., world vs. local transforms, side effects). For a simple alignment tool, this is adequate but not fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, but the description explicitly explains each parameter: name (object to align), target (reference object), and the three alignment booleans with their meanings. This fully compensates for the lack of schema descriptions, providing clear parameter semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action ('align') and resource ('one object's transform to another'), making it clear what the tool does. It distinguishes from siblings like move_object, rotate_object, and scale_object by indicating a combined alignment operation rather than a single-axis transform.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives such as set_object_transform or snap_to_cursor. The description does not mention exclusions, prerequisites, or recommend this over other tools, leaving usage context implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
analyze_mesh_qualityA
Analyze mesh for defects: non-manifold edges, loose vertices, zero-area faces, duplicate vertices, wire edges, and twisted faces.
Returns a structured defect report with counts and affected element indices.
| Name | Required | Description | Default |
|---|---|---|---|
| object_name | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It transparently states the output: a structured defect report with counts and affected element indices. The verb 'analyze' implies a non-destructive read operation, and no side effects are mentioned. It does not explicitly state that the mesh is not modified, but the return-oriented phrasing makes this implicit. This is sufficient for a simple analysis tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the action and defect enumeration, followed by the return format. Every sentence earns its place with no fluff or repetition. It is appropriately sized for the tool's simplicity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the core behavior, enumerates what defects are checked, and describes the return value (counts and indices). With no output schema, this is sufficient. It does not mention edge cases like invalid object names or non-mesh objects, but those are minor gaps for a tool of this complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has one parameter (object_name) with no description, and schema description coverage is 0%. The description does not mention the parameter directly, but the phrase 'Analyze mesh' implies that object_name refers to a mesh, adding a semantic type beyond the raw schema. This partially compensates for the coverage gap, though it could be more explicit.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly names the resource (mesh), the action (analyze for defects), and enumerates specific defect types (non-manifold edges, loose vertices, zero-area faces, duplicate vertices, wire edges, twisted faces). This clearly distinguishes it from general mesh statistics or production readiness checks, and from siblings like find_duplicates which target a single defect type.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies a clear use case: identify and report mesh defects. However, it does not explicitly state when to prefer this tool over related siblings such as fix_mesh_defects, find_duplicates, or check_production_readiness, nor does it mention any prerequisites or exclusions. The context is clear but not fully differentiated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
apply_image_textureC
Apply an image texture to an object.
Args: object_name: Target object. image_path: Path to the image file. material_name: Optional existing material to add texture to.
| Name | Required | Description | Default |
|---|---|---|---|
| image_path | Yes | ||
| object_name | Yes | ||
| material_name | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the basic action but does not explain side effects, whether a new material is created, whether an existing material is overwritten, what happens if the image path is invalid, or what the tool returns. The material_name argument hints at some behavior but leaves key details implicit.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded with the core purpose. The argument list is compact and follows the schema closely without unnecessary filler. It could be slightly more informative, but it stays concise and scannable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations, no output schema, and a large sibling set, the description is under-specified. It omits important context for correct invocation: whether UV mapping is required, whether a fallback material is created, how material_name interacts with existing materials, and what success or failure looks like. The tool is simple but still needs more behavioral context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It does provide brief explanations for all three parameters: object_name, image_path, and material_name. These add meaning beyond the bare schema titles, but the explanations are minimal and lack useful constraints such as supported image formats, path expectations, or material-name resolution behavior.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the operation: 'Apply an image texture to an object.' It names a specific verb, resource, and target. It is clear enough to be understood, but it does not explicitly distinguish itself from nearby material-related siblings like create_procedural_material or assign_material.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance about when to use this tool versus alternatives. It does not mention prerequisites, common workflows, or conditions where another tool like create_procedural_material or assign_material would be more appropriate. The intended use is only implied by the tool's name and short description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
apply_lattice_deformA
Apply lattice modifier to bake deformation into mesh.
Args: object_name: Target object with lattice modifier. modifier_name: Name of the lattice modifier.
| Name | Required | Description | Default |
|---|---|---|---|
| object_name | Yes | ||
| modifier_name | No | Lattice |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full responsibility for behavioral disclosure. It says 'bake deformation,' hinting at permanence, but does not explicitly warn that the operation is irreversible or destructive, nor does it state what happens to the modifier after baking (remains, removed, etc.). For a mutation tool, this is a significant transparency gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise, with a clear purpose statement followed by a structured Args section. There is no wasted text; every sentence earns its place. It is front-loaded with the core function and uses a format that makes parameter mapping easy for the agent.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple 2-parameter tool, the description might seem sufficient, but it lacks critical context for a destructive operation. It does not mention the irreversible nature of baking, the state of the modifier afterward, or relations to sibling tools like apply_modifier. Given the absence of annotations and output schema, the description is incomplete for an agent to fully predict the tool's effects.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 0% description coverage, so the description's parameter explanations are essential. It clearly defines object_name as 'Target object with lattice modifier' and modifier_name as 'Name of the lattice modifier,' adding meaning beyond attribute names and types. However, it doesn't elaborate on defaults or behavior, which the schema partially covers via the default value for modifier_name, so it doesn't reach a 5.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states exactly what the tool does: 'Apply lattice modifier to bake deformation into mesh.' It identifies the specific resource (lattice modifier) and the outcome (bake deformation), distinguishing it from generic modifier tools like apply_modifier or create_lattice. This is a clear, unambiguous purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is for objects that already have a lattice modifier, but it provides no explicit guidance on when to use this versus the generic apply_modifier or other sibling tools. It does not mention any prerequisites beyond the modifier existing, nor does it state when not to use it. The usage context is clear but not contrasted with alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
apply_modifierC
Apply (bake) a modifier into the mesh.
Args: object_name: Target object. modifier_name: Name of the modifier to apply.
| Name | Required | Description | Default |
|---|---|---|---|
| object_name | Yes | ||
| modifier_name | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It says the modifier is 'baked' into the mesh, hinting at a permanent change, but it does not disclose that applying a modifier is destructive or that it collapses the modifier stack. There is no mention of error conditions, required object type, or undo behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded with the core purpose. The Args section is clean and easy to scan, and there is no filler content. It earns its place without unnecessary detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no annotations and no output schema, the description is too sparse. It provides enough information to attempt a call but omits important behavioral context such as irreversibility, prerequisite modifier existence, and applicable object types. This makes it incomplete for safe and correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. Both parameters are listed with brief descriptions ('Target object' and 'Name of the modifier to apply'), but these mostly restate the parameter names and add little constraint detail. It does not explain that modifier_name must reference an existing modifier or that the object must support that modifier.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Apply (bake)') and a clear resource ('a modifier into the mesh'). This makes the tool's action unambiguous and distinguishes it from related modifier tools like add_modifier or configure_modifier. However, it does not explicitly call out how it differs from siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given about when to use this tool versus alternatives such as add_modifier, configure_modifier, or remove_modifier. The usage context is only implied by the verb 'apply' rather than explicitly stated. There are no prerequisites or exclusions mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
apply_transformA
Apply (bake) transforms — resets values to identity while keeping world position.
Args: name: Object name. location: Apply location. rotation: Apply rotation. scale: Apply scale.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| scale | No | ||
| location | No | ||
| rotation | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries disclosure responsibility. It does add the key behavioral fact that world position is preserved while transform values reset, which is more transparent than a bare 'apply'. However, it does not mention whether the operation is destructive to object data, affects children or constraints, or requires a particular mode.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The one-line core behavior is front-loaded and the argument list is compact with no boilerplate. Every sentence earns its place and the structure is easy to scan.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 4-parameter tool with no annotations and no output schema, the description covers the core operation but leaves usage context and parameter behavior implicit. It is a minimum viable definition, adequate for straightforward calls but with clear gaps around side effects and when to use it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the parameter descriptions needed to carry weight, but they mostly restate the property names: 'location: Apply location.' The glosses don't explain how true/false toggles each component or the implication of leaving a channel off, leaving the agent to infer behavior from defaults alone.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb/resource pair ('Apply (bake) transforms') and states the exact effect: resets values to identity while keeping world position. This makes it clearly distinct from sibling move/rotate/scale/set_object_transform tools, even though it does not name them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The baking/reset-to-identity wording implies a typical use case, but the description never says when to choose this over set_object_transform, move_object, rotate_object, or scale_object. It offers no exclusions or alternative routing, so an agent must infer the applicable context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
assign_materialC
Assign a material to an object's material slot.
Args: object_name: Target object. material_name: Material to assign. slot: Material slot index.
| Name | Required | Description | Default |
|---|---|---|---|
| slot | No | ||
| object_name | Yes | ||
| material_name | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure, but it only states the action 'assign.' It does not reveal whether an existing material in the slot is replaced, what happens with an invalid slot index, or whether the material must already exist in the scene.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact, front-loaded with the core action, and organized cleanly into an Args list. No unnecessary prose is present, though the brevity contributes to the lack of behavioral detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 3-parameter mutation tool with no output schema and no annotations, the description is too thin: it lacks failure behavior, side effects, prerequisites, and any note about whether the slot index is zero-based. An agent could call it with an existing material and destination slot, but it would not know what to expect when the material or slot is invalid.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 0% description coverage, so the Args section needed to add real meaning. However, 'material_name: Material to assign' and 'slot: Material slot index' mostly restate the parameter names, while 'object_name: Target object' adds only minimal clarity. It also omits that slot is optional with a default of 0, which is already in the schema but not explained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The opening sentence, 'Assign a material to an object's material slot,' names a specific verb, resource, and target. It is clearly distinct from create/delete/set-material tools, though it does not differentiate itself from the similarly named sibling reassign_material_slot.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given about when to use this tool versus alternatives such as reassign_material_slot, set_material_property, or create_material. There is no mention of preconditions like the material needing to already exist, or exclusions for other workflows.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
assign_vertex_groupA
Assign vertices to a vertex group with a specific weight.
Args: object_name: Target object. group_name: Vertex group name. vertices: Vertex indices to assign. weight: Weight value (0.0 - 1.0).
| Name | Required | Description | Default |
|---|---|---|---|
| weight | No | ||
| vertices | Yes | ||
| group_name | Yes | ||
| object_name | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full behavioral burden. It explains what the tool does at a high level but does not disclose side effects, such as whether existing vertex weights are overwritten, whether the target object must be a mesh, or what happens if the vertex group does not exist.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded: a one-sentence summary of the operation followed by a labeled argument list. Every line adds necessary information, and there is no redundant or speculative content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
All parameters are described, making the tool minimally callable, but the description omits important operational context for an annotationless mutation tool: prerequisites, effects on existing assignments, possible failure modes, and return behavior. It is adequate but not fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the Args section is the only semantic source. It meaningfully explains all four parameters: object_name is the target object, group_name names the vertex group, vertices are vertex indices, and weight is explicitly constrained to 0.0-1.0. This fully compensates for the schema's lack of descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action ('Assign vertices to a vertex group') with a clear resource and an additional scoping detail ('with a specific weight'). It is immediately distinguishable from sibling tools like create_vertex_group or assign_material, which target different resources or operations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance is provided. The description does not mention whether the vertex group must already exist, whether this tool is the right choice only after create_vertex_group, or when an alternative would be preferable. The agent must infer usage purely from the name and operation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
auto_scene_reportB
Full scene analysis with quality metrics in compact format.
Returns: poly count, material count, lighting setup, camera info, bounding box, and quality issues (non-manifold, ngons, etc.) All in a single compact response.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It does convey the output contents in detail (what metrics and issues are returned) and implies a read-only analysis by calling it a 'report.' However, it does not explicitly state that the tool makes no scene modifications or clarify any side effects or performance implications. It covers the return value well but stops short of explicit safety/efficacy disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded with the core purpose on the first line, followed by an itemized return list that is easy to scan. Minor redundancy exists: 'compact format' in the first line is restated by 'All in a single compact response' at the end, which could be trimmed without loss.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple zero-parameter tool with no output schema and no annotations, the description gives a solid account of the returned fields, which is the main thing an agent needs to call it. It falls short on contextual completeness because it does not explain how this report differs from several overlapping sibling analysis tools (get_scene_summary, analyze_mesh_quality, get_mesh_statistics), leaving the agent to guess which one is appropriate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters and the schema is empty with 100% coverage, so there is nothing for the description to disambiguate on inputs. Per the baseline for zero-parameter tools, the description appropriately adds value by detailing what the caller should expect in the output rather than explaining parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool performs a full scene analysis and reports quality metrics with a specific verb-target ('auto_scene_report' = analyze scene). It enumerates the exact contents of the report (poly count, material count, lighting, camera, bounding box, non-manifold/ngon issues), which is specific and useful. However, it does not differentiate from close siblings like get_scene_summary, analyze_mesh_quality, or get_mesh_statistics, which likely overlap in scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus its siblings. Several sibling tools (get_scene_summary, analyze_mesh_quality, check_production_readiness, get_mesh_statistics) appear to offer similar reporting/analysis functions, yet the description gives no indication of how the agent should choose among them. No exclusions, prerequisites, or alternative routing are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bake_physicsA
Bake physics simulation for an object.
Args: object_name: Object with physics. frame_start: First frame to bake. frame_end: Last frame to bake.
| Name | Required | Description | Default |
|---|---|---|---|
| frame_end | No | ||
| frame_start | No | ||
| object_name | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose side effects. It only says 'Bake physics simulation,' without mentioning that baking is often destructive (replaces dynamic simulation with keyframes), may take time, or requires the object to have an active physics simulation. The param description hints at 'Object with physics' but does not elaborate on failure behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence states the purpose, followed by a clean list of parameters. Front-loaded and efficient with no wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple bake operation, the description covers the essential parameters but omits behavioral details such as irreversibility, time cost, and required preconditions (object must have physics). Given no annotations or output schema, a bit more context would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema provides no property descriptions (coverage 0%), but the description explains all three parameters clearly: object_name, frame_start, and frame_end. Each has a concise meaning that adds value beyond the schema's bare types and defaults.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('bake') and resource ('physics simulation for an object'). This clearly distinguishes it from siblings like delete_physics or add_rigid_body, which handle different aspects of physics.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives. It does not mention prerequisites (e.g., object must already have physics) or contrast with similar operations like add_rigid_body or delete_physics. The agent must infer usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
batch_add_modifiersA
Add the same modifier to multiple objects in one call.
Args: object_names: List of object names. modifier_type: Modifier type (SUBSURF, MIRROR, BEVEL, etc.) settings: Optional settings dict to apply to each modifier.
| Name | Required | Description | Default |
|---|---|---|---|
| settings | No | ||
| object_names | Yes | ||
| modifier_type | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description must carry the full behavioral burden. It states the mutation (adds modifiers) and that settings apply to each modifier, but gives no hints about error handling, preconditions, object existence, or whether existing modifiers are affected.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The opening sentence states the core behavior, and the compact Args section adds necessary parameter guidance without unnecessary padding. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a batch mutation tool with no annotations and no output schema, the description provides enough to call it correctly: what to pass and what the operation does. It lacks failure-mode and return-value details, but those are not essential for basic invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It explains all three parameters meaningfully: object_names as a list, modifier_type with concrete examples ('SUBSURF, MIRROR, BEVEL'), and settings as an optional dict applied to each modifier.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Add'), resource ('modifier'), and scope ('to multiple objects in one call'). This clearly distinguishes it from the sibling add_modifier, which applies to a single object.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'same modifier to multiple objects in one call' makes the batch use case clear and implies it should be chosen when multiple objects need identical modifiers. However, it does not explicitly name alternatives or state when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
batch_create_objectsC
Create multiple objects in one call.
Each object: {"type": "MESH", "name": "Obj", "location": [x,y,z], "scale": [sx,sy,sz]}
Args: objects: List of object definitions.
| Name | Required | Description | Default |
|---|---|---|---|
| objects | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It provides a sample object structure but does not disclose side effects, failure behavior, atomicity, required fields, or limits. It only states the basic mutation without details on how the operation behaves under error conditions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and well-structured: a one-line purpose, a sample object, and an args list. No unnecessary filler. It could be slightly more compact, but it is efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool creates multiple objects with no annotations, output schema, or detailed parameter schema, the description is insufficient. It lacks information about required fields, defaults, error handling, return values, or interaction with other tools. The agent may not know how to construct valid objects or handle failures.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% (schema has no descriptions and uses additionalProperties true). The description adds a concrete example of the expected object structure (type, name, location, scale), which is helpful. However, it does not specify which fields are required or all possible types, so it partially compensates but is incomplete.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states 'Create multiple objects in one call', which is a clear verb+resource and implies a batch operation distinct from single-object tools like create_object. It does not explicitly contrast with sibling batch tools, but the purpose is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives. It does not mention 'use for bulk creation' or differentiate from create_object or other batch tools like batch_transform or batch_parent. The agent must infer usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
batch_delete_objectsB
Delete multiple objects in one call.
Args: names: List of object names to delete.
| Name | Required | Description | Default |
|---|---|---|---|
| names | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavior. It only says 'Delete multiple objects', implying a destructive operation but not mentioning any side effects, failure modes, partial deletion, or whether it's undoable. No detail on handling invalid names.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, with two sentences and no filler. The main action is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a batch delete operation with no annotations and no output schema, the description is sparse. It lacks information about error handling, atomicity, and how it relates to other deletion tools, making it incomplete for an agent to call confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description explains the 'names' parameter as 'List of object names to delete', which adds meaning beyond the schema's bare array type. However, it doesn't elaborate on formatting, case sensitivity, or whether non-existent names are handled.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states 'Delete multiple objects in one call' – a specific verb and resource, clearly distinguishing it from the singular delete_object and other batch_* tools that perform different actions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives like delete_object or other batch operations. There is no mention of criteria such as 'use for bulk deletion' or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
batch_material_presetB
Apply material presets to multiple objects in one call.
Each entry: {"object": "name", "preset": "metal", "color": [r,g,b]}
Args: assignments: List of material preset assignments.
| Name | Required | Description | Default |
|---|---|---|---|
| assignments | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It states that the tool applies presets, implying mutation, but does not describe permissions, error handling, partial failures, undo behavior, or what happens when an object or preset is invalid.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core purpose and keeps the example and argument definition compact. The Args section is slightly redundant with the schema but does not add meaningful bloat.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations, no output schema, and 0% schema description coverage, the description must compensate but does not. It fails to explain valid preset values, whether color is optional, behavior on missing objects, or what the tool returns, making correct invocation uncertain.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema provides no property descriptions and marks items as additionalProperties: true, so the example entry {"object": "name", "preset": "metal", "color": [r,g,b]} adds meaningful structure. However, it does not specify required fields, valid preset names, color format details, or optionality, leaving significant ambiguity.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb and resource: apply material presets to multiple objects in one call. The batch scope distinguishes it from single-object tools like assign_material, though it does not explicitly name alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'to multiple objects in one call' implies a batching use case, but there is no explicit guidance on when to prefer this over assign_material, wizard_batch_materials, or a single assignment tool. No exclusions or alternatives are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
batch_parentC
Set parent-child relationships for multiple pairs in one call.
Each entry: {"child": "name", "parent": "name", "keep_transform": true}
Args: parentings: List of parenting dicts.
| Name | Required | Description | Default |
|---|---|---|---|
| parentings | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It mentions 'keep_transform' in the example, hinting at a behavior, but it doesn't explain what it does, nor does it disclose side effects, error handling, or requirements like object existence. This is a significant gap for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, front-loads the purpose, and includes a useful example. It avoids redundancy and is appropriately short for a simple batch operation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no annotations and no output schema, the description is minimal. It covers the basic function and parameter shape, but it lacks details on return values, error scenarios, prerequisites, and the effect of keep_transform. Given the operation's simplicity, a bit more context would be expected.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description must compensate. It provides an example structure with 'child', 'parent', and 'keep_transform', which adds meaning beyond the schema's generic object array. However, it doesn't explain the semantics of each field (e.g., what keep_transform does), so it only partially compensates.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear verb and resource: 'Set parent-child relationships' and specifies 'multiple pairs in one call', which distinguishes it from single parenting tools. However, it doesn't explicitly name the sibling tool parent_objects, so differentiation is implicit rather than explicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies batch use via 'multiple pairs', but it provides no explicit guidance on when to use this tool versus alternatives like parent_objects, nor does it mention any exclusions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
batch_renameA
Rename multiple objects in one call.
Each entry: {"old": "OldName", "new": "NewName"}
Args: renames: List of rename dicts.
| Name | Required | Description | Default |
|---|---|---|---|
| renames | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It states the core action and gives the exact input format, but it does not disclose behavior around missing old names, duplicate new names, or whether renaming is atomic. For a simple rename operation this is adequate but not fully transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and well-structured: a one-sentence purpose, a short example, and a minimal args listing. Every part earns its place, and the main purpose is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter batch operation, the description gives enough information to make a correct common invocation: provide a list of {old, new} dicts. However, it omits edge-case behavior and naming constraints that could matter when objects share names or don't exist, so it is not fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema only defines renames as an array of generic objects, providing 0% semantic coverage. The description compensates by specifying the expected dict shape with 'old' and 'new' keys and giving a concrete example. It does not formally define what 'old' and 'new' refer to, but the example and tool purpose make this reasonably clear.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb, 'Rename', and a clear resource, 'multiple objects', and explicitly says 'in one call' to convey batch behavior. This distinguishes it from single-object rename tools like rename_object and from other batch_* siblings. The example entry makes the purpose even more concrete.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'Rename multiple objects in one call' clearly establishes when to use the tool: when several objects need renaming at once. It doesn't explicitly name rename_object as the single-object alternative or state when not to use batch_rename, but the context is strong enough that an agent can infer the correct usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
batch_selectA
Select multiple groups of objects in one call.
Each group: {"replace": true, "names": ["Obj1", "Obj2"]} Useful for material assignment workflows.
Args: groups: List of selection groups.
| Name | Required | Description | Default |
|---|---|---|---|
| groups | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full disclosure burden. It communicates that the operation changes selection and shows the replace/names payload, but it never states what 'replace' does, whether selection is cumulative, or what happens with missing names. That leaves a non-trivial behavioral gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded: the core behavior appears in the first sentence, and the code-block example is easy to scan. Every sentence contributes; no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with one parameter, no annotations, and no output schema, the description should fully specify the group structure and selection semantics. It provides an example, but omits the meaning of 'replace' and any constraints on object names, so the description is not sufficient for reliable invocation in edge cases.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema only describes 'groups' as an array of arbitrary objects (0% coverage), so the example payload is the sole semantic documentation. It usefully reveals the replace flag and names list, but it never defines the field meanings or requirements, leaving the structure only partially specified.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb-resource pair ('Select multiple groups of objects') and clarifies the batch nature ('in one call'). The example payload reinforces that this is a grouped selection tool, distinguishing it from single-object selection operations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly identifies a relevant workflow ('material assignment workflows'), giving an agent a concrete trigger context. However, it never names sibling alternatives like select_objects or states when not to use batch_select, so exclusion guidance is left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
batch_set_originB
Set origins for multiple objects in one call.
Each entry: {"name": "Obj", "origin_type": "GEOMETRY"}
Args: origins: List of origin dicts.
| Name | Required | Description | Default |
|---|---|---|---|
| origins | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry full behavioral disclosure. It states it 'sets origins' but does not explain what an origin is, whether it modifies geometry or transform, whether it is reversible, or any side effects. As a mutation tool, it lacks critical behavioral context like irreversibility or required selection state.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, with a clear first sentence stating the purpose, followed by an example and parameter explanation. It is front-loaded and avoids fluff. However, the example could be more explanatory but is still efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a batch operation with a nested object structure and no output schema, the description is incomplete. It does not explain allowed values for 'origin_type', whether 'name' refers to an object name or identifier, or any constraints on the list. There is no guidance on error handling or return behavior, leaving an agent without enough detail to reliably construct a valid call.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It provides an example entry '{"name": "Obj", "origin_type": "GEOMETRY"}' and explains the parameter is a list of origin dicts. This adds meaning about the expected structure (keys 'name' and 'origin_type') but does not enumerate possible values for 'origin_type' or clarify the 'name' field, leaving ambiguity.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states 'Set origins for multiple objects in one call' which clearly identifies the action (setting origins) and the scope (multiple objects, batched). It distinguishes itself from the sibling tool 'set_origin' by explicitly mentioning 'multiple objects in one call', so an agent can tell them apart without opening schemas.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for batching multiple objects but does not explicitly state when to prefer this over the singular 'set_origin' or when not to use it. There is no mention of alternatives or exclusion criteria, only the phrase 'multiple objects in one call' which serves as a weak usage signal.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
batch_transformB
Apply transforms to multiple objects in one call.
Each entry: {"name": "Obj", "location": [x,y,z], "rotation": [rx,ry,rz], "scale": [sx,sy,sz]} Only provided channels are modified per object.
Args: transforms: List of transform dicts.
| Name | Required | Description | Default |
|---|---|---|---|
| transforms | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry behavioral disclosure. It does add one useful trait—'Only provided channels are modified per object'—but it does not state whether changes are permanent, how missing objects are handled, or what the call returns.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is brief, front-loaded with the core action, and uses a compact code block for the transform format. Every sentence adds value and there is no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter batch mutation tool the input shape is adequately covered, but context is incomplete without annotations or an output schema: there is no mention of object existence errors, return behavior, or side effects beyond the partial-channel update.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description is the only source of parameter meaning. It compensates by showing the exact per-entry structure with name, location, rotation, and scale, plus the partial-update rule. It still leaves minor details such as number types and required keys implicit.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies a batch operation that applies transform updates to multiple objects and includes a precise array entry format. It is distinct from single-object transform tools by emphasizing 'multiple objects in one call,' though it does not explicitly name a sibling alternative.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies batching but gives no explicit when-to-use guidance, prerequisites, or alternatives. An agent is left to infer when to choose this over set_object_transform, move_object, rotate_object, scale_object, or apply_transform.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
batch_visibilityC
Set visibility for multiple objects in one call.
Each entry: {"name": "Obj", "visible": true, "hide_render": false}
Args: visibilities: List of visibility dicts.
| Name | Required | Description | Default |
|---|---|---|---|
| visibilities | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It states the mutation (setting visibility) but does not disclose validation behavior, handling of invalid or missing object names, partial-failure semantics, idempotency, or what the response indicates. For a batch mutation tool this is a meaningful gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Compact and efficient: a front-loaded purpose sentence followed by the entry format and an args line. Every sentence earns its place with no filler, though the format example consumes space that could have been used for key semantics.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter batch tool with no output schema, the description documents the input format adequately to attempt a call. Missing return-value/error behavior and key semantics (hide_render defaults) leave it short of fully specifying the operation, but the call signature is usable.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must fully document the parameter. It provides the dict structure and an example with keys (name, visible, hide_render), which adds real value. However, it does not explain the meaning of hide_render, whether it is optional, or defaults, leaving the semantics incomplete.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Set') and resource (visibility for multiple objects) with the clarifying phrase 'in one call', which distinguishes it from single-object tools like set_object_visibility and set_collection_visibility. It doesn't explicitly name those siblings, but the batch intent is clear enough to set it apart.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus its single-object alternatives (set_object_visibility, set_collection_visibility). The description implies batch usage but gives no exclusions, prerequisites, or conditions that would select this over a sibling.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bevel_edgesB
Bevel selected edges of a mesh.
Args: object_name: Object name. width: Bevel width. segments: Number of segments (1 = flat bevel).
| Name | Required | Description | Default |
|---|---|---|---|
| width | No | ||
| segments | No | ||
| object_name | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure, but it only restates the action and parameters. It does not disclose whether the bevel is destructive, requires edit mode, or modifies the existing geometry in place.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact, front-loads the operation, and uses a clean Args block. Every line contributes either to the tool's purpose or to parameter understanding, with no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no annotations and no output schema, important context is missing: how edges are selected, whether the object must be in edit mode, units for width, and what the tool returns. An agent cannot fully predict the tool's requirements or side effects.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description partially compensates by naming all three parameters. However, 'object_name: Object name' and 'width: Bevel width' largely repeat the schema titles; only 'segments (1 = flat bevel)' adds meaningful semantic value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The first sentence uses a specific verb ('bevel') and resource ('selected edges of a mesh'), making the tool's operation immediately clear. The name is not merely restated, and the scope is narrow enough to distinguish it from broad edge-editing siblings like edit_mesh_edges.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool versus alternatives, no prerequisites, and no mention that edges must be selected beforehand. Despite sibling tools like edit_mesh_edges or apply_modifier, the description never addresses which workflow should call this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
boolean_operationB
Perform a boolean operation between two objects.
Args: object_name: Object to modify. target_name: Object to use as boolean operand. operation: UNION, INTERSECT, or DIFFERENCE.
| Name | Required | Description | Default |
|---|---|---|---|
| operation | No | DIFFERENCE | |
| object_name | Yes | ||
| target_name | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description bears the full burden of behavioral disclosure. It only says the object is modified and the target is used as an operand; it does not disclose whether the operation is destructive, whether a boolean modifier is added, what happens if geometry is non-manifold, or what the result/return state looks like. This is thin for a mutating operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact, front-loaded with the core action, and uses a clear Args block with one line per parameter. No filler or redundant restatement of the name is present.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 3-parameter tool without annotations or an output schema, the description supplies the essential semantics needed to make a first call: what the tool does and what each argument means. However, it lacks guidance on prerequisites, failure cases, object types, or what the operation changes structurally, leaving notable gaps for reliable invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, but the description compensates by giving each parameter a meaningful one-line role: object_name is the modified object, target_name is the operand, and operation lists the allowed values. This adds real value over the bare schema titles, though it could be richer about object type requirements and the default operation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Perform'), a target resource ('boolean operation between two objects'), and lists the three allowed operation kinds. It is distinct from obvious siblings like join_objects or separate_by_material, though it does not explicitly name a sibling to distinguish itself from.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The listed operation values (UNION, INTERSECT, DIFFERENCE) imply when the tool is appropriate, and 'Object to modify' + 'operand' clarify roles. However, there is no explicit guidance about when to prefer this over alternatives such as join_objects or mesh edit tools, nor any prerequisites or exclusion criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_production_readinessA
Full production readiness audit: manifold geometry, UV maps, materials, naming conventions, origin alignment. Returns a score 0-100 with detailed breakdown.
| Name | Required | Description | Default |
|---|---|---|---|
| object_name | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It covers what is checked and the return shape, and the word 'audit' implies a non-destructive read-only operation. However, it does not explicitly state that the tool modifies nothing, whether it operates on the named object in any special mode, or how failures or missing objects are handled.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two tightly written sentences with no filler. The opening phrase states the tool's purpose immediately, the comma-separated list efficiently communicates the audit scope, and the return value is stated in the second sentence. Every part earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter, no-output-schema tool, the description provides the essential context: what is checked, what is returned, and the score range. It is slightly incomplete in not clarifying how to interpret the score or how object_name is resolved, but it is otherwise sufficient for a straightforward read-only audit tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The only parameter, object_name, has 0% schema description coverage and the tool description does not elaborate on it at all. The name is self-explanatory at a basic level, but the description adds no guidance about name format, whether the object must be selected, or what happens when the object does not exist. Given the low schema coverage, the description should have compensated but did not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as a 'full production readiness audit' and enumerates the exact areas it covers (manifold geometry, UV maps, materials, naming conventions, origin alignment). It also specifies the return value (a 0-100 score with breakdown), making it easy to distinguish from narrower analysis siblings like analyze_mesh_quality or get_mesh_statistics.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description establishes a clear use case: a comprehensive pre-production/export readiness check. It does not explicitly name when not to use it or compare it to alternatives, but the 'production readiness' framing and scope of checks give the agent enough context to select it appropriately.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
configure_body_materialB
Configure a solid body/casing material.
Works for product casings, furniture surfaces, architectural elements, or any solid opaque surface.
Args: material_name: Name of the body material. color: RGB base color (0-1). roughness: Surface roughness. metallic: Metallic value. 0.0 = dielectric, 1.0 = metal.
| Name | Required | Description | Default |
|---|---|---|---|
| color | No | ||
| metallic | No | ||
| roughness | No | ||
| material_name | No | Main |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It only says 'Configure' and never states whether this mutates the selected object's material, creates or replaces a material, has prerequisites, or returns anything. This is a significant gap for an apparent mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short, front-loaded with its purpose, and the supported-use line earns its place. The Args block is conventional and contains no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a material-mutation tool with no annotations and no output schema, the description omits side effects and prerequisites. An agent can infer parameter meanings but not what happens when the tool is called, making it incomplete for reliable invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description is the only source of parameter meaning. It gives one-line meanings for all four parameters, and color and metallic receive useful ranges, but material_name and roughness are mostly restatements of their names.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Configure') and a clear resource ('solid body/casing material'), with the 'solid opaque surface' scope helping separate it from glass/display material siblings. It does not explicitly name sibling tools, but the resource and qualifier are distinct enough.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The 'Works for product casings, furniture surfaces, architectural elements' sentence gives application context, but there is no explicit guidance on when to prefer this over assign_material, set_material_property, create_material, or configure_display_material. No exclusions or alternatives are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
configure_cameraC
Configure camera optical properties.
Args: name: Camera object name. lens: Focal length in mm. depth_of_field: Enable depth of field. fstop: Aperture f-stop. focus_distance: Focus distance. clip_start: Near clip. clip_end: Far clip.
| Name | Required | Description | Default |
|---|---|---|---|
| lens | No | ||
| name | Yes | ||
| fstop | No | ||
| clip_end | No | ||
| clip_start | No | ||
| depth_of_field | No | ||
| focus_distance | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It does not state whether the camera must already exist, whether unset parameters are left unchanged or reset to defaults, or what side effects occur. It only says 'Configure,' which implies mutation but provides no detail about the operation's behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded with a clear one-line purpose followed by a parameter list. There is no redundant prose. It earns its place, though it could be slightly more structured with grouping of related optical parameters.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with seven parameters, no output schema, and no annotations, the description is incomplete. It does not explain prerequisites, default behavior for null values, return values, or the effect of each parameter on the final rendered image. An agent would need additional context to invoke it correctly in all cases.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It does list all seven parameters with brief explanations, adding meaning such as 'Focal length in mm' and 'Enable depth of field.' However, it omits units for focus_distance, clip_start, and clip_end, and does not explain valid ranges or the relationship between fstop and depth_of_field.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'Configure camera optical properties.' This clearly identifies the tool's function and distinguishes it from camera creation, framing, and viewport tools. However, 'configure' is somewhat generic and could be more explicit about the fact that it modifies an existing camera.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like create_camera, set_camera_to_view, or setup_studio_camera. There are no explicit conditions, exclusions, or references to sibling tools. The usage context is only implied by the phrase 'optical properties.'
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
configure_display_materialA
Configure a display/emissive material for any scene.
Sets dark base color, low roughness, and optional emission. Works for phone screens, monitors, TVs, control panels, HUDs, or any emissive surface.
Args: material_name: Name of the material to configure. color: RGB base color (0-1). Default: near-black. roughness: Surface roughness. 0.03 = mirror-like. emission_color: RGB emission color. emission_strength: Emission intensity. 0 = off, 1+ = glowing.
| Name | Required | Description | Default |
|---|---|---|---|
| color | No | ||
| roughness | No | ||
| material_name | No | Display | |
| emission_color | No | ||
| emission_strength | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral disclosure burden. It explains that the tool sets dark base color, low roughness, and optional emission, and gives meaningful scale info for emission strength. However, it does not state whether the material must already exist, whether existing values are overwritten, or what the return/side effects are.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is tightly structured: a one-line purpose, a short behavior summary, usage examples, and a compact Args block. Every sentence adds value, and the core purpose is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with five optional parameters and no output schema, the description covers parameter meaning, defaults, and typical usage. The main gap is lack of clarification around creating vs. modifying materials, and no comparison to set_material_property or configure_glass_material.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description fully compensates. Every parameter is given a semantic explanation: material_name, color range (0-1), roughness meaning (0.03 = mirror-like), emission_color, and emission_strength scale (0 = off, 1+ = glowing). This enables correct invocation despite the bare schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'Configure a display/emissive material.' It further clarifies scope with concrete examples like phone screens, monitors, TVs, and HUDs, distinguishing it from sibling material tools such as configure_glass_material and configure_body_material.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly indicates when this tool is appropriate: for any emissive/display surface. It does not explicitly name alternatives or exclusion conditions, but the use case is unambiguous enough to guide tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
configure_dyntopoB
Configure dynamic topology (dyntopo) for sculpting.
Args: enabled: Enable/disable dyntopo. detail_size: Detail size (smaller = more detail). resolution: RELATIVE, ABSOLUTE, or BRUSH.
| Name | Required | Description | Default |
|---|---|---|---|
| enabled | No | ||
| resolution | No | RELATIVE | |
| detail_size | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses that dyntopo is being enabled/disabled and that detail_size affects detail, but it doesn't explain side effects (e.g., mesh modification, performance impact, whether it requires sculpt mode), what happens to existing topology, or how resolution modes behave. This is a significant gap for a mesh-mutating tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded with the core purpose. The parameter list is brief and scannable. It earns its place without fluff, though the resolution modes could use a bit more explanation without hurting conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool that mutates mesh topology, with no annotations and no output schema, the description is incomplete. It doesn't state prerequisites (e.g., must be in sculpt mode), side effects, or what the resolution modes mean. An agent would struggle to know when and how to invoke this correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It does add meaning for enabled and detail_size, but resolution is only listed as 'RELATIVE, ABSOLUTE, or BRUSH' without explaining what each mode does. The description partially compensates but leaves a key parameter under-explained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool configures dynamic topology for sculpting, with a specific verb and resource. It distinguishes itself from sculpt-related siblings like configure_sculpt_brush, enter_sculpt_mode, and remesh_sculpt, though it doesn't explicitly name them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage in a sculpting context and lists parameters, but it doesn't explicitly state when to use this tool versus alternatives like remesh_sculpt or configure_sculpt_brush. The context is clear enough for an agent to infer, but no exclusions or alternative routing is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
configure_glass_materialB
Configure glass/transparent material for EEVEE.
Works for windows, lenses, screens, bottles, or any transparent surface.
Args: material_name: Name of the glass material. transmission: Transmission weight (0-1). 0.95 = fully glass-like. ior: Index of refraction. 1.52 = standard glass. roughness: Surface roughness. 0.0 = perfect mirror.
| Name | Required | Description | Default |
|---|---|---|---|
| ior | No | ||
| roughness | No | ||
| transmission | No | ||
| material_name | No | glass |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of disclosing behavior, but it does not state whether this tool creates a new material, modifies an existing one, assigns it to an object, or overwrites settings. It mentions EEVEE specificity and parameter effects, but key side effects are omitted for what is clearly a mutating operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and well-organized: purpose first, then use cases, then a clean argument list. Every sentence earns its place, and the parameter notes are directly useful given the empty schema descriptions.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a configuration tool with no annotations and no output schema, the description covers purpose, use cases, and parameters well. However, it is not fully complete for an agent deciding whether to call this tool or what side effects to expect; missing details like whether the material must pre-exist or whether it is assigned to selected objects leave meaningful gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate, and it does: all four parameters are explained with meaningful guidance, including recommended values like '0.95 = fully glass-like' and '1.52 = standard glass.' The only minor weakness is that 'material_name: Name of the glass material' is somewhat tautological and unclear about existing vs. new materials.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's job: 'Configure glass/transparent material for EEVEE.' This is a specific verb, resource, and renderer, and the examples (windows, lenses, screens) make the intent unambiguous. It does not explicitly contrast with sibling tools like set_material_property or create_material, but the glass/EEVEE focus is enough to distinguish it.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'Works for windows, lenses, screens, bottles, or any transparent surface' gives clear usage context and implies when this tool is appropriate. However, it does not explicitly mention when not to use it or name alternatives such as set_material_property or create_procedural_material, leaving the selection decision somewhat inferential.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
configure_lightA
Configure an existing light's properties.
Args: name: Light object name. energy: Power in watts. color: [R, G, B] light color. radius: Soft shadow radius. spot_angle: Spot cone angle in radians (spot lights only). shadow_soft_size: Shadow soft size.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| color | No | ||
| energy | No | ||
| radius | No | ||
| spot_angle | No | ||
| shadow_soft_size | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral burden. It does disclose a useful constraint ('spot_angle ... spot lights only') and implies mutation of an existing light. It does not say whether omitted parameters retain current values or get reset, nor what happens if the named light does not exist.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The definition is front-loaded with a one-sentence purpose and a clean Args block. Every line adds information; there is no filler, repetition, or unnecessary detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 6-parameter configuration tool with no annotations and no output schema, the description covers parameter semantics well but omits when-to-use routing and the behavior of unspecified parameters. An agent can call it for straightforward cases but cannot tell whether nulls mean 'leave unchanged' or 'reset to default.'
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the parameter list is the primary documentation. It adds real meaning beyond bare names: energy is in watts, color is an [R, G, B] array, and spot_angle is in radians and only applies to spot lights. Some ranges, such as color value bounds, are still unspecified.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The opening sentence 'Configure an existing light's properties' names a specific action and resource, and the word 'existing' clearly distinguishes it from create_light. It also enumerates the affected properties, leaving no ambiguity about the tool's scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Use is implied by 'existing light': the tool is for modifying lights that already exist, not creating them. However, it never explicitly names alternatives such as create_light or list_lights, nor does it state when to prefer this over related lighting tools like setup_hdri_lighting or setup_studio_lighting.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
configure_modifierC
Configure settings of an existing modifier.
Args: object_name: Target object. modifier_name: Name of the modifier to configure. settings: Dict of setting_name: value pairs.
| Name | Required | Description | Default |
|---|---|---|---|
| settings | Yes | ||
| object_name | Yes | ||
| modifier_name | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It only states that it 'configures settings' without mentioning whether it mutates the modifier, merges or replaces existing settings, requires the object to be active, or what happens on failure. The lack of any behavioral detail for a mutation tool is a significant gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short and front-loaded with the purpose, which is structurally efficient. However, brevity here results from under-specification rather than careful trimming—it omits essential context. It's not verbose, but it doesn't earn its place because it fails to inform the agent beyond the bare names.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with three parameters, a nested dict, no output schema, and no annotations, the description is inadequate. It doesn't explain the meaning of 'settings', what values are accepted, whether the modifier must exist, or how the tool behaves in edge cases. An agent would have to guess or experiment to use it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must compensate. It restates the three parameter names and gives a one-line type for settings ('Dict of setting_name: value pairs'), which adds minimal value over the schema. It doesn't explain what object_name refers to (e.g., a scene object), what modifier_name must match, or what setting keys are valid. The description essentially paraphrases the schema without enriching it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear verb ('configure') and a specific resource ('existing modifier'), which distinguishes it from sibling tools like add_modifier, remove_modifier, or reorder_modifier. It implies the modifier already exists, which is a useful scoping detail. However, it doesn't elaborate on what 'settings' means or how they relate to the modifier, leaving some ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus alternatives. It doesn't mention that it should be used after a modifier is added, nor does it reference any sibling tools or conditions that would select this over add_modifier or set_material_property. The agent is left to infer usage from the name and the single sentence.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
configure_renderA
Configure render engine, GPU, samples, resolution, etc.
Args: engine: Render engine (CYCLES, BLENDER_EEVEE, BLENDER_WORKBENCH). samples: Number of samples for Cycles. device: "GPU" or "CPU" for Cycles device. denoising: Enable/disable denoising. max_bounces: Max light bounces for Cycles. resolution_x: Output width. resolution_y: Output height.
| Name | Required | Description | Default |
|---|---|---|---|
| device | No | ||
| engine | No | ||
| samples | No | ||
| denoising | No | ||
| max_bounces | No | ||
| resolution_x | No | ||
| resolution_y | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the responsibility for behavioral disclosure. It clearly communicates that this tool configures render settings and enumerates the affected fields, but it does not mention side effects like whether a render is triggered, whether previous settings are overwritten, or how engine-specific parameters are ignored.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The one-sentence summary is front-loaded and the Args list is compact and scannable. Every line adds value, and there is no redundant prose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a configuration tool with 7 optional parameters, no annotations, and no output schema, the description is largely self-contained and sufficient for invoking the tool correctly. It is only missing a short usage hint about when to apply these settings and how zero or default values are interpreted.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the parameter descriptions are essential. The description compensates by explaining every parameter, including enum-like values for engine, explicit values for device, and meanings for samples, denoising, max_bounces, and resolution dimensions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action: 'Configure render engine, GPU, samples, resolution' and backs it up with a complete parameter list. It clearly identifies this as a render-settings tool, though it does not explicitly differentiate itself from render_preview, render_image, or set_viewport_shading.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given about when to use this tool versus its render-related siblings. There is no mention of calling this before rendering, nor any indication of which settings apply to which engine beyond the parameter descriptions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
configure_sculpt_brushB
Configure the active sculpt brush.
Args: brush_name: Draw, Clay, Crease, Inflate, Grab, Smooth, etc. size: Brush radius. strength: Brush strength (0-1). auto_masking: Enable auto masking.
| Name | Required | Description | Default |
|---|---|---|---|
| size | No | ||
| strength | No | ||
| brush_name | No | Draw | |
| auto_masking | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral disclosure burden. It merely says 'Configure' and lists parameters, but does not state whether sculpt mode is required, how existing brush settings are affected, whether the change is persistent, or what happens if no active sculpt brush exists.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and well-structured: a decisive lead sentence followed by a concise parameter list. Every line earns its place without redundancy or unnecessary elaboration.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the core action and all parameters, but it omits important context such as the need to be in sculpt mode, the effect on an active object, and any behavioral expectations around invalid states. The absence of annotations and output schema makes these gaps more noticeable, though the tool itself is relatively simple.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the Args block adds meaningful information for all four parameters, including brush name examples, size semantics, and strength range. Some entries like 'auto_masking: Enable auto masking' are close to tautological, but overall it compensates well for the schema's lack of descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The opening sentence 'Configure the active sculpt brush' clearly identifies a specific verb and resource. It conveys what the tool does and is distinguishable from broader sculpt tools like enter_sculpt_mode or configure_dyntopo, though it does not explicitly name a sibling to differentiate itself from.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives, nor any mention of prerequisites such as being in sculpt mode or having an active sculpt object. The phrase 'active sculpt brush' indirectly implies context, but the description leaves the usage conditions to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
connect_geometry_nodesC
Connect two nodes in a geometry node tree.
Args: node_group_name: Node group name. from_node: Source node name. from_socket: Source socket name. to_node: Target node name. to_socket: Target socket name.
| Name | Required | Description | Default |
|---|---|---|---|
| to_node | Yes | ||
| from_node | Yes | ||
| to_socket | Yes | ||
| from_socket | Yes | ||
| node_group_name | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears full responsibility for disclosing side effects. It states the operation (connect) but says nothing about whether an existing connection is replaced, whether multiple wires are allowed, whether sockets must be input/output, or what happens on invalid names. This leaves the agent guessing about mutation behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact, with a one-line purpose followed by a clean Args block. It is front-loaded with the core intent and contains no filler. The minimal label expansions are redundant with the schema titles but are still organized and skimmable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With five required parameters, zero annotations, no output schema, and 0% schema description coverage, the description needs to provide a complete mental model for a correct call. It does not explain prerequisites (existing node group and nodes), exact socket-name/socket-direction requirements, or error/return behavior, so an agent would likely need trial and error.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description needed to add real semantics for all five required parameters. It only restates the parameter names with shallow labels ('Source node name', 'Target socket name'), adding almost nothing beyond the schema's own titles. It omits exact name matching rules, socket direction, and value formats.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific action ('Connect two nodes') and a concrete resource context ('in a geometry node tree'), which distinguishes it from connect_shader_nodes. It does not restate the tool name and names the key objects involved. Minor gap: it doesn't explicitly say it creates a wire from from_socket to to_socket, but the Args section clarifies source/target.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'in a geometry node tree' implies a use context and creates implicit contrast with shader-node wiring. However, there is no explicit guidance about prerequisites (nodes already added, valid group) or when to prefer this over add_geometry_node, connect_shader_nodes, or create_procedural_distribution. The sibling tool names make the distinction inferable, but the description itself doesn't spell it out.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
connect_shader_nodesA
Connect two shader nodes in a material's node tree.
Args: material_name: Target material. from_node: Source node name/label. from_socket: Source socket name. to_node: Target node name/label. to_socket: Target socket name.
| Name | Required | Description | Default |
|---|---|---|---|
| to_node | Yes | ||
| from_node | Yes | ||
| to_socket | Yes | ||
| from_socket | Yes | ||
| material_name | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description carries the full burden of disclosing behavior. It only says 'connect', which implies a mutation, but it does not mention whether existing connections are replaced, whether nodes/sockets must already exist, or what happens on invalid socket names. For a mutating graph operation this is a meaningful transparency gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and well-structured: one clear purpose sentence followed by a straightforward Args list. Every sentence earns its place, and the action is front-loaded before the parameter details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simple operation, five clearly documented parameters, and no output schema, the description covers the essentials an agent needs to make the call: what the tool does, which material to target, and which nodes/sockets to connect. It does not explain edge cases like overwriting existing links, but that is secondary for a basic connect operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description compensates by listing all five parameters with brief meanings: 'Target material', 'Source node name/label', 'Source socket name', 'Target node name/label', and 'Target socket name'. This adds basic semantics beyond the bare schema, though it stays shallow and gives no examples or constraints.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The first sentence states a specific action and resource: 'Connect two shader nodes in a material's node tree.' This clearly distinguishes it from siblings like add_shader_node, set_shader_node_value, and connect_geometry_nodes by specifying both the operation and the domain (shader nodes, material node tree).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context: this tool connects shader nodes within a material's node tree, which implies it should be used after nodes exist and when a link is needed. It does not explicitly name alternatives or exclusion cases, but the domain restriction to 'shader nodes' and 'material's node tree' is enough to route an agent away from geometry-node or value-setting tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
convert_curve_to_meshB
Convert a curve object to a mesh.
Args: curve_name: Curve to convert. name: Name for the new mesh. Empty = auto.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | ||
| curve_name | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses that a new mesh is created (via 'Name for the new mesh'), but does not clarify whether the original curve is preserved, deleted, or hidden, nor what happens on invalid input. This leaves significant behavioral ambiguity.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise: a single clear purpose sentence plus a minimal Args block. No wasted words, and the most important information is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple, but the description lacks clarity on whether conversion is in-place or creates a new object, and does not specify return behavior or prerequisites. Given no annotations and no output schema, a bit more context would make it complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the parameter section is essential. The description explains curve_name as 'Curve to convert' and name as 'Name for the new mesh. Empty = auto', adding practical meaning beyond the bare schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'Convert a curve object to a mesh.' This clearly identifies the tool's function and differentiates it from more generic conversion tools like convert_object, though it does not explicitly name that sibling.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives such as convert_object, nor any prerequisites, exclusions, or expected context. The agent must infer usage from the tool name and brief description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
convert_objectC
Convert an object to a different type (e.g., curve to mesh).
Args: name: Object name. target_type: Target type (MESH, CURVE, SURFACE, etc.).
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| target_type | No | MESH |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of disclosing side effects. It states that conversion happens but does not say whether the original object is modified or replaced, whether data is preserved, what limitations apply, or what happens on failure. For a mutation-style tool this is a significant transparency gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short, front-loaded with the core purpose, and contains no fluff. The Args block is compact and directly repeats parameter names in a scannable way. It earns a high score for conciseness, though the Args block adds only marginal value over the schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no output schema and no annotations, the description is not complete enough for an agent to understand the full consequences of calling it. It explains what the tool does and what the parameters are, but omits behavioral context such as success/failure behavior, whether the object is replaced, and supported type restrictions. A simple tool should still disclose these basics.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate for the bare schema. It provides minimal meaning for both parameters—'Object name' and 'Target type (MESH, CURVE, SURFACE, etc.)'—but it does not enumerate supported target types, clarify case sensitivity, or explain what values are valid beyond loose examples. It adds only slightly more than the property names and default already provide.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool converts an object to a different type and gives a concrete example (curve to mesh) plus example target types (MESH, CURVE, SURFACE). It is specific enough to distinguish the generic operation from the more targeted sibling convert_curve_to_mesh, though it does not explicitly name that sibling.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given about when to use this tool versus alternatives such as convert_curve_to_mesh or other conversion-related tools. The description implies generic conversion use, but it does not state exclusions, prerequisites, or which sibling should be preferred for specific conversions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_armatureC
Create a new armature object.
Args: name: Armature name. location: [x, y, z] position.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Armature | |
| location | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden, but it only says 'Create' without disclosing side effects, what happens on success, whether it adds to the active collection, or any state changes. It doesn't mention if it's destructive or reversible, which is a significant gap for a creation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise, with the purpose stated first and an 'Args' section that is directly to the point. No unnecessary words or repetition; it's well-structured for a simple two-parameter tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a creation tool without annotations or output schema, the description is incomplete. It doesn't explain what an armature is used for, how it integrates with the scene, or what the return value is. It also fails to differentiate from similar object creation tools, leaving the agent without enough context to use it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It lists 'name' and 'location' with brief explanations ('Armature name', '[x, y, z] position'), which adds minimal meaning over the schema's types and defaults. It doesn't clarify coordinate space, units, or how location is applied, but it does provide basic semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Create a new armature object' with a specific verb and resource. It distinguishes from generic create_object by naming 'armature', and from create_humanoid_rig by being more basic. However, it doesn't explicitly contrast with create_object or mention the rigging context, so it's clear but not fully differentiated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives like create_object or create_humanoid_rig. There is no mention of prerequisites, scene context, or exclusions, leaving the agent to infer when armature creation is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_cameraB
Create a camera with optical settings.
Args: name: Camera name. location: [x, y, z] position. rotation: [x, y, z] Euler rotation. lens: Focal length in mm. sensor_width: Sensor width in mm. clip_start: Near clipping distance. clip_end: Far clipping distance.
| Name | Required | Description | Default |
|---|---|---|---|
| lens | No | ||
| name | No | Camera | |
| clip_end | No | ||
| location | No | ||
| rotation | No | ||
| clip_start | No | ||
| sensor_width | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are absent, so the description carries the full burden of behavioral disclosure. It only says a camera is created with optical settings; it does not mention whether the new camera becomes active, what happens to existing cameras, where it is added, or what the tool returns.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and well-organized: one framing sentence followed by a tight argument list. Every line provides useful parameter information and no filler is present.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
All parameters are documented, but the absence of an output schema and annotations means the agent still lacks information about the tool's return value and behavioral side effects. Combined with no usage-vs-sibling guidance, the description is adequate but not complete for confident invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, but the description compensates by explaining all seven parameters, including useful semantic details such as Euler rotation, focal length in mm, and near/far clipping distance. It adds meaning beyond the bare schema titles, though it could go further on units and defaults.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear action and resource: 'Create a camera with optical settings.' It distinguishes its core intent from the sibling configure_camera by using the verb 'create', though it does not explicitly name that sibling.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided about when to use this tool versus alternatives such as configure_camera, setup_camera_track_to, or set_camera_framing. The implied context is 'when you need a new camera,' but there are no explicit exclusions or sibling comparisons.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_collectionB
Create a new collection.
Args: name: Collection name. parent: Parent collection name (empty = root).
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| parent | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of disclosing behavior. It states the create action but does not disclose side effects, error conditions (duplicate names, missing parent), or whether the operation is reversible. The 'empty = root' hint for parent adds some context but not enough for a mutating operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded with the primary purpose. The Args block is neatly formatted and each sentence contributes. Slightly more detail would be beneficial, but it remains clean and scannable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple create operation, the description is minimal but incomplete. It fails to explain the hierarchical relationship implications, duplicate handling, or parent existence rules. Given the lack of an output schema and annotations, more context is needed for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must compensate. It provides basic definitions for both parameters and explains that parent empty means root, which adds meaningful semantics beyond the raw schema. However, it lacks details like name constraints or parent existence requirements.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with the specific verb 'Create' and the resource 'collection', immediately distinguishing it from sibling tools like delete_collection or move_to_collection. The action is unambiguous and the tool name is not merely repeated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives such as list_collections or create_object. There is no mention of prerequisites (e.g., parent must exist) or scenarios where another tool would be more appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_curveA
Create a curve object.
Args: name: Curve name. curve_type: BEZIER, NURBS, or POLY. points: List of [x, y, z] control points. location: [x, y, z] position. bevel_depth: Curve bevel depth (thickness). bevel_resolution: Bevel resolution. fill: FULL, HALF, or NONE.
| Name | Required | Description | Default |
|---|---|---|---|
| fill | No | FULL | |
| name | No | Curve | |
| points | No | ||
| location | No | ||
| curve_type | No | BEZIER | |
| bevel_depth | No | ||
| bevel_resolution | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden for behavioral disclosure. It clearly states the action and parameters, but it does not mention side effects like adding a new object to the current scene, name collision behavior, or whether the created curve is returned or selected. This is adequate but not rich behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded with the core purpose, followed by a structured parameter list. It contains no filler prose, though a few entries like 'name: Curve name' are near-tautological. Overall, it is appropriately sized for the tool's complexity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers all parameter semantics but omits contextual details such as coordinate system/units, behavior when optional params are omitted, and whether the operation returns anything. Since there is no output schema and no annotations, this leaves some operational uncertainty, though the core invocation is still understandable.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description fully compensates by explaining all seven parameters. It adds meaningful detail: curve_type allowed values, point/location tuple formats, bevel meaning, and fill allowed values. This is essential documentation that the schema itself fails to provide.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'Create a curve object.' This clearly distinguishes it from generic tools like create_object and from curve-modification siblings like edit_curve_points or set_curve_fill. The detailed parameter list further confirms the tool's role.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance about when to use this tool versus alternatives such as create_object, edit_curve_points, or convert_curve_to_mesh. The agent must infer from the name and parameter list that this is for initial curve creation, but no explicit when-to-use or when-not-to-use information is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_humanoid_rigB
Create a basic humanoid armature with spine, arms, and legs.
Args: armature_name: Name for the armature. location: [x, y, z] position.
| Name | Required | Description | Default |
|---|---|---|---|
| location | No | ||
| armature_name | No | HumanRig |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It only says 'Create a basic humanoid armature' but does not explain side effects (e.g., whether it replaces existing armatures), whether the new armature becomes active, or any prerequisites. This is a significant gap for a creation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is efficient: a single purpose sentence and a concise args list. The purpose is front-loaded and the parameter explanations are minimal but sufficient. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple 2-parameter tool with no output schema and no annotations, the description covers purpose and parameters but lacks usage context, behavioral details, and any distinction from the very similar create_armature sibling. An agent would not know when to choose this tool or what happens after creation, making it incomplete for confident invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must explain parameters. It does: armature_name is the name, location is an [x, y, z] position. This adds meaning beyond the schema's bare titles and defaults. It could add context like coordinate system, but the core meaning is clear.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it creates a basic humanoid armature with spine, arms, and legs. This is a specific verb and resource that distinguishes it from generic siblings like create_armature and add_bone. The mention of specific anatomical parts makes the purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus alternatives such as create_armature or setup_ik_chain. The description only states what it does, not the conditions that would make it the preferred choice. There is no mention of exclusions or alternative tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_latticeC
Create a lattice for free-form mesh deformation.
Optionally binds to a target object via Lattice modifier.
Args: name: Name for the lattice. location: [x, y, z] position. points_u: Control points in U direction. points_v: Control points in V direction. points_w: Control points in W direction. target_object: Object to apply lattice modifier to (optional).
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Lattice | |
| location | No | ||
| points_u | No | ||
| points_v | No | ||
| points_w | No | ||
| target_object | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of disclosing side effects. It states that a lattice is created and may bind to a target object, but it does not clarify what happens to the target object (e.g., modifier added, object modified), whether the lattice is added to the scene, what happens on name conflicts, or what the tool returns. The disclosure is minimal and incomplete.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact: a one-line purpose, a single optional side-effect note, and a clean Args list. It avoids unnecessary filler and the Args list earns its place because the schema provides no descriptions. Slightly more context about defaults or constraints could be added without bloating it.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 6-parameter tool with no annotations and no output schema, the description leaves significant gaps. It does not explain prerequisites (e.g., target_object must exist, points_u/v/w minimum values), coordinate-space assumptions, return values, or how the created lattice is referenced later. An agent would likely need external knowledge to call this tool confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It does provide an Args section covering all six parameters, giving basic meaning: name, location as [x, y, z], points_u/v/w as control-point counts, and target_object as the optional bind target. However, the explanations are shallow—missing ranges, units, coordinate-system context, and interaction semantics—so the compensation is only partially adequate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb and resource: 'Create a lattice for free-form mesh deformation.' It also mentions optional binding to a target object via a Lattice modifier, which helps distinguish it from siblings like apply_lattice_deform. However, it does not explicitly contrast itself with any sibling, so it stops short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given for when to choose this tool over alternatives, nor are any preconditions or prohibitions stated. The phrase 'Optionally binds to a target object via Lattice modifier' implies one use case but does not explain when the optional binding should be used, when it should be omitted, or how it relates to apply_lattice_deform.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_lightB
Create a light source.
Args: name: Light name. light_type: POINT, SUN, SPOT, or AREA. location: [x, y, z] position. energy: Light power in watts. color: [R, G, B] light color. radius: Soft shadow radius.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Light | |
| color | No | ||
| energy | No | ||
| radius | No | ||
| location | No | ||
| light_type | No | POINT |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It only states 'Create a light source' and lists parameters, without disclosing side effects (e.g., whether it replaces existing lights, requires an active scene, or returns anything). The description does not reveal behavioral traits beyond the basic action, leaving the agent to infer outcomes.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, starting with a one-sentence purpose followed by a parameter list. It is front-loaded with the action and structured clearly. While it could be more polished (e.g., using markdown), it is efficient and without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple, but the description lacks context about the operation: it does not mention that it adds a new light to the current scene, what happens to existing lights, or whether it returns an identifier. Given the large set of sibling tools, some context about its placement among light-related operations would be helpful. It is minimally adequate but leaves room for improvement.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Since schema description coverage is 0%, the description compensates by providing brief explanations for each parameter: 'name: Light name', 'light_type: POINT, SUN, SPOT, or AREA', 'location: [x, y, z] position', 'energy: Light power in watts', 'color: [R, G, B] light color', 'radius: Soft shadow radius'. This adds meaning beyond the schema's types and defaults, clarifying units and purpose.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Create a light source,' specifying the verb and resource. It distinguishes from siblings like configure_light by the word 'create,' but it does not explicitly mention that it adds a new light to the scene, which is implied. The listed arguments clarify the scope, but differentiation from other light-related tools is not explicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives such as configure_light or setup_hdri_lighting. The usage context is only implied by the name and the action word 'create.' There is no explicit statement about when to prefer this tool or what prerequisites exist.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_materialA
Create a new Principled BSDF material.
Args: name: Material name. color: [R, G, B, A] base color (0-1). metallic: Metallic value (0-1). roughness: Roughness value (0-1).
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Material | |
| color | No | ||
| metallic | No | ||
| roughness | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It only states that it creates a material, without mentioning side effects like whether it overwrites an existing material with the same name, whether it requires a selected object, or what the material's initial state is (e.g., unassigned). The parameter descriptions give ranges but do not explain consequences or limitations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and front-loaded with the core purpose, followed by a clean parameter list. Every line adds useful information with no redundancy or fluff, making it efficient for an agent to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the basics: what it does and how to set parameters. However, it omits context such as whether the material is automatically assigned to an object, what happens if the name collides, and any return value. Given the tool's simplicity and absence of an output schema, this is acceptable but not fully complete for an agent that needs to decide whether to call it and interpret results.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description compensates well by explaining each parameter's meaning and format: name as a string, color as an RGBA array in 0-1 range, and metallic/roughness as floats with ranges. This adds value beyond the schema, which only provides types and defaults, making the tool usable without additional lookup.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool creates a new Principled BSDF material and lists its key parameters (name, color, metallic, roughness). It distinguishes itself from siblings like create_procedural_material by specifying the shader type, making the purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus alternatives such as create_procedural_material, assign_material, or configure_display_material. The description only states what it does without any context on selection criteria or prerequisites, leaving the agent to infer usage from the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_objectB
Create a new object of any type with optional transform.
Args: object_type: MESH, CURVE, SURFACE, META, TEXT, ARMATURE, LATTICE, EMPTY, CAMERA, LIGHT, etc. name: Name for the new object. location: [x, y, z] world position. rotation: [x, y, z] Euler rotation in radians. scale: [x, y, z] scale factors.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Object | |
| scale | No | ||
| location | No | ||
| rotation | No | ||
| object_type | No | MESH |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry behavioral disclosure. It only states 'Create a new object' without describing side effects like selection state, scene mutation, or error conditions. It does not mention that the object is added to the current scene or that transform defaults apply.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence followed by a clear bullet list. It is front-loaded with the primary purpose and contains no redundant text.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the core action and all parameters with useful semantics. However, it omits details such as the return value or post-creation state (e.g., selection), and does not mention that the tool operates on the active scene. Given no annotations or output schema, this is a minor gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds meaning beyond the schema by explaining location as 'world position', rotation as 'Euler rotation in radians', and scale as 'scale factors'. It also lists valid object types, though using 'etc.' and not exhausting the full list. It does not describe defaults or constraints beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Create a new object of any type with optional transform,' specifying the verb and resource. It is distinguishable from specialized creation tools like create_curve or create_camera, though it doesn't explicitly mention them as alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus specialized creation tools. It does not mention alternatives or conditions for selection, leaving the agent to infer.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_particle_fieldB
Generate a field of scattered particles/objects.
Args: name: Object name. count: Number of particles. size: Field size. particle_size: Individual particle size. seed: Random seed.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | ParticleField | |
| seed | No | ||
| size | No | ||
| count | No | ||
| particle_size | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It only states the generation of a scattered field, but does not clarify whether a new object is created, whether it affects the current scene/selection, or whether the operation is deterministic given a seed. No side effects, object creation, or scene-level impact are mentioned.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single clear sentence followed by a compact argument list. It contains no fluff and every line adds information. The structure efficiently presents the purpose and parameters, though the argument list is a bit redundant with the schema in terms of names and defaults, but it adds semantics.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple creation tool with no output schema and no annotations, the description is incomplete. It does not explain what 'field' implies in a 3D context (e.g., new object creation, particle system, or geometry), nor does it specify any behavioral effects. An agent needs more context on the tool's place in the scene and how to integrate it with existing objects.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description is the only source of parameter meaning. It provides concise definitions for all five parameters (name, count, size, particle_size, seed), which goes beyond the bare schema types and defaults. While brief, it compensates for the absence of schema descriptions and clarifies each parameter's role.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Generate a field of scattered particles/objects.', which is a specific verb and resource. It distinguishes itself from generic `create_object` by specifying the particle-field nature, though it does not explicitly contrast with `add_particle_system` or `create_procedural_distribution`. The purpose is immediately understandable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. It does not mention its suitability for particle scattering, nor does it exclude cases better handled by `add_particle_system` (for particle systems on existing objects) or `create_procedural_distribution`. The agent is left to infer the context from the tool name and description alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_procedural_distributionA
Set up points-on-faces distribution via geometry nodes.
Args: object_name: Target object to distribute on. instance_object: Object to instance on each point. Empty = just points. count: Number of instances. distribution: RANDOM, POISSON_DISK, or GRID. seed: Random seed.
| Name | Required | Description | Default |
|---|---|---|---|
| seed | No | ||
| count | No | ||
| object_name | Yes | ||
| distribution | No | RANDOM | |
| instance_object | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must disclose side effects and behavior. It only states it sets up distribution via geometry nodes, without mentioning that it likely adds a modifier, whether it is destructive, if it requires a mesh selection, or what happens to existing distribution setups. No information about errors or return values is given.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is efficient: a one-line summary followed by a structured args list. It is front-loaded with the core purpose. Minor redundancy: the args list repeats names already in the schema, but the explanations are valuable. The format is clean and scannable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool that creates a distribution, the description covers the parameters well but omits key operational context: whether it modifies the object's existing geometry nodes, if it requires a selected object, and what the result looks like (e.g., it adds a modifier). No output schema is provided, so the description should mention return behavior or side effects, but it does not. It is sufficient for basic usage but incomplete for robust agent decision-making.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description lists all five parameters with concise, meaningful explanations, including the special case for instance_object ('Empty = just points') and valid distribution options. This adds significant semantic value beyond the schema's types and defaults, which is especially important given the schema provides no descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Set up'), resource ('points-on-faces distribution'), and method ('via geometry nodes'). It clearly distinguishes this from sibling tools like add_geometry_node or create_geometry_nodes_modifier by focusing on the distribution outcome. The arg list further clarifies scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no guidance on when to use this tool versus alternatives such as manual geometry node editing or other distribution methods. It does not mention prerequisites, exclusions, or scenarios where a different tool would be preferable. The context is implied by the name but not explicitly stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_procedural_materialA
Create a complete procedural material with node graph in one call.
Creates coordinate mapping, texture node, color ramp, and Principled BSDF.
Args: name: Material name. pattern: NOISE, VORONOI, MUSGRAVE, WAVY, MAGIC, checker, marble, wood, cloud, gradient, veins, plasma. color1: First color [R, G, B]. color2: Second color [R, G, B]. scale: Texture scale. detail: Texture detail level. roughness: Surface roughness.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Procedural | |
| scale | No | ||
| color1 | No | ||
| color2 | No | ||
| detail | No | ||
| pattern | No | NOISE | |
| roughness | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It does disclose what the tool constructs (coordinate mapping, texture node, color ramp, Principled BSDF) and enumerates the pattern options, which is useful. However, it omits whether the material is assigned to the selected object, whether it overwrites an existing material of the same name, and whether a selection is required — significant gaps for a creation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The core purpose is front-loaded in the first sentence, followed by a brief node-composition summary and a compact args list. The structure is logical and the length is appropriate for a 7-parameter tool with zero schema descriptions. The args block is slightly redundant with the schema but earns its place by adding semantics.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 7 parameters, no annotations, and no output schema, the description covers parameters well but leaves gaps around the return value (nothing is stated about what the tool returns), assignment behavior (does it assign the material or only create it?), and preconditions (selected object requirement). These are material for correct invocation of a complex creation tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate, and it does: all 7 parameters are documented. The pattern field lists the full enum set (NOISE, VORONOI, MUSGRAVE, WAVY, MAGIC, checker, marble, wood, cloud, gradient, veins, plasma) and color fields specify the [R, G, B] format. The scale/detail/roughness entries are terse but adequate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb-resource pair ('Create a complete procedural material with node graph in one call') and distinguishes itself from node-level siblings like add_shader_node and connect_shader_nodes by emphasizing the one-call complete-graph approach. It also differs from create_material by specifying what the graph contains (coordinate mapping, texture node, color ramp, Principled BSDF). This gives an agent enough to tell it apart from its many material-related siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage (choose this for a procedural material vs apply_image_texture for image textures) but never states when to use it versus alternatives or when not to. No explicit mention of the sibling tools that cover individual nodes or preset materials. Usage must be inferred rather than directed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_rockA
Generate a procedural rock.
Args: name: Object name. size: Rock size. detail: Surface detail level (0-1). roughness: Surface roughness. seed: Random seed.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Rock | |
| seed | No | ||
| size | No | ||
| detail | No | ||
| roughness | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are absent, so the description carries full responsibility. It only says 'Generate a procedural rock' without disclosing whether a new object is added to the scene, whether it is non-destructive, whether it requires a selected object, what happens with duplicate names, or what the return/outcome is. The word 'procedural' hints at algorithmic generation but not enough for full behavioral transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is succinct: a one-line purpose sentence followed by a clean list of arguments. Every line carries information; there is no filler. The main action is front-loaded, and the Args section is easy to scan.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity and all-optional parameters, this is close to adequate. However, with no annotations and no output schema, the description should clarify the observable outcome (e.g., a rock object appears in the scene) and any side effects or constraints such as scene/mode requirements. It also doesn't state what the operation returns, which would be useful. It is minimally complete for basic invocation but lacks contextual detail.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. The Args section explains all five parameters: 'name: Object name', 'size: Rock size', 'detail: Surface detail level (0-1)', 'roughness: Surface roughness', 'seed: Random seed'. This adds meaning beyond the bare schema titles and includes a range for 'detail' that the schema lacks. A few descriptions are minimal (e.g., 'Rock size' is close to the parameter name), but overall it covers every parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states 'Generate a procedural rock' – a specific verb ('Generate') and resource ('procedural rock'). This distinguishes it from sibling tools like create_object, create_terrain, or create_tree, which cover other asset types. The term 'procedural' also clarifies the generation style.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. There is no mention of scenario, prerequisites, or comparisons to similar tools like create_object or create_terrain. The description only states what it does, not when it is the right choice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_sceneB
Create a new scene.
Args: name: Name for the new scene. copy_current: If True, copy the current scene's settings.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Scene | |
| copy_current | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full behavioral burden. It states it creates a scene and describes the copy_current parameter, but it does not disclose whether the new scene becomes active, whether unsaved changes to the current scene are affected, or what happens if the name matches an existing scene. This lack of side-effect disclosure is a significant gap for a mutating tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise, with the purpose stated in the first sentence and parameter details in a clean list. There is zero filler, and the structure front-loads the key action. It earns its place with no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter tool, the description covers the basics, but it omits critical contextual details such as whether the new scene becomes the active scene, any impact on the current scene, and how it differs from the sibling 'new_scene'. With no output schema and no annotations, the agent has insufficient information to confidently use this tool correctly in a real workflow.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description explains both parameters: 'name' is the scene's name, and 'copy_current' copies the current scene's settings. Since the schema has no descriptions (0% coverage), this is essential and adds real meaning beyond the bare property definitions. The explanation is functional, though it could be more detailed about the scope of 'settings'.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it creates a new scene, which is a specific verb and resource. It distinguishes from obviously different tools like switch_scene and delete_scene. However, it does not differentiate from the sibling tool 'new_scene', which likely serves a similar purpose, so the clarity is good but not excellent.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus alternatives. In particular, the sibling 'new_scene' could be an overlapping or alternative method to create scenes, yet the description offers no hints on selection criteria. There is no mention of prerequisites, context, or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_studio_floorA
Create a ground plane for studio scenes.
Works as a floor for products, characters, or any standing object. Dark matte by default, configurable color and roughness.
Args: color: RGB floor color (0-1). Default: near-black. roughness: Surface roughness. 0.3 = subtle reflection. size: Floor size in meters. height: Floor Z position. name: Name for the floor object.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | StudioFloor | |
| size | No | ||
| color | No | ||
| height | No | ||
| roughness | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral burden. It goes beyond 'create' by disclosing the default appearance (dark matte), configurable color/roughness, and the meaning of height as floor Z position. It does not mention minor scene-level effects such as selection or active-object changes, but the creation behavior is simple and non-destructive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The two-sentence intro front-loads purpose, and the Args section is compact, maps cleanly to the schema, and avoids restating schema metadata. There is no filler or redundant explanation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a low-complexity creation tool with all parameters semantically documented and no output schema required, the description is nearly complete. It lacks details about selection/return behavior after creation, but an agent can call it correctly based on the provided information.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description compensates fully: it documents all five parameters with semantics not in the schema, including RGB range (0-1), roughness meaning (0.3 = subtle reflection), units (meters), and the role of height/name. This is strong compensation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The first sentence states a specific verb and resource: 'Create a ground plane for studio scenes.' The next sentence, 'Works as a floor for products, characters, or any standing object,' defines the use case and distinguishes it from generic create_object/create_terrain tools among the siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly specifies when it applies: studio scenes and any standing object needing a floor. It does not explicitly state when not to use it or name alternatives like create_object/create_terrain, so it falls just short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_terrainB
Generate a procedural terrain mesh.
Args: name: Object name. size: Grid size. subdivisions: Number of subdivisions. height: Maximum height. seed: Random seed. noise_scale: Noise scale factor.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Terrain | |
| seed | No | ||
| size | No | ||
| height | No | ||
| noise_scale | No | ||
| subdivisions | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It only states the action ('generate') but does not mention side effects such as adding an object to the scene, changing selection, or any transformations. It does not reveal whether it replaces existing terrain, what coordinate system is used, or what the output of the tool is. For a creation tool, this is a significant gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise: a single sentence stating the action followed by a neatly formatted parameter list. The core purpose is front-loaded, and every parameter gets a short explanation without wasted words. It is appropriately sized and logically structured, though the parameter explanations are terse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that this creates a procedural terrain mesh in a 3D application, the description omits critical context such as whether it creates a new object, how it integrates with the scene, whether it requires an active context, or what the return value is (since there is no output schema). It also does not mention any limitations or side effects. The tool is simple, but the lack of context about its side effects and return could cause an agent to misuse it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description is the only source of parameter meaning. It provides one-line glosses for all six parameters (name, size, subdivisions, height, seed, noise_scale), which is helpful but minimal. It does not define units, ranges, or how these parameters affect the resulting mesh (e.g., how subdivisions influences detail). This meets the minimum bar but does not deeply compensate for the missing schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific verb and resource: 'Generate a procedural terrain mesh.' This distinguishes it from other creation tools like create_tree or create_rock, and the resource (terrain mesh) is unambiguous. No extra fluff, and it directly tells the agent what the tool does.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like create_object or create_rock. It does not mention prerequisites (e.g., context, scene state) or when not to use it. The only implicit context is that it creates a mesh, but there is no explicit routing to or away from siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_text_objectC
Create a text object with formatting.
Args: name: Object name. text: The text content. location: [x, y, z] position. size: Font size. extrude: Text depth. font_path: Path to a .ttf/.otf font file.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Text | |
| size | No | ||
| text | No | Hello | |
| extrude | No | ||
| location | No | ||
| font_path | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full burden of behavioral disclosure. It only says 'Create a text object with formatting' and does not mention scene mutation, coordinate space, units, name collisions, optional font handling, or any other behavioral implications. This is no more transparent than a bare capability statement.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and the purpose statement is front-loaded. However, the 'Args:' list largely duplicates the input schema's property names and defaults, so every line carries marginal incremental value. It is concise but not information-dense.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A tool that creates an object in a 3D scene should clarify coordinate space, units, default behavior, scene insertion, and font path requirements. None of this is covered, and there is no output schema to provide return-value context. The parameter list gives a skeleton but not enough context for an agent to invoke the tool correctly in a complex scene environment.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It lists all six parameters with one-line glosses, but most restate what the parameter names already imply (e.g., 'size: Font size', 'name: Object name'). Only 'font_path: Path to a .ttf/.otf font file' and 'location: [x, y, z] position' add meaningful detail; defaults, units, and optionality are not addressed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific action and resource: 'Create a text object with formatting.' The 'text object' qualifier clearly separates it from the generic 'create_object' sibling, and the parameter list reinforces that this is specific to text. It does not explicitly contrast itself with any sibling, but the resource and purpose are unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives such as 'create_object' or other object-creation tools. No conditions, prerequisites, or exclusions are stated, leaving the intended usage context entirely implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_treeA
Generate a procedural tree with trunk, branches, and leaves.
Args: name: Object name. trunk_height: Height of the trunk. trunk_radius: Radius of the trunk. branch_levels: Number of branching levels. leaves_per_branch: Leaves per branch. seed: Random seed.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Tree | |
| seed | No | ||
| trunk_height | No | ||
| trunk_radius | No | ||
| branch_levels | No | ||
| leaves_per_branch | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It states that a tree is generated, but it does not disclose whether the tool creates a new scene object, returns geometry data, produces a single mesh or separate parts, or has any side effects. A creation tool with zero annotations needs more behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded: one clear action sentence followed by a tidy parameter list. There is no redundant prose, and every line earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
All parameters are defined with defaults, making the tool callable as-is. However, with no annotations and no output schema, the description omits what the tool returns or how the result appears in the scene, and the usage-and-alternative gap further reduces completeness. It is adequate for a basic call but not fully self-sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the Args list meaningfully compensates by explaining all six parameters, including name, trunk dimensions, branch levels, leaves per branch, and seed. The explanations are still minimal and lack units or ranges, but they add real meaning beyond the schema's bare titles and defaults.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The opening sentence states a specific verb and resource: 'Generate a procedural tree with trunk, branches, and leaves.' This makes the tool's purpose clear and distinguishes it from generic creation tools like create_object and other procedural generators like create_terrain or create_rock.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no guidance about when to use this tool instead of alternatives such as create_object, create_terrain, or create_rock. It implies the use case by naming the resource, but it provides no context, exclusions, or selection criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_turntable_animationA
Create a 360-degree turntable rotation animation on an object.
Works for products, characters, environments, anything. Sets keyframes at frame 1 and frame N with full rotation. Applies bezier easing (AUTO_CLAMPED handles) for smooth ease in/out. Optionally adds cyclic modifier for seamless looping.
Args: object_name: Object to animate. frames: Total frames for one full rotation. axis: Rotation axis (X, Y, or Z). cyclic: Whether to make the animation loop.
| Name | Required | Description | Default |
|---|---|---|---|
| axis | No | Z | |
| cyclic | No | ||
| frames | No | ||
| object_name | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It does well by explaining the keyframe placement ('Sets keyframes at frame 1 and frame N with full rotation'), the easing type ('AUTO_CLAMPED handles'), and the optional cyclic modifier. This gives the agent a clear picture of what will happen to the scene. It doesn't mention whether existing keyframes are overwritten or what happens if the object already has animation, which prevents a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured and efficient. The first sentence states the core purpose, followed by a short applicability note, then three bullet-like sentences explaining the technical behavior, and finally a compact Args list. Every sentence earns its place—no fluff, no repetition of schema types. The front-loading of the main purpose is ideal for quick agent scanning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 4 parameters, no annotations, and no output schema, the description is quite complete. It explains what the tool does, how it works (keyframes, easing, cyclic), and what each parameter means. The only gaps are edge-case behaviors like interaction with existing animation data, frame range boundaries, and whether the object must be selected. These are minor for a typical animation task, so a 4 is appropriate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate for the schema's lack of parameter documentation. It does this by listing each parameter with a brief explanation: object_name, frames, axis, and cyclic. This adds meaning beyond the bare schema types. However, the explanations are minimal—e.g., 'axis' doesn't clarify that it's the rotation axis in world/local space, and 'frames' doesn't specify whether it's start-to-end or total duration. Still, it covers all four parameters, which is strong given the 0% coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Create a 360-degree turntable rotation animation on an object.' It specifies the verb (create), the resource (object animation), and the exact behavior (360-degree rotation with keyframes). It also distinguishes itself from related tools like setup_turntable_camera (which animates a camera) and wizard_turntable (a wizard), making it clear this tool animates the object itself.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context for when to use this tool: 'Works for products, characters, environments, anything.' It explains the keyframe and easing behavior, which helps an agent understand what will happen. However, it doesn't explicitly state when NOT to use it or name alternatives like setup_turntable_camera for camera-based turntables, so it misses the explicit exclusion that would earn a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_vertex_groupC
Create a new vertex group on a mesh object.
Args: object_name: Target object. group_name: Name for the vertex group.
| Name | Required | Description | Default |
|---|---|---|---|
| group_name | Yes | ||
| object_name | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full responsibility for behavioral disclosure. It only says 'create a new vertex group' with no mention of side effects (e.g., overwriting an existing group), required object state, error conditions, or whether the operation affects the active object or a named one.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very brief and front-loaded, with no filler or redundant phrasing. Every word serves a purpose, but the under-specification limits the value of the conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with two simple string parameters and no output schema, the description covers the basics but omits important context an agent needs for correct invocation: whether the object must exist and be a mesh, what happens if the group already exists, and whether any mode or selection is required. The sibling assign_vertex_group suggests a workflow, but this tool's description does not place it in that workflow.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With schema description coverage at 0%, the description must compensate. It provides only terse labels—'Target object' and 'Name for the vertex group'—which add little beyond the schema titles 'Object Name' and 'Group Name'. No format, constraints, or relationships are explained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Create') and resource ('a new vertex group on a mesh object'), clearly identifying the action and target. It implicitly distinguishes from the sibling assign_vertex_group by focusing on creation, but it does not explicitly name or contrast any sibling.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no guidance on when to use this tool versus alternatives, such as assign_vertex_group, nor does it mention any prerequisites or exclusions. The only usage signal is the action itself, which is implied rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_walk_cycleB
Create a simple walk/bounce cycle animation.
Args: object_name: Target object. frames_per_cycle: Frames for one full cycle. amplitude: Bounce height.
| Name | Required | Description | Default |
|---|---|---|---|
| amplitude | No | ||
| object_name | Yes | ||
| frames_per_cycle | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It only says it creates an animation; it does not state whether existing animation is overwritten, whether keyframes are added to an action, whether the object must have an armature, or what the side effects are on the scene.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single purpose sentence followed by a compact Args block. There is no filler, and the most informative content is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no annotations and no output schema, the description is incomplete. It omits behavioral side effects, prerequisites, whether the cycle is looped or stationary, and how it relates to the scene's frame range or FPS, leaving an agent to guess important execution context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 0% description coverage, so the description must compensate. It does so by explaining each parameter: 'Target object', 'Frames for one full cycle', and 'Bounce height'. These add real meaning beyond the schema, though units or edge-case behavior are not covered.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'Create a simple walk/bounce cycle animation.' It names the target object and the type of animation, which is enough to distinguish it from turntable or keyframe-only animation tools, though it does not explicitly contrast siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives like set_keyframe, set_interpolation, set_animation_cyclic, or create_turntable_animation. The word 'simple' hints at a low-effort procedural animation, but no exclusions, prerequisites, or alternative routing are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_collectionA
Delete a collection.
Args: name: Collection name. keep_objects: If True, move objects to the scene collection first.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| keep_objects | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are absent, so the description carries the full burden of behavioral disclosure. It explains that keep_objects=True moves objects to the scene collection first, but it does not explicitly state what happens when keep_objects is False (e.g., objects are deleted along with the collection). It also does not mention whether the operation is reversible, if confirmation is needed, or any other side effects. Some value is added, but significant gaps remain.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and front-loaded with the purpose. The Args section is structured clearly, each parameter explained in a single line. There is no fluff or unnecessary detail. However, it could be improved by stating the default behavior of keep_objects directly in the description rather than relying on the schema default.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple (2 parameters, no output schema), so the description is mostly adequate. However, it leaves out critical context about what happens to objects when keep_objects is False, which is essential for an agent to understand the full impact of the operation. It also does not mention whether the collection's children or nested collections are affected. This makes it incomplete for safe usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 0%, so the description must compensate. It provides clear, concise definitions for both parameters: 'name' as the collection name and 'keep_objects' explaining the move-objects behavior. This adds meaningful information beyond the raw schema, though it could be slightly more explicit about edge cases (e.g., default behavior when keep_objects is not set).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action: 'Delete a collection.' This is a specific verb and resource, distinguishing it from siblings like delete_object, delete_scene, delete_material, etc. It also adds context about the keep_objects parameter, which clarifies the tool's core behavior.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance is given on when to use this tool versus alternatives. It does not mention exclusions, prerequisites, or alternative tools (e.g., move_to_collection for preserving objects). The usage is only implied by the name and description, which is insufficient for an agent to decide when this is the right choice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_keyframeA
Delete keyframes at a specific frame or all keyframes.
Args: object_name: Target object. frame: Frame to delete (None = all keyframes).
| Name | Required | Description | Default |
|---|---|---|---|
| frame | No | ||
| object_name | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the burden of disclosing behavior. It clearly states the destructive action ('Delete') and the important edge case that omitting frame deletes all keyframes. However, it does not mention irreversibility, which keys/channels are affected, or behavior when no keyframes exist. The special 'all keyframes' behavior is a positive but the destructive profile is underexplored.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is brief and front-loaded with the core purpose, followed by a compact args list. It contains no fluff, though the args section is slightly redundant with the schema. Overall it is efficient and scannable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 2-parameter mutation tool with no annotations and no output schema, the description covers the essentials: what is deleted and how parameters control it. It lacks explicit mention of side effects, reversibility, or scope (e.g., only the target object's animation data), which would make it fully complete for an agent deciding to call it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, but the description compensates by explaining both arguments: object_name is 'Target object' and frame is 'Frame to delete (None = all keyframes)'. This adds real meaning beyond the bare schema properties, especially the None-sentinel semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Delete'), a clear resource ('keyframes'), and defines the scope ('at a specific frame or all keyframes'). It is directly distinguishable from sibling tools like set_keyframe, which adds keyframes, and go_to_frame, which navigates. The purpose is unmistakable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance is given for when to use this tool versus alternatives. There is no mention of 'use this to remove animation keyframes', no exclusions, and no reference to sibling tools like set_keyframe or clear functions. The intended usage is implied by the name and description, but not stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_materialC
Remove material from an object's slot.
Args: object_name: Target object. slot: Material slot index.
| Name | Required | Description | Default |
|---|---|---|---|
| slot | No | ||
| object_name | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of disclosing behavior. It indicates a mutating/removing action but does not explain whether the material is destroyed, whether the slot is removed, or what happens to other slots. This is a significant gap for a destructive operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise and front-loaded with the core action. The Args section is minimal and directly useful, with no redundant or filler content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no annotations and no output schema, the description is too thin. It does not state post-conditions, error cases, or whether the material is permanently deleted, leaving an agent to guess at the full impact of the operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It provides basic one-line meanings for both parameters ('Target object' and 'Material slot index'), which adds value beyond the raw schema. However, it does not clarify indexing convention (0-based vs 1-based), the default slot behavior, or that slot is optional.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action ('Remove material') on a specific resource ('an object's slot'), which clearly distinguishes it from assign_material and set_material_property. However, it leaves slight ambiguity about whether the material data-block itself is deleted or just unassigned from the slot.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given about when to use this tool versus related siblings like reassign_material_slot or assign_material. The description simply states the operation without contextual cues or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_objectB
Delete an object by name.
Args: name: Name of the object to delete.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries the full burden of disclosing behavioral traits. It only says 'delete,' which is already implicit in the tool name. It does not mention whether the deletion is permanent, if child objects are affected, or any side effects on the scene.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely brief and to the point, with an Args section that cleanly separates the purpose from the parameter. It wastes no words and is appropriately sized for a simple tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive operation with no annotations, output schema, or additional context, the description is inadequate. It does not address what happens if the object does not exist, whether deletion affects hierarchy, or if the operation is reversible, leaving critical gaps for an agent to safely invoke it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single parameter 'name' is described as 'Name of the object to delete,' which adds a slight clarification that it refers to the object's name rather than something else. However, with 0% schema description coverage, the description only minimally compensates and does not explain format, uniqueness, or error behavior.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (delete) and the resource (an object), making it distinct from sibling delete tools like delete_material, delete_scene, and delete_collection. The purpose is unambiguous and immediately understandable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No information is provided about when to use this tool versus other deletion tools, nor about any prerequisites such as object existence or selection state. The description only states the basic action without contextual guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_physicsC
Remove all physics from an object.
Args: object_name: Target object.
| Name | Required | Description | Default |
|---|---|---|---|
| object_name | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It merely states the action without explaining what 'all physics' entails (e.g., rigid body, cloth, fluid), whether it reverts the object to a pre-physics state, or if it removes baked simulations. As a destructive operation, this lack of transparency is a significant gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise—a single sentence plus an argument list—with no wasted words. The key action is front-loaded, and the parameter is listed clearly. This is appropriately sized for the tool's simplicity, though it could be expanded without losing conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's purpose and the lack of annotations or output schema, the description is incomplete. It does not specify which physics components are removed, whether the action is reversible, or how it relates to sibling physics tools (e.g., whether it also clears baked keyframes). An agent needs more context to call this correctly and safely.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The only parameter, object_name, is described as 'Target object,' which adds minimal meaning over the schema's 'Object Name' by clarifying its role. However, with 0% schema description coverage, the description should compensate more thoroughly—for example, by noting that the object must exist or that the name is case-sensitive. The current explanation is barely sufficient.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Remove all physics from an object' clearly states the verb (remove) and resource (physics from an object), and identifies the target parameter. It differentiates from siblings like add_rigid_body and add_cloth_physics, though it doesn't explicitly note which types of physics are affected. Overall, the purpose is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus alternatives (e.g., when to remove physics rather than add or configure them). There is no mention of prerequisites, such as the object having existing physics, or of conditions where this tool should be avoided. The agent is left to infer use cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_sceneC
Delete a scene from the current .blend file.
Args: scene_name: Name of the scene to delete.
| Name | Required | Description | Default |
|---|---|---|---|
| scene_name | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of disclosing consequences. It states that a scene is deleted but does not mention that this is permanent, that objects within the scene are affected, or that there may be restrictions. The destructive nature is implied but not elaborated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short, with the main action stated in one sentence and the parameter listed in an Args block. There is no fluff, but the Args block duplicates the schema information, making it slightly redundant. Overall it is efficiently structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive tool with one parameter and no output schema, the description is too sparse. It lacks essential context about irreversibility, dependencies on the scene graph, whether the current scene can be deleted, and what happens to objects in the deleted scene. An agent would not know the edge cases or side effects.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has no descriptions for the single parameter (coverage 0%), so the description must compensate. The Args section says 'scene_name: Name of the scene to delete,' which restates the parameter's purpose but adds little beyond the schema's title 'Scene Name.' It does not clarify exact formatting, existence requirements, or error behavior.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb ('Delete'), a resource ('a scene'), and a context ('current .blend file'), which clearly distinguishes it from other delete tools like delete_object or delete_material. There is no ambiguity about what action is performed.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no guidance on when to use this tool versus alternatives, such as switch_scene or new_scene, nor does it mention limitations (e.g., cannot delete the last scene). It only states the action without context or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
duplicate_objectC
Duplicate an object with all its data.
Args: name: Name of the object to duplicate. new_name: Optional name for the duplicate.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| new_name | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It says 'Duplicate an object with all its data' but does not disclose whether the operation is destructive to the original, whether it requires selection, or what happens to the duplicate's name if new_name is empty. It also doesn't state if the new object is active or selected. This lack of behavioral detail is insufficient for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short, using a one-line summary and a docstring-like argument list. It is front-loaded with the core purpose, and there is no fluff. However, the Args section is redundant with the schema, and the description could have used that space for behavioral guidance, so it is concise but not optimally structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity (only 2 params) and lack of output schema, the description is incomplete. An agent calling this tool would need to know: what exactly is duplicated (all data? modifiers? materials?), whether the original is affected, and behavior when new_name is not provided. The description only says 'with all its data', which is vague. This does not suffice for reliable invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has two parameters, both self-explanatory from their names, and schema coverage is 0% meaning the schema has no descriptions. The description repeats the parameter names and adds a single hint: 'new_name' is optional and defaults to empty, implying the duplicate gets a default name. However, it does not specify the format of the default name or any constraints, so it adds minimal value beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the operation: 'Duplicate an object with all its data.' It identifies the specific verb (duplicate) and resource (object), and it implies the duplicate copies all data, which distinguishes it from other object operations like delete or rename. However, it does not explicitly differentiate from siblings like delete_object or rename_object, but the verb is distinct enough.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no guidance on when to use this tool versus alternatives. It does not mention any side effects, limitations, or why one might choose this over similar operations. The docstring only lists arguments, leaving the agent to infer usage context from the name and siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
edit_curve_pointsA
Add or remove curve control points.
Args: curve_name: Curve object name. action: add, remove, or move. points: [x, y, z] for add/move actions. index: Point index for remove/move (-1 = last).
| Name | Required | Description | Default |
|---|---|---|---|
| index | No | ||
| action | No | add | |
| points | No | ||
| curve_name | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It states the operation types but does not disclose consequences such as whether the modification is in-place, what happens on invalid indices, whether the curve must already exist, or any error behavior. For a mutation tool, this is a significant gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and efficiently front-loaded with the purpose. The parameter list is a clear, structured bulleted list with no wasted text. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple curve-point editor, the description covers the core operations and parameter meanings. However, it lacks context about the coordinate system (e.g., object vs. world space), the 'move' action's exact behavior (does it set absolute position or offset?), and error handling on invalid indices or missing curves. These gaps could lead to misinvocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It does so by explaining each parameter: action lists allowed values, points is defined as [x, y, z] for add/move, and index has the special value -1 for last point. This adds meaning beyond the raw schema types, though it leaves some combinations (e.g., remove not needing points) implied rather than explicit.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a clear verb-resource pair: 'Add or remove curve control points,' and the parameter list details the add/remove/move actions. This unambiguously distinguishes it from mesh editing siblings (edit_mesh_vertices, edit_mesh_edges) by specifying 'curve.'
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The tool explicitly targets curve control points, and the action parameter ('add, remove, or move') implies the primary use cases. It does not name alternative tools or when-not-to-use scenarios, but the resource ('curve') is distinct enough that an agent would know when to apply it versus mesh or object editing tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
edit_mesh_edgesC
Edit mesh edges.
Args: object_name: Target mesh object. action: select, deselect, mark_seam, clear_seam, mark_sharp, crease. edges: List of edge indices (None = selected).
| Name | Required | Description | Default |
|---|---|---|---|
| edges | No | ||
| action | No | select | |
| object_name | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of disclosing behavior. It mentions actions like select and mark_seam, but does not explain side effects, edit-mode requirements, whether state is mutated persistently, or what happens when edges is None.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and scannable, with a clear Args block and no filler. The opening line 'Edit mesh edges' is somewhat redundant with the tool name, but the overall structure is efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no annotations and no output schema, the description leaves out important context: edit-mode prerequisites, how edge indices are interpreted, effects on existing selections, and return behavior. An agent can copy the argument structure but cannot confidently reason about invocation context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema coverage, the description compensates by explaining each parameter and giving the valid action list plus the meaning of None for edges. However, it does not explain what each action actually does to the mesh, and the crease action lacks any mention of a weight or value parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the resource (mesh edges) and enumerates the supported operations, so the tool's purpose is clear. It does not explicitly contrast itself with sibling tools like edit_mesh_vertices or edit_mesh_faces, but the edge-specific scope is evident from the name and arguments.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance about when to use this tool versus alternatives such as bevel_edges, edit_mesh_faces, or UV seam tools. No prerequisites, context, or exclusions are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
edit_mesh_facesB
Edit mesh faces.
Args: object_name: Target mesh object. action: select, deselect, delete, fill, grid_fill, triangulate, poke. faces: List of face indices (None = selected).
| Name | Required | Description | Default |
|---|---|---|---|
| faces | No | ||
| action | No | select | |
| object_name | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the burden of behavioral disclosure. It does reveal that actions include destructive ones like delete and that faces defaults to selected, but it does not state prerequisites, effects on edit mode, reversibility, or what happens to unlisted faces. For a mutating mesh tool this is a meaningful gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded, with each line adding necessary information. The Args block is scannable and efficiently conveys parameter semantics. Minor formatting polish could improve it, but it earns its space.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the key parameters and actions, and for a tool with no output schema that may be sufficient to invoke it. However, it lacks context about edit-mode requirements, the behavior of operations like fill/grid_fill, and the side effects of destructive actions, leaving some ambiguity for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, but the description compensates by explaining all three parameters: object_name as target mesh, action with its valid values, and faces as a list of indices with None meaning selected. This goes well beyond the bare schema, though object_name's explanation remains minimal.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Edit mesh faces' gives a clear verb and resource, and the action list (select, deselect, delete, fill, grid_fill, triangulate, poke) sharpens the scope considerably. It does not explicitly differentiate from sibling tools like extrude_faces or subdivide_mesh, but the listed actions make the intended domain clear enough.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use or when-not-to-use guidance is provided, and no alternatives are named. The description implies usage by enumerating face actions, but an agent is not helped to choose this tool over edit_mesh_vertices, edit_mesh_edges, extrude_faces, or subdivide_mesh.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
edit_mesh_verticesB
Edit mesh vertices at the element level.
Args: object_name: Target mesh object. action: move, delete, smooth, or collapse. vertices: List of vertex indices to operate on (None = selected). offset: [x, y, z] offset for move action.
| Name | Required | Description | Default |
|---|---|---|---|
| action | No | move | |
| offset | No | ||
| vertices | No | ||
| object_name | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It does disclose the available operations (move, delete, smooth, collapse), which communicates that some actions are destructive, but it does not explain consequences such as irreversible deletion, whether offset is ignored for non-move actions, or coordinate space. Partial transparency only.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded with the main purpose, followed by a tight parameter list. No filler or repetition of schema defaults. The docstring format is efficient, though it could be one sentence shorter without losing information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no annotations and no output schema, the description provides enough to call it for basic vertex edits and explains the selection fallback. Missing context includes dependency on active selection, behavior of offset for non-move actions, and safety/undo implications of delete and collapse.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate, and it does: each parameter gets a meaningful description, including the crucial detail that vertices defaults to the current selection when None and the structure of the offset. It could add constraints (e.g., offset only applies to move), but the core semantics are covered.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The first sentence names a specific verb and resource ('Edit mesh vertices') and the args enumerate the supported actions, so an agent can tell this is the vertex-level counterpart to edit_mesh_edges and edit_mesh_faces. It does not explicitly call out those siblings, but the target is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus related vertex operations such as merge_vertices, smooth_vertices, or edit_mesh_edges/faces. The parameter list implies the general use case, but no when-to-use, prerequisite, or exclusion information is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
enter_sculpt_modeB
Enter sculpt mode on an object.
Args: object_name: Object to sculpt. Empty = active object.
| Name | Required | Description | Default |
|---|---|---|---|
| object_name | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden for behavioral disclosure. It only states that it 'enters' sculpt mode, but doesn't disclose any side effects, such as whether it requires a mesh object, changes the active object, or exits other modes. Minimal information of this kind is a significant gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise: two sentences plus a compact argument list. It's front-loaded with the verb, contains no filler, and every word earns its place. This is an ideal level of brevity for a simple tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple mode-switch tool, the description covers the essential facts: what it does and how to specify the object. However, it omits any prerequisites (e.g., object must be a mesh) or potential effects on the current mode, which would make it more complete. It's minimally adequate but has clear gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 0% description coverage, so the description must compensate. It does: 'Object to sculpt. Empty = active object.' clearly explains the parameter's meaning and the default behavior, which is sufficient for the single parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Enter sculpt mode') and the resource (an object), distinguishing it from sibling tools like enter_weight_paint and enter_vertex_paint. However, it doesn't explicitly name alternatives, so it's clear but not fully proactive in differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives, no prerequisites, and no mention of when not to use it. The description simply states the action without any contextual direction, leaving the agent to infer usage from the tool's name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
enter_vertex_paintB
Enter vertex paint mode.
Args: object_name: Object to paint (empty = active object).
| Name | Required | Description | Default |
|---|---|---|---|
| object_name | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full burden of behavioral disclosure. It only says it enters the mode, with no mention of side effects, state changes, prerequisites, or consequences. For a mode-switching operation, this is insufficient transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise, with the purpose front-loaded and the parameter explanation succinct. Every sentence earns its place, and there is no redundancy or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity and the absence of an output schema or annotations, the description is minimally adequate but lacks any context about prerequisites, side effects, or what happens after entering the mode. For a one-parameter tool this is acceptable, but it could be more complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must compensate. It explains object_name as 'Object to paint (empty = active object)', which adds meaningful semantics beyond the schema's bare string type and default. It clarifies default behavior and intended use, earning a 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action 'Enter vertex paint mode' with a specific verb and resource. It is unambiguous and distinguishes from similar mode-entry tools like enter_weight_paint and enter_sculpt_mode by naming the exact mode. However, it does not explicitly contrast with these siblings, so a 4 rather than 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus alternatives such as enter_weight_paint or enter_sculpt_mode. The description only states what it does, leaving the agent to infer usage context. This is a clear gap given the sibling set.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
enter_weight_paintA
Enter weight paint mode for rigging.
Args: object_name: Object to paint (empty = active object).
| Name | Required | Description | Default |
|---|---|---|---|
| object_name | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full behavioral disclosure burden, but it only restates the core action already evident from the name. It does not mention that this changes the interaction mode, that other modes are exited, whether the specified object must be a mesh, or any other side effects. Minimal value added beyond the tool's title.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short, purposeful lines. No fluff; the parameter explanation is front-loaded and directly useful. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple mode-switching tool with no output schema, the description covers the essential information: what it does and what the parameter means. It does not mention failure conditions or mode-related side effects, but the tool is straightforward enough that the provided context is largely sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must compensate. The Args section explains that object_name is the object to paint and that an empty value means the active object. This adds practical semantics beyond the schema's title and default, though it could go further (e.g., error behavior if object is invalid).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a clear verb ('enter') and a specific resource ('weight paint mode') with a stated purpose ('for rigging'), which immediately distinguishes it from siblings like enter_vertex_paint or enter_sculpt_mode. The function's intent is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'for rigging' implies the correct context (skinning/weight painting), but no alternative tools are named, nor are any exclusions or prerequisites given. The usage context is implied rather than explicitly contrasted with similar mode-switching tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
execute_blender_codeA
Execute arbitrary Python code in Blender with full bpy access.
WARNING: This runs unvalidated code. Use structured tools when possible. Code is executed in a sandboxed environment with restricted builtins.
Args: code: Python code to execute. Has access to 'bpy' and 'bmesh'.
| Name | Required | Description | Default |
|---|---|---|---|
| code | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses the unvalidated nature, sandboxed execution with 'restricted builtins', and full access to bpy/bmesh. It does not enumerate possible destructive effects, but the arbitrary-code warning inherently covers that risk.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded with purpose, then a warning, then parameter detail. There is minor redundancy between 'full bpy access' and 'Has access to bpy and bmesh', but the text is otherwise efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers purpose, risk, execution environment, and parameter semantics adequately for a one-parameter escape-hatch tool. However, with no output schema present, it does not mention how results or errors are returned, which matters for an arbitrary code execution tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema only says 'code' is a required string, so semantic weight falls on the description. It clarifies the value is 'Python code to execute' and specifies that it has access to 'bpy' and 'bmesh', adding meaning beyond the schema. It does not explain result-return behavior, but the parameter itself is well described.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: 'Execute arbitrary Python code in Blender with full bpy access.' It is immediately clear this is the generic code-execution escape hatch, distinct from the many structured sibling tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says 'Use structured tools when possible' and warns the code 'runs unvalidated code', giving clear context for when to prefer alternatives. It does not name specific sibling tools or enumerate conditions, but the guidance is sufficient for an agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
execute_sequenceB
Execute a sequence of Blender commands in one call.
Each command: {"type": "create_object", "params": {...}} Commands are executed in order on the Blender main thread. This is the most powerful batch tool — it chains any operations.
Args: commands: List of command dicts with type and params.
| Name | Required | Description | Default |
|---|---|---|---|
| commands | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
It discloses that commands run in order on the Blender main thread and gives the command dict format, which is useful. However, with no annotations, it omits critical behavior such as whether the sequence stops on error, atomicity, or what happens to partially executed commands.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact, front-loaded with the core purpose, and includes a concrete example and Args section. The phrase 'most powerful' is promotional and adds little, but overall every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a powerful batch tool with no annotations, no output schema, and zero schema descriptions, the description is too thin: it doesn't specify valid command types, error semantics, return values, or limits. An agent cannot fully determine how to construct a correct sequence from this definition alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema only says 'commands' is an array of objects, so the description's 'List of command dicts with type and params' plus example adds real meaning. It still doesn't enumerate valid command types or parameter schemas, leaving the agent to discover those elsewhere.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific action ('execute a sequence of Blender commands in one call') and clarifies it is a batch tool that chains any operations, which separates it from single-operation siblings. It doesn't explicitly contrast with execute_blender_code or run_operator, so it stops short of full sibling differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'batch tool' and 'chains any operations' imply it is for executing multiple commands together, but there is no explicit when-to-use/when-not-to-use guidance or named alternatives. An agent must infer that single operations should go to dedicated tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
exit_sculpt_modeA
Exit sculpt mode and return to object mode.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the mode change but does not mention preconditions (e.g., being in sculpt mode), side effects (e.g., whether sculpt data is preserved), or error behavior if called when not in sculpt mode. This is a significant gap for a state-changing tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no wasted words. It conveys the exact action and result without any redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter mode switch with no output schema, the description covers the core action and outcome. It is mostly complete, though it could mention whether it requires an active object or if undo history is affected. These are minor gaps given the tool's simplicity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With zero parameters, the baseline is 4 as per guidelines. The description does not need to explain parameters, and no additional semantic info is required.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (exit sculpt mode) and the resulting state (return to object mode), using a specific verb and resource. It is easily distinguished from the sibling tool enter_sculpt_mode, which performs the inverse operation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use the tool (when in sculpt mode and wanting to return to object mode) but does not explicitly mention the alternative enter_sculpt_mode or any exclusions. It provides minimal guidance beyond the obvious context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
export_fbxA
Export to FBX format with common settings.
Args: filepath: Output path. selected_only: Only export selected. apply_scale: Apply scale transforms. mesh_smooth_type: OFF, FACE, or EDGE. path_mode: AUTO, ABSOLUTE, RELATIVE, MATCH, STRIP, COPY.
| Name | Required | Description | Default |
|---|---|---|---|
| filepath | Yes | ||
| path_mode | No | AUTO | |
| apply_scale | No | ||
| selected_only | No | ||
| mesh_smooth_type | No | OFF |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It does not state that the tool writes a file to the given path, whether it overwrites existing files, whether it exports the whole scene or only visible objects, or what side effects may occur. The phrase 'with common settings' is too vague to qualify as meaningful behavioral transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and well structured: one clear purpose line followed by a concise parameter list. Every line earns its place, and the format and parameters are front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is adequate for a simple export call because all parameters are documented and the required parameter is identifiable. However, with no annotations and no output schema, it omits behavioral expectations like file overwriting, return value, and how the export interacts with scene selection or visibility.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry parameter documentation, and it does. It explains all five parameters and provides explicit allowed values for mesh_smooth_type and path_mode, adding real semantic value beyond the schema. The parameter explanations are terse but sufficient for an agent to fill in arguments.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Export') and the specific resource/format ('FBX format'), which distinguishes it from sibling exporters like export_glb and export_obj. It also signals scope by mentioning 'common settings' rather than leaving the tool's effect ambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool should be used when the target output format is FBX, which is enough for a basic agent. However, it provides no explicit guidance about when to prefer this over export_glb, export_obj, or export_file, nor any exclusions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
export_fileB
Export objects to a 3D model file.
Args: filepath: Output file path. file_type: FBX, OBJ, GLTF, GLB, STL, USD, PLY, ABC, etc. selected_only: Only export selected objects.
| Name | Required | Description | Default |
|---|---|---|---|
| filepath | Yes | ||
| file_type | No | ||
| selected_only | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It clearly indicates this creates a file on disk and supports restricting the export to selected objects, but it does not disclose overwrite behavior, what happens when file_type is left empty, or what the operation returns or reports on completion.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short, front-loaded with the main action, and uses a clean Args block with one line per parameter. Every line earns its place with no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the core call and parameters adequately, but as a file-writing tool with no annotations or output schema, it leaves gaps: file overwrite behavior, file_type default resolution, and its relationship to the specialized export siblings. These are meaningful for an agent trying to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must add meaning, and it does: file_type lists valid formats and selected_only explains its scope. Filepath is described only as 'Output file path,' which is somewhat redundant with the parameter name, but the overall compensation is solid.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear verb and resource: export objects to a 3D model file. However, it does not differentiate itself from the sibling tools export_fbx, export_glb, and export_obj, so an agent gets little help deciding between the generic exporter and the specialized ones.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains what the tool does but gives no guidance on when to use it versus the dedicated format-specific exporters (export_fbx, export_glb, export_obj). There is no mention of alternatives, exclusions, or the scenario in which the generic export_file is preferred.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
export_glbB
Export to glTF binary (GLB) format.
Args: filepath: Output path. selected_only: Only export selected. export_materials: Include materials.
| Name | Required | Description | Default |
|---|---|---|---|
| filepath | Yes | ||
| selected_only | No | ||
| export_materials | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It confirms the export action and lists options, but does not mention side effects like file overwriting, the behavior when selected_only is false, or whether exported materials are embedded in the GLB. There is no contradiction with annotations, but the behavioral context is minimal.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short, front-loaded with the purpose, and followed by a compact Args list with no filler. Every line contributes useful information, and the structure is easy to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple flat-parameter export tool, the description covers the essential inputs and format, but it omits return behavior, overwrite policy, and the exact meaning of the default selected_only=false. Since there are no annotations and no output schema, those gaps leave the description adequate but not fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 0% property description coverage, so the Args block is the primary source of parameter meaning. It explains all three parameters at a basic level: filepath is the output path, selected_only controls selection filtering, and export_materials includes materials. This successfully compensates for the otherwise undocumented schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the specific action and target format: 'Export to glTF binary (GLB) format.' This distinguishes it from format-specific siblings like export_fbx and export_obj, though it does not explicitly differentiate itself from the more general export_file tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given about when to use this tool versus alternatives such as export_file, export_fbx, or export_obj. The intended use is only implied by the tool name and the format mentioned in the description, with no exclusions or conditional routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
export_objC
Export to OBJ format.
Args: filepath: Output path. selected_only: Only export selected. export_materials: Include MTL file.
| Name | Required | Description | Default |
|---|---|---|---|
| filepath | Yes | ||
| selected_only | No | ||
| export_materials | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden for behavioral disclosure. It only states 'Export to OBJ format' and lists parameters. It does not reveal potential side effects such as file overwriting, directory requirements, or whether the operation is destructive. There is no mention of what happens to existing files or whether an MTL is created alongside. The agent is left uninformed about the tool's behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and front-loaded with the primary purpose, followed by parameter notes. It is not bloated, but it is also terse to the point of lacking substance. The structure is clear, but the brevity hurts its overall utility.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations and no output schema, the description is the sole source of context. It fails to explain key operational details: whether filepath is relative or absolute, whether the operation overwrites existing files, how selection affects the export, and what the output includes (e.g., textures, materials). An agent cannot reliably invoke this tool without additional assumptions.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description provides brief explanations for each parameter: 'filepath: Output path', 'selected_only: Only export selected', 'export_materials: Include MTL file.' These add meaning beyond the schema, which has no descriptions. However, the explanations are minimal and lack details like file path format or the interaction between selected_only and scene contents. For 3 parameters, this is adequate but not comprehensive.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear function: 'Export to OBJ format.' It names the specific format, distinguishing it from sibling tools like export_fbx and export_glb. However, it does not specify what is being exported (e.g., whole scene, selected objects), leaving the scope somewhat ambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. It does not mention the existence of other export formats (FBX, GLB, generic export_file) or conditions for choosing OBJ. The description provides no decision-making context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
extrude_facesB
Extrude selected faces of a mesh object (must be in edit mode).
Args: object_name: Object name. distance: Extrusion distance (0 for manual manipulation).
| Name | Required | Description | Default |
|---|---|---|---|
| distance | No | ||
| object_name | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses that distance=0 enables manual manipulation, which is a useful behavioral detail. However, it does not explain the mutation's permanence, what happens when no faces are selected, or error handling. With no annotations, this is limited coverage of side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact: one sentence for purpose and one for arguments, with no superfluous detail. The key prerequisite (edit mode) is front-loaded, making it easy to scan.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations and no output schema, the description should cover error cases, selection requirements, and post-conditions. It does not mention behavior when no faces are selected, whether the operation is reversible, or return values, leaving an agent under-informed for robust invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description defines distance as 'Extrusion distance (0 for manual manipulation)' which adds meaning beyond the schema's bare number and default. object_name is only labeled 'Object name', adding no extra insight, so the compensation for the 0% schema coverage is partial.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the specific action: 'Extrude selected faces of a mesh object' and notes the edit-mode prerequisite. This clearly separates it from sibling tools like inset_faces or bevel_edges, which perform different modifications.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The only usage guidance is the requirement to be in edit mode. It does not recommend when to use this versus alternatives, nor does it mention any exclusions or preconditions beyond edit mode, leaving the agent to infer applicability.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_duplicatesB
Find duplicate vertices within a distance threshold.
Args: object_name: Target object. distance: Distance threshold for duplicate detection.
| Name | Required | Description | Default |
|---|---|---|---|
| distance | No | ||
| object_name | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure, but it does not state whether the tool selects duplicates, returns a list, highlights them, or modifies the mesh. It also does not mention whether the object must be in edit mode or what the output format is.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded with the core purpose, followed by a clean parameter list. Every sentence contributes useful information and there is no redundant or filler content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no output schema and no annotations, the description is incomplete. An agent can identify the parameters but cannot predict what the tool returns or how the result is presented, which is essential for using the tool correctly in a workflow.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It provides basic definitions for both parameters ('Target object' and 'Distance threshold for duplicate detection'), but it does not explain units, valid ranges, or the exact meaning of a 'duplicate' beyond the threshold.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Find'), a specific resource ('duplicate vertices'), and a precise condition ('within a distance threshold'). This clearly differentiates it from sibling tools like merge_vertices or smooth_vertices, which perform different operations on the same kind of geometry.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given about when to use this tool versus alternatives such as merge_vertices or analyze_mesh_quality. There is no mention of prerequisites, intended workflow context, or cases where a different tool would be more appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fix_mesh_defectsC
Automatically fix common mesh defects.
Args: object_name: Target object. fix_manifold: Fix non-manifold geometry. merge_distance: Distance for merging duplicate vertices.
| Name | Required | Description | Default |
|---|---|---|---|
| object_name | Yes | ||
| fix_manifold | No | ||
| merge_distance | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It implies a mutating operation that merges vertices and alters topology, but it never warns that the operation may be irreversible, does not state what happens when no defects are found, and does not clarify the scope of changes beyond the two parameters.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded with the main purpose, followed by a terse parameter list. There is no filler or repetition of the schema titles beyond the argument mapping. It could be slightly richer without becoming verbose, but as written it is efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutating mesh tool with no output schema and no annotations, the description is under-specified. It lacks expected return values, failure modes, prerequisite checks, and any caution about modifying the object. An agent has enough to guess basic invocation but not enough to anticipate consequences or validate the result.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It does provide one-line meanings for all three parameters, which adds value over bare titles. However, it omits units or scale for merge_distance and doesn't explain how fix_manifold and merge_distance interact, so compensation is partial.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action—'Automatically fix common mesh defects'—with a clear resource type and gives the two primary defect categories (non-manifold geometry, duplicate vertices) via arguments. It is distinguishable from analysis tools like analyze_mesh_quality, though it doesn't explicitly contrast with repair siblings like merge_vertices or limited_dissolve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given about when to use this tool versus related mesh operations. The description does not mention prerequisites, when an automatic repair is appropriate, or why an agent might choose find_duplicates, merge_vertices, or limited_dissolve instead. Usage context is left entirely to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
flip_normalsC
Flip normals of selected faces.
Args: object_name: Object name.
| Name | Required | Description | Default |
|---|---|---|---|
| object_name | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full behavioral disclosure burden. It states the core operation ('flip normals of selected faces') but does not disclose prerequisites like requiring an active face selection, whether the object must be in edit mode, or whether the operation permanently modifies the mesh. The sparse description leaves important behavioral context unstated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The core description is a single, front-loaded sentence with negligible fluff. The Args section is somewhat redundant with the schema, but it is short and does not add meaningful bloat. Overall it is appropriately concise for a simple tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mesh-editing tool, the description omits crucial context: face selection must be pre-established, the operation likely requires edit mode, and object_name alone does not convey the operation's dependency on scene state. With no annotations and no output schema, these gaps materially reduce an agent's ability to invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema coverage is 0% and the description adds minimal value: 'Args: object_name: Object name' essentially repeats the schema's property title without clarifying semantics. It does not explain what kind of object is expected, whether it must be a mesh, or how the object relates to the selected faces. The only parameter is simple, but the description fails to enrich it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'Flip normals of selected faces.' This clearly identifies the action and scope, and it distinguishes from siblings like recalculate_normals and set_custom_normals by the word 'flip.' However, it does not explicitly name a sibling or further differentiate, so it's clear but lacks explicit sibling comparison.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. The description implies it is for flipping normals of selected faces, but it does not mention recalculate_normals, set_custom_normals, or conditions such as edit mode or face selection prerequisites. An agent is left without explicit usage direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_custom_propertyC
Read a custom property from an object or bone.
Args: object_name: Target object. bone_name: Target bone. armature_name: Armature containing the bone. property_name: Name of the custom property.
| Name | Required | Description | Default |
|---|---|---|---|
| bone_name | No | ||
| object_name | No | ||
| armature_name | No | ||
| property_name | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations present, the description carries the full burden of behavioral disclosure. It states that the tool reads data, which implies non-destructive behavior, but it does not explain what happens for missing properties, whether a return value is always provided, or any edge-case behavior. This is minimal for a tool with no annotation safety profile.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loads the core purpose in the first sentence, followed by a clean argument list. It wastes no words, though the brevity comes at the cost of deeper guidance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with four parameters, no output schema, and no annotations, the description is incomplete. It does not describe the return value, behavior for missing properties, or how to choose between object and bone targets, leaving an agent to guess important calling details.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must compensate, but it only restates the parameter names at a very shallow level ('Target object', 'Target bone'). It does not clarify relationships like when armature_name is required, how object_name and bone_name interact, or what property_name format is expected. The added meaning over the schema is minimal.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The first line uses a clear verb and resource: 'Read a custom property from an object or bone.' It accurately describes the operation and distinguishes it from sibling set_custom_property, though it does not explicitly name that alternative.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given about when to choose this tool over alternatives such as set_custom_property, get_object_info, or similar property-related tools. The intended use is implied by the first sentence, but no exclusions, prerequisites, or comparison to siblings are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_local_transformsC
Get the local (parent-relative) transforms of an object.
Args: name: Object name.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It only states the action ('Get') and does not explicitly mention side effects, return format, or any constraints. While 'Get' implies non-destructive, the description never confirms read-only behavior or what the output looks like, leaving the agent without essential behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very concise and front-loaded with the purpose. It uses few words, with no fluff. The parameter doc is a single line. It is appropriately sized for a simple tool, though the brevity might border on under-specification. Still, for what it covers, it is well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that there is no output schema and no annotations, the description is incomplete. It does not describe the return format (e.g., matrix, dictionary) or any behavioral details. With a single parameter and a getter operation, more context is needed for an agent to correctly interpret and use the result. The description covers only the basic purpose, leaving critical gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description provides minimal meaning for the single parameter: 'name: Object name.' This clarifies that the parameter is the object's name, which is helpful given the schema has no description. However, it does not explain any expected formats or additional details (e.g., if the name must be unique). For a simple getter, this is adequate but not comprehensive.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear verb and resource: 'Get the local (parent-relative) transforms of an object.' It is specific about what it returns and implicitly distinguishes itself from sibling setters like set_object_transform. However, it does not explicitly name alternatives or clarify how it differs from other getters such as get_object_info, which slightly reduces differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. No conditions, exclusions, or references to other tools are provided. An agent must infer from the name that it is a read-only getter, but the description offers no explicit context for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_mesh_statisticsC
Get detailed mesh statistics: vertex/edge/face counts, triangle count, ngon count, volume, surface area, bounding box dimensions.
| Name | Required | Description | Default |
|---|---|---|---|
| object_name | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full behavioral burden. While 'Get' implies a read-only operation, the description does not explicitly state that the tool has no side effects, nor does it disclose prerequisites such as the object being a mesh or error behavior for invalid object names. This leaves the agent to infer safety and preconditions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with a clear list of outputs. It is front-loaded with the tool's purpose and contains no fluff. The minor line break is not an issue. It earns a 4 rather than 5 because the list format is somewhat long and could be more compact, but it is still efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple getter with one parameter and no output schema, the description lists many of the returned statistics, giving some idea of what to expect. However, it omits the meaning of object_name, whether the input must be a mesh, and the format/units of the returned values. With no annotations and no output schema, these gaps make it incomplete for fully informed invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has one parameter (object_name) with no description, and schema description coverage is 0%. The tool description does not mention object_name at all, leaving the agent to guess whether it expects a mesh object name, a scene object name, or something else. The description fails to compensate for the lack of schema documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Get') and resource ('mesh statistics') and enumerates the exact outputs: vertex/edge/face counts, triangle count, ngon count, volume, surface area, and bounding box dimensions. This clearly distinguishes it from sibling analysis tools like analyze_mesh_quality, which focus on quality rather than raw counts.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no explicit guidance on when to use this tool versus alternatives. It implies a use case (need mesh statistics) but does not mention scenarios where a different tool like analyze_mesh_quality or get_object_info would be more appropriate, nor any exclusions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_object_infoB
Get detailed information about a specific object: transforms, mesh stats, materials, modifiers, constraints, vertex groups, and shape keys.
Args: name: Name of the object to inspect.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The verb 'Get' clearly signals a read-only inspection and the description lists the information categories returned. However, with no annotations provided, it does not explicitly state that the scene is not modified, how missing or invalid object names are handled, or whether the operation can be expensive for dense objects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded: the first sentence states the purpose and enumerates specific categories, followed by a minimal Args block. There is no fluff or redundant explanation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description carries the burden of explaining what is returned; it lists categories but not their structure or format. It also lacks context about when to select this tool over the many similar inspection tools in the sibling list.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero description coverage, but the description adds 'Name of the object to inspect,' which clarifies the role of the single 'name' parameter. It does not mention how to discover valid names or handle qualifications, but for a single simple parameter this is sufficient.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Get'), a resource ('specific object'), and a detailed list of data domains (transforms, mesh stats, materials, modifiers, constraints, vertex groups, shape keys). This makes it clear what the tool does, though it does not explicitly differentiate it from siblings like get_mesh_statistics or get_local_transforms.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus the many related getter tools in the sibling list. It simply describes what it returns, leaving an agent to infer when to prefer get_object_info over get_mesh_statistics, get_scene_info, or get_local_transforms.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_render_previewA
Quick low-sample render preview for fast iteration.
Args: width: Preview width. height: Preview height. samples: Number of render samples (lower = faster, less quality).
| Name | Required | Description | Default |
|---|---|---|---|
| width | No | ||
| height | No | ||
| samples | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions 'low-sample' and 'fast iteration' implying a lightweight operation, but it does not state whether the tool is read-only, returns an image, modifies scene state, or any side effects. For a rendering tool, this is a significant omission for the agent to understand the operation's impact.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact, front-loading the purpose in the first line, followed by a clear 'Args:' list. Every sentence serves a purpose: the purpose line and parameter explanations. There is no filler or redundancy, making it efficient and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (3 optional parameters, no output schema, no annotations), the description covers the core purpose and parameters. However, it lacks any mention of what the tool returns (e.g., an image file path, a preview buffer) or whether it alters render settings. For a render-related tool, this missing return information is a notable gap that could confuse an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema provides only names and types with no descriptions (0% coverage). The description compensates fully: 'width: Preview width', 'height: Preview height', 'samples: Number of render samples (lower = faster, less quality)'. Each parameter is explained with its meaning and trade-off, exceeding what the schema offers.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Quick low-sample render preview for fast iteration.' It names the resource (render preview) and implies a specific use case (fast iteration). However, it does not explicitly differentiate from sibling tools like render_preview or render_image, though the 'low-sample' qualifier hints at a distinguishing characteristic.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context on when to use the tool: for fast iteration due to low samples. It does not mention alternatives or exclusions, but the phrase 'fast iteration' is a useful guideline. Since it offers clear intent but no explicit when-not-to-use or alternative comparison, it matches the 'clear context, no exclusions' level.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_scene_diffA
Compare two scenes and list differences.
Args: filepath_a: First .blend file (current if empty). filepath_b: Second .blend file (must be specified).
| Name | Required | Description | Default |
|---|---|---|---|
| filepath_a | No | ||
| filepath_b | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the burden of behavioral disclosure. It adds useful parameter behavior: filepath_a defaults to the current scene if empty, and filepath_b must be specified. However, it does not explicitly state whether the operation is read-only, what happens on missing files, or what the output format looks like. 'Compare' implies no mutation, but it isn't stated explicitly.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences plus an args list, with no filler. The purpose is front-loaded ('Compare two scenes and list differences') and the parameter details are concise. It earns a 4 because it is efficient, though it could be slightly more structured with explicit headings.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (2 params, no output schema), the description conveys the core intent but leaves gaps: it does not explain what aspects of scenes are compared (objects, materials, transforms, etc.), what 'differences' means, or whether the operation modifies anything. The phrase 'current if empty' is also ambiguous. A bit more detail would make it fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description compensates by explaining both parameters: filepath_a is 'First .blend file (current if empty)' and filepath_b is 'Second .blend file (must be specified)'. This adds real meaning beyond the schema's bare titles and defaults, though it remains brief.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Compare two scenes') and the result ('list differences'). This distinguishes it from other scene-related tools like get_scene_summary, though it doesn't explicitly name alternatives. The resource is a pair of .blend files, which is specific enough.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use the tool (when you need to compare two scenes) but gives no explicit exclusions or alternatives. It does clarify the parameter roles, but there is no guidance on when not to use it versus sibling tools like get_scene_info or get_scene_summary.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_scene_for_modelA
Get scene info tailored to the model's context size.
Args: complexity: compact (~200 tokens for weak models), standard (~500 tokens for most models), detailed (~2000 tokens for large models).
| Name | Required | Description | Default |
|---|---|---|---|
| complexity | No | compact |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of behavioral disclosure. It does explain the token-budget behavior for each complexity level, which is useful. However, it doesn't disclose what 'scene info' includes, whether the output is a summary or raw data, or any side effects (though it appears read-only). The token estimates add some transparency but leave the actual output structure unclear.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded: the first sentence states the purpose, and the Args section immediately clarifies the parameter. Every sentence earns its place, and the token estimates are concise and actionable. No fluff or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter read-only tool with no output schema, the description covers the key decision an agent needs to make: which complexity level to choose. It doesn't describe the return format, but the tool's name and purpose imply a text/scene summary, and the token estimates partially cover output expectations. Given the low complexity, this is nearly complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It does explain the single parameter 'complexity' with three concrete options and token ranges, which adds meaning beyond the bare schema. It doesn't specify the exact string values beyond the examples, but the examples are clear enough. This is strong compensation for a single-parameter tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Get') and resource ('scene info') with a clear qualifier ('tailored to the model's context size'). It distinguishes itself from generic scene tools like get_scene_info and get_scene_summary by emphasizing context-size tailoring. However, it doesn't explicitly name a sibling alternative, so it falls short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context for when to use the tool: when a model needs scene info at a size appropriate for its context window. It also explains the three complexity levels and their token ranges, which helps an agent choose the right variant. It doesn't explicitly state when not to use it or name alternatives like get_scene_info, so it's not a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_scene_infoA
Get comprehensive scene information: objects, hierarchy, frame range, render settings.
Returns scene name, active object, object count with type breakdown, full object list with transforms, collection hierarchy, and render config.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of behavioral disclosure. 'Get' and 'Returns' strongly imply a read-only operation with no scene mutation, and the description lists the returned data. However, it does not explicitly state that the tool has no side effects or that it only reads current scene state.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded with the core purpose, followed by a concise enumeration of return contents. Every sentence adds useful information and there is no filler or repetition that detracts from clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple with no parameters and no output schema, so the description must explain what is returned, which it does well by listing scene name, active object, object data, hierarchy, and render settings. It could be more complete with a note about the structure or units of transforms, but the listed return areas are sufficient for an agent to understand the tool's scope.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters and the schema description coverage is 100%, so there are no parameter semantics to clarify. The baseline for a zero-parameter tool is 4, and the description appropriately focuses on return content rather than inputs.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: 'Get comprehensive scene information' with a clear list of categories (objects, hierarchy, frame range, render settings). It is clear what the tool does, though it does not explicitly differentiate itself from similarly-named sibling tools like get_scene_summary or get_scene_for_model.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no guidance on when to use this tool versus alternatives. It does not mention get_scene_summary, list_objects, or get_object_info, nor does it say when the more comprehensive output would be preferable to a lighter-weight option.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_scene_summaryA
Get an ultra-compact scene summary (~200 tokens) for weak LLMs.
Returns: object count, types, materials, camera, lights, render engine. Designed to fit in small context windows while providing actionable info.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Given that no annotations are provided, the description carries the full burden of behavioral disclosure. It clearly states the tool is a read-only 'get' operation with no side effects implied. It specifies the output content (object count, types, materials, camera, lights, render engine) and notes the token constraint, which sets expectations for output size. No contradictions with annotations exist since none are supplied.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and front-loaded. The first sentence establishes the purpose and tone, the second lists the return fields and the design intent. Every sentence serves a distinct purpose—clarity of intent, return content, and rationale—with no fluff. It fits in a few lines and is easily parsed.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter, read-only summary tool, the description is complete. It states what it returns, the token budget, and the intended audience. Without an output schema, the description compensates by listing the return fields. There are no missing parameters or ambiguous behaviors that would hinder an agent from calling it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the schema provides no additional meaning. The baseline for 0 params is 4. The description does not need to explain any parameters; it instead explains the return payload, which is relevant context. There is nothing more to clarify about inputs, so a 4 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the purpose: 'Get an ultra-compact scene summary (~200 tokens) for weak LLMs.' It specifies the resource (scene summary), the action (get), and the distinguishing feature (ultra-compact, token-bounded) that sets it apart from more verbose siblings like get_scene_info. The return fields are enumerated, leaving no ambiguity about what the tool delivers.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly targets a use case: 'for weak LLMs' and 'Designed to fit in small context windows while providing actionable info.' This clearly tells an agent when to prefer this tool over more comprehensive scene queries. It does not explicitly name alternatives or when not to use it, but the context given is sufficient to guide selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_uv_infoC
Get UV mapping information: island count, UV bounds, stretch stats.
Args: object_name: Target object.
| Name | Required | Description | Default |
|---|---|---|---|
| object_name | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavior. It lists output types but does not state side effects (likely none), required object state, or whether it modifies anything. The absence of any such info leaves a gap for a read-only tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and front-loaded with the main purpose and output list. The docstring's args section is minimal but functional, adding no fluff. Slightly more would be needed for full clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description should explain what the agent will receive, but it only lists field names without details on units (e.g., stretch stats) or typical values. Also lacks usage context. For a query tool with one parameter, this is insufficiently complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 0% description coverage, but the description mentions the only parameter (object_name) in the docstring. It adds minimal context by saying it is the 'Target object' but does not elaborate on type or constraints beyond what the schema already shows.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves UV mapping information and lists specific outputs (island count, UV bounds, stretch stats). This distinguishes it from sibling tools, though it could be more explicit by naming alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus others like uv_smart_project or uv_unwrap. The description implies it is for reading UV data, but does not state prerequisites (e.g., object must have UVs) or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_viewport_infoA
Get current viewport state: active camera, shading mode, view matrix, cursor position.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It clearly indicates a read operation via 'Get' and lists the returned data, but it does not explicitly state that the tool has no side effects or does not modify the scene. While implied, it is not disclosed explicitly, which is a minor gap given the absence of annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, tightly written sentence that front-loads the purpose ('Get current viewport state') and then lists the specific elements returned. Every word earns its place, with no filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description lists the key data returned (active camera, shading mode, view matrix, cursor position), which is sufficient for a simple getter with no output schema. It does not mention return format or whether it is a snapshot vs. live reference, but these are minor and not critical for a tool of this simplicity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so the baseline is 4. The description correctly omits parameter details since there are none to document. The description adds no parameter semantics because none are needed, satisfying the baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear verb ('Get') and a specific resource ('current viewport state'), then enumerates exactly what is returned: active camera, shading mode, view matrix, and cursor position. This fully distinguishes it from sibling tools like set_viewport_shading or get_viewport_screenshot, which either modify state or capture images.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly implies this is a read-only query for current viewport state, and its purpose is obvious given the sibling set (setters and screenshot tools). However, it does not explicitly name alternatives or state when not to use it, though the context makes the intended usage self-evident.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_viewport_screenshotA
Take a high-quality viewport screenshot using GPU offscreen rendering.
Args: filepath: Path to save the PNG. If empty, returns base64 only. width: Output width in pixels. height: Output height in pixels. include_overlays: Include viewport overlays (grid, outlines, etc.). camera_view: Render from the active camera's perspective. render_engine: Override render engine ('BLENDER_EEVEE', 'BLENDER_CYCLES', 'BLENDER_WORKBENCH').
| Name | Required | Description | Default |
|---|---|---|---|
| width | No | ||
| height | No | ||
| filepath | No | ||
| camera_view | No | ||
| render_engine | No | ||
| include_overlays | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations, so description must disclose behavior. It mentions GPU offscreen rendering, implying no screen display. But it doesn't state whether it's read-only, side effects, or return value beyond base64 when filepath empty. Partial coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Concise with a clear lead sentence and an organized Args block. No unnecessary text.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the parameters well but lacks details on the return value when filepath is provided, and does not mention any prerequisites or limitations. Given no output schema, some return information would be helpful, but it's still fairly complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema has 0% description coverage, but the description provides a detailed Args section explaining each parameter, including the filepath behavior (base64 if empty) and render_engine override. This fully compensates for the schema's lack of descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: 'Take a high-quality viewport screenshot' with GPU offscreen rendering. It clearly distinguishes from siblings like get_viewport_screenshot_comparison and get_render_preview.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool vs alternatives. It does not mention any exclusions or comparisons to siblings. The description is purely functional without context on selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_viewport_screenshot_comparisonA
Take two viewport screenshots: one from user view, one from camera view.
Useful for verifying scene composition and camera framing.
Returns: user_view: Base64 PNG from the user's current viewport perspective. camera_view: Base64 PNG from the active camera's perspective.
| Name | Required | Description | Default |
|---|---|---|---|
| width | No | ||
| height | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the behavioral disclosure burden. It clearly states that screenshots are captured from the user's current viewport and the active camera's perspective, and it documents the Base64 PNG return format. The read-only nature is strongly implied by the term 'screenshot,' though not explicitly stated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and well-structured: a one-line action, a one-line use case, and a short return-value list. Every sentence contributes useful information with no redundancy or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple capture tool with two optional parameters and no output schema, the description covers the action, the two view sources, the use case, and the return encoding. It is slightly incomplete only in that it does not tie width/height to the screenshot resolution, but this is a minor gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description should compensate by explaining the width and height parameters. It adds no param-level detail beyond what the schema already provides with names and defaults. The names are reasonably self-explanatory, but units and their effect on the screenshot are left unstated.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific action ('Take two viewport screenshots') and identifies both resources: the user view and the active camera view. This clearly distinguishes it from the single-viewport sibling tool and leaves no ambiguity about what the tool does.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives an explicit use case: 'Useful for verifying scene composition and camera framing.' This provides clear guidance on when to use it, though it does not explicitly mention alternatives like get_viewport_screenshot or render_preview or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
go_to_frameC
Jump to a specific frame in the timeline.
Args: frame: Frame number.
| Name | Required | Description | Default |
|---|---|---|---|
| frame | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure, but it only says 'Jump to a specific frame'. It does not disclose side effects (e.g., updating viewport, changing selection), frame indexing (0-based vs 1-based), or behavior on out-of-range values. This is minimal at best.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise—one statement and one argument line—with no filler. It is front-loaded with the action. While short, it communicates the core functionality efficiently.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool this might suffice, but critical context is missing: frame indexing (0 or 1-based), what happens if the frame is out of range, and whether any side effects occur (e.g., timeline update). Given no output schema and no annotations, an agent lacks enough information to handle edge cases confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description provides 'frame: Frame number.' which adds a minimal semantic beyond the schema's type and default. Since schema description coverage is 0%, this is helpful but still thin—it does not clarify units, range, or indexing. It presents the obvious without enriching it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the verb 'Jump' and the resource 'specific frame in the timeline', making the action clear. It is distinct from siblings like set_animation_range or set_fps, though it does not explicitly name an alternative. The purpose is transparent and immediately understandable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives, nor any context such as prerequisites or typical workflows. The description simply states the action without indicating scenarios where it is the appropriate choice over other timeline-related tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
import_fileB
Import a 3D model file.
Args: filepath: Path to the file to import. file_type: FBX, OBJ, GLTF, GLB, STL, USD, PLY, ABC, etc. (auto-detected from extension if empty).
| Name | Required | Description | Default |
|---|---|---|---|
| filepath | Yes | ||
| file_type | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are absent, so the description carries the full burden of behavioral disclosure. It only states the action and the auto-detection behavior; it does not disclose side effects such as whether the import appends to the current scene, whether it replaces existing objects, what coordinate system/scale is applied, or if it may fail for unsupported formats. This lack of transparency is significant for a mutation-style tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short, front-loaded with the purpose, and then lists arguments in a clean Args block. Every sentence earns its place, and there is no redundancy. It is minimally adequate, though the format could be tightened by merging the purpose line with the args or adding a note about typical usage.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter tool with no output schema, the essentials are present: the action and the parameters. However, it does not explain what happens after import (e.g., objects added to the scene, whether existing objects are cleared), nor does it address potential error conditions or file access requirements. Given the tool's role in a large 3D editing context, these gaps make it adequate but not complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It does by explaining filepath as 'Path to the file to import' and file_type as a list of supported formats with the auto-detection rule. This adds meaningful semantic information beyond the bare schema titles and types, though it could be slightly richer (e.g., relative vs absolute paths, case sensitivity).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear verb and resource: 'Import a 3D model file.' It begins with the core purpose and the Args section lists supported formats (FBX, OBJ, GLTF, etc.), which distinguishes it from export tools like export_fbx or open_blend_file. However, it does not explicitly contrast with open_blend_file or note that it is for external formats, so it stops just short of full sibling differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus alternatives. It does not mention that open_blend_file should be used for .blend files or export_file for saving, nor does it describe the import context (e.g., appending to the current scene versus creating a new one). The only usage hint is the parameter note about auto-detection, which is not tool-selection guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
inset_facesC
Inset selected faces of a mesh.
Args: object_name: Object name. thickness: Inset thickness. use_boundary: Also inset boundary edges.
| Name | Required | Description | Default |
|---|---|---|---|
| thickness | No | ||
| object_name | Yes | ||
| use_boundary | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full burden of behavioral disclosure. It does not mention any side effects, whether the operation is destructive, whether a selection is required, or what the result looks like. The description only lists parameters, providing no behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and front-loaded with the primary purpose. The parameter list is efficient and easy to scan. No unnecessary words are used, though it could be slightly more structured with clearer separations.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mesh-editing tool with three parameters and no annotations or output schema, the description is incomplete. It lacks information about selection requirements, the exact effect of thickness, how the operation modifies the mesh, or any postconditions. An agent would need to guess important aspects before calling this tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds minimal meaning beyond the schema: it explains each parameter in a one-line format, and 'use_boundary' is clarified as 'Also inset boundary edges.' However, with 0% schema description coverage, this modest addition helps but does not fully compensate for the lack of deeper semantics like units or effect on mesh.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('inset selected faces of a mesh') with a specific verb and resource. It is not a tautology and conveys the core operation. However, it does not explicitly differentiate from sibling tools like extrude_faces or bevel_edges, though the name itself provides some distinction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus alternatives. There is no mention of context, prerequisites, or exclusions. The agent is left to infer from the name and description alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
join_objectsB
Join multiple objects into a single mesh.
Args: names: List of object names to join. First object becomes the active.
| Name | Required | Description | Default |
|---|---|---|---|
| names | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full behavioral disclosure. It mentions the active object but does not state whether the original objects are deleted, whether only mesh objects are supported, or any other side effects. This is a significant gap for a tool that modifies the scene structure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and front-loaded with the primary action. It includes the necessary parameter documentation in a compact format without any redundant information. Every sentence contributes to understanding the tool's function.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter tool, the description covers the basic purpose and parameter, but it omits critical context such as whether original objects are removed, whether only mesh objects are eligible, and any potential side effects on the scene. Given no output schema or annotations, this leaves the agent with insufficient information to safely invoke the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema provides no description for the 'names' parameter, so the description adds value by explaining that it is a list of object names and that the first becomes active. However, it does not clarify ordering constraints beyond that or explain what 'active' implies for the resulting mesh, leaving some semantic ambiguity.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Join' and the resource 'multiple objects into a single mesh', which is specific and distinguishes it from sibling tools like merge_vertices or boolean_operation. It also adds the detail about the first object becoming active, which is a precise behavioral note.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides the clear context that this tool is for combining multiple objects into one mesh, but it does not mention when to prefer this over alternatives like boolean_operation or separate_by_material, nor does it state any exclusions or prerequisites. The usage is implied rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
limited_dissolveC
Dissolve geometry based on angle threshold.
Args: object_name: Target object. angle_limit: Angle threshold in radians.
| Name | Required | Description | Default |
|---|---|---|---|
| angle_limit | No | ||
| object_name | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of disclosing behavior. It states the core action ('dissolve') which implies removal of geometry, but it does not disclose side effects such as whether the operation is destructive, whether it affects UVs or materials, or whether it is reversible. No warnings about angle threshold limits or unexpected results are given.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded with the main purpose in the first sentence. The Args section is compact and directly maps to the schema. It contains no filler, though the parameter descriptions are minimal.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no annotations, no output schema, and 0% schema description coverage, the description is insufficient. It does not explain what 'dissolve' means in a mesh topology context, how the angle threshold affects the result, or what the tool returns (if anything). Given the complexity of a geometry operation, more context is needed for an agent to call it safely and correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description compensates by identifying both parameters: 'object_name: Target object' and 'angle_limit: Angle threshold in radians.' However, it does not explain what the angle limit actually measures (e.g., angle between face normals) or provide any context about acceptable or typical values beyond the schema's default.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Dissolve') and a resource ('geometry') plus the controlling criterion ('angle threshold'). It is not a tautology and is clearly distinct from sibling tools like smooth_vertices or merge_vertices. However, it does not specify whether geometry refers to mesh faces, edges, or vertices, which leaves slight ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. It does not mention whether it is for reducing mesh complexity, cleaning up geometry, or suggest when it should be preferred over similar mesh-editing tools. No exclusions or alternative references are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
link_blend_dataA
Link or append data from an external .blend file.
Args: filepath: Path to the .blend file. data_type: OBJECT, MESH, MATERIAL, ACTION, or NODE_GROUP. names: List of data block names to link. link: True = linked (updates with source), False = appended (independent copy).
| Name | Required | Description | Default |
|---|---|---|---|
| link | No | ||
| names | No | ||
| filepath | Yes | ||
| data_type | No | OBJECT |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral transparency burden. It discloses the key behavioral distinction between linked and appended data, and it lists valid values for data_type. It does not describe failure modes or return behavior, but the most important side-effect semantics are included.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The core purpose is front-loaded in one sentence, followed by a compact argument list with no filler. Every line adds useful information and the structure is easy to scan.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
All parameters are covered and the link-versus-append behavior is clear, so an agent can invoke the tool correctly. However, since there is no output schema, the description could be more complete by noting what the operation returns and how missing files or name conflicts are handled.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, yet the description documents all four parameters: filepath, data_type with allowed values, names, and the link boolean semantics. This fully compensates for the schema's missing descriptions and adds meaning beyond the raw JSON types.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb plus resource: 'Link or append data from an external .blend file.' It also enumerates the supported data types, which makes it easy to distinguish from sibling tools like merge_blend_file or import_file.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives clear context for when to use the tool (external .blend data) and explains the two operational modes: linked data updates with source, appended data is an independent copy. It does not explicitly name alternative siblings or exclusion criteria, so it stops short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_collectionsA
List all collections with their objects and hierarchy.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. 'List' implies a read-only operation, and the phrase 'all collections with their objects and hierarchy' communicates the returned content. However, it does not disclose output format, whether empty collections are included, or how hierarchy is represented.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is one short sentence that immediately states the action and scope. Every word earns its place, with no redundant filler or repeated schema information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a no-argument, read-only listing tool, the description is nearly complete: it names the resource, scope, and included content. The lack of an output schema means some return-format details are unspecified, but the description gives enough for an agent to understand what the tool provides.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters and the schema already documents this completely with 100% coverage. There is nothing for the description to add about parameter behavior, so the baseline of 4 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a clear verb and resource: it lists all collections and explicitly includes objects and hierarchy. It is distinguishable from sibling tools like list_objects by focusing on collections, though it does not explicitly name any alternative.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given about when to use this tool versus alternatives like list_objects, get_scene_summary, or the collection mutation tools. The description only says what it does, leaving usage decisions entirely to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_lightsA
List all lights in the scene with their types, positions, and energy values.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, and the description uses the inherently read-only verb 'list' but does not explicitly state that the tool has no side effects, whether hidden/disabled lights are included, or any ordering or units. The core behavior is clear, but deeper behavioral guarantees are not disclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One compact, front-loaded sentence with no filler. It communicates the action, scope, and output content efficiently.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter read-only listing with no output schema, the description states the resource and the three categories of returned data, which is largely sufficient. It omits possibly useful details such as units or inclusion of hidden lights, but the tool's simplicity keeps this gap minor.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are zero parameters, and the schema captures this completely. The description still adds the output fields (types, positions, energy values) that the schema cannot, aligning with the zero-parameter baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb and resource ('List all lights in the scene') and enumerates the returned data fields, making it clearly distinct from light-creation/configuration siblings like create_light and configure_light.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit when-to-use or alternative routing is given. The clearest implied usage is 'when you need a read-only inventory of lights,' but it does not say to prefer this over list_objects or exclude setup_* tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_materialsA
List all materials in the current blend file with their names and usage counts.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries the full burden. It clarifies the scope ('current blend file') and the data returned (names and usage counts), covering essential behavior. It does not mention potential side effects (none expected) or edge cases like unused materials, but for a simple listing this is adequate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence that front-loads the action and includes the key detail (usage counts). No wasted words or redundant phrases.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is sufficient for a parameterless listing tool. It specifies scope and output content. Given no output schema, it could have mentioned the exact response structure, but the description already conveys the essential information an agent needs to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has no parameters and the schema has no properties, so the description has nothing to add beyond the baseline for zero-parameter tools. The schema coverage is 100% and the description does not mislead.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb (list), resource (materials), and the exact data returned (names and usage counts). It clearly distinguishes from material editing tools like assign_material and set_material_property, which are mutations rather than read-only queries.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies a read-only query but does not explicitly state when to use it versus alternatives such as list_objects or get_scene_summary. There are no explicit exclusions or conditions, so the agent must infer its role as the go-to tool for enumerating materials.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_objectsA
List all objects in the scene with their types, locations, and visibility.
Args: object_type: Filter by type: ALL, MESH, CURVE, LIGHT, CAMERA, ARMATURE, EMPTY, etc. include_hidden: If True, include hidden objects. collection: Optional collection name to filter by.
| Name | Required | Description | Default |
|---|---|---|---|
| collection | No | ||
| object_type | No | ALL | |
| include_hidden | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It states the listing behavior and returned fields (types, locations, visibility), which is helpful. However, it does not disclose whether the operation is read-only, potential performance implications, or edge-case behavior like empty scenes or invalid collection names. It adds some context but remains minimal.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise with a clear opening sentence and a compact bullet list for parameters. It front-loads the purpose and contains no unnecessary filler, making it highly efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description states the core returned data (types, locations, visibility) but lacks specifics about the return format (e.g., object names, coordinate system, hierarchy). Since there is no output schema, more detail would be beneficial. It also doesn't mention edge cases like empty scenes or invalid collections, leaving it only partially complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 0% description coverage, but the description fully explains each parameter: object_type lists valid values, include_hidden explains its boolean meaning, and collection is described as an optional filter. This adds meaningful semantics beyond the schema's bare types and defaults, fully compensating for the schema's lack of descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists all objects in the scene with their types, locations, and visibility, specifying a specific verb and resource. It distinguishes from sibling tools like list_lights and list_materials, though it doesn't explicitly contrast with get_scene_info or get_object_info, leaving some ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It lacks any mention of when to prefer it over get_scene_info or get_object_info, nor does it specify exclusions or alternative conditions. Given the extensive sibling list, this is a notable gap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_open_scenesA
List all currently open .blend files and their status.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It clearly indicates a non-mutating list operation, but 'their status' is vague and does not disclose what status values are returned or whether the tool behaves differently when no files are open.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence that names the action, resource, and output with no filler. Every word contributes to the meaning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple and has no parameters, so invocation is fully specified. However, with no output schema and no annotations, the description leaves the meaning of 'status' and the return format unspecified, which is a gap for an agent interpreting the result.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters and 100% schema coverage, so there are no parameter semantics for the description to add. The baseline of 4 applies because no parameter explanation is needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('List') and a clear resource ('currently open .blend files'), adding 'status' as the returned information. This distinguishes it from sibling tools like list_objects, which enumerate objects, and get_scene_info, which describes the current scene.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies a read-only enumeration use case but provides no explicit guidance on when to choose this tool over alternatives such as open_blend_file, switch_scene, or get_scene_info. There are no exclusions or conditions stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
loop_cutC
Add loop cuts to a mesh.
Args: object_name: Object name. number_cuts: Number of cuts. axis: X, Y, or Z axis.
| Name | Required | Description | Default |
|---|---|---|---|
| axis | No | X | |
| number_cuts | No | ||
| object_name | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full burden of behavioral disclosure. It only states the action; it doesn't disclose whether the object must be a mesh, if it requires edit mode, selection requirements, or that it permanently modifies geometry.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is brief and front-loads the purpose in one sentence, then lists args. No fluff. It's appropriately sized for a simple operation, though it could add more context without becoming verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no annotations and no output schema, the description is thin. It lacks prerequisites (object must be a mesh), scope of effect (all faces vs selected), and any confirmation feedback. An agent is left guessing about operational details.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description is the only param documentation. But it merely restates the parameter names ('Object name', 'Number of cuts', 'X, Y, or Z axis') without adding constraints, defaults, or interaction effects. It adds marginal value over the schema's field names.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States precisely: 'Add loop cuts to a mesh' – a clear verb and resource. The arg list clarifies axis and count, and the operation is distinct from siblings like subdivide_mesh or bevel_edges.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this vs alternatives. With dozens of mesh-editing siblings (subdivide_mesh, bevel_edges, etc.), the description doesn't differentiate usage context, prerequisites, or when to choose this over other tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
merge_blend_fileB
Merge objects from another .blend file into the current scene.
Args: filepath: Path to the .blend file to merge. merge_method: 'append' (linked), 'link', or 'import' (direct copy).
| Name | Required | Description | Default |
|---|---|---|---|
| filepath | Yes | ||
| merge_method | No | append |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It attempts to explain the merge methods with parentheticals ('append' (linked), 'link', or 'import' (direct copy)), but this is confusing and likely inconsistent with Blender conventions where append normally means a direct copy. It also omits effects on existing objects, naming conflicts, dependencies, or whether the operation is undoable.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is brief, front-loaded with the primary purpose, and contains no fluff. The Args section is compact. It loses a point because the terseness contributes to the ambiguity around merge_method, making the text feel under-specified rather than efficiently complete.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a non-trivial Blender operation with no annotations and no output schema, this description is too thin. It does not explain the practical consequences of each merge method, what the default 'append' does, how objects are placed into the scene, or how to handle failures. An agent would need to rely on external knowledge or experimentation to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 0% description coverage, so the description is solely responsible for explaining parameters. It documents both params: filepath as the path to the .blend file and merge_method with three possible values. However, the value explanations are inconsistent—'append' is labeled 'linked' and 'link' gets no explanation—so it adds partial, useful meaning but remains imperfect.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action ('Merge objects from another .blend file into the current scene') and identifies the resource clearly. However, it does not differentiate itself from closely related siblings such as 'link_blend_data' or 'import_file', and the term 'merge_method' adds ambiguity about what the operation fundamentally does.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives like 'link_blend_data', 'import_file', or 'open_blend_file'. The description implies its use by naming the operation, but it provides no context, prerequisites, or exclusion criteria to help an agent choose among overlapping tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
merge_verticesC
Merge vertices by distance (remove doubles).
Args: object_name: Object name. distance: Merge distance threshold.
| Name | Required | Description | Default |
|---|---|---|---|
| distance | No | ||
| object_name | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden and only states that vertices are merged by distance. It does not disclose that this mutates the object, that it may be destructive/irreversible, whether it affects the whole mesh or only selected vertices, or what object types are valid.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded with the key verb and operation. The Args block is somewhat redundant with the schema, but it does not add fluff or bury the purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutating mesh editing operation with no annotations and no output schema, the description omits important operational context: mesh object prerequisite, selected vs. whole-object scope, unit of the distance threshold, and expected side effects. It is minimally viable at best.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% and the description mostly restates the parameter names: 'Object name' and 'Merge distance threshold' add little beyond the schema's types/default. It does not specify units, valid ranges, or object requirements.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific operation: merging vertices by distance (remove doubles), which identifies the resource and behavior. It does not explicitly contrast with sibling mesh tools, but the 'by distance' qualifier makes the intent clear enough.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given for when to use this tool over alternatives such as limited_dissolve, smooth_vertices, or edit_mesh_vertices. There are no prerequisites, exclusions, or selection conditions mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
move_objectA
Move an object by delta in world or local space.
Args: name: Object name. x, y, z: Translation delta. space: WORLD or LOCAL.
| Name | Required | Description | Default |
|---|---|---|---|
| x | No | ||
| y | No | ||
| z | No | ||
| name | Yes | ||
| space | No | WORLD |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the behavioral burden. It does disclose the key traits: relative movement, translation axes, and the WORLD/LOCAL coordinate mode. It stops short of covering units, undo/reversibility, behavior for invalid names, or effects on children/constraints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact, front-loaded with the core operation, and the Args list adds parameter semantics without wasted words. No filler or repeated schema defaults, aside from defaults that are already visible in the schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a five-parameter transform tool, the definition covers the operation, all parameters, and coordinate spaces. It could mention constraints or contrast with absolute transform tools, but an agent has enough information to invoke it correctly in most situations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Even though the input schema has no per-property descriptions, the Args list explains every parameter: name as the object identifier, x/y/z as the translation delta, and space as WORLD or LOCAL. This fully compensates for the 0% schema description coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The first line is a specific verb-resource statement: move an object by a delta, with explicit world/local space choice. This clearly separates it from sibling tools like set_object_transform (absolute placement) and rotate_object/scale_object (other transform types).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The word 'delta' implies this tool is for relative translation, which gives some selection guidance among transform siblings. However, it never explicitly names alternatives or says when not to use it, e.g., for absolute placement via set_object_transform.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
move_to_collectionC
Move an object to a different collection.
Args: object_name: Object to move. collection_name: Target collection.
| Name | Required | Description | Default |
|---|---|---|---|
| object_name | Yes | ||
| collection_name | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations to carry the behavioral burden, the description must explain side effects. It merely states the action without disclosing whether the object is removed from its current collection, what happens if the target collection does not exist, or any permission requirements. This leaves significant ambiguity for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely short, front-loaded with its purpose, and uses a standard Args block. It contains no wasted words, though it is concise to the point of under-specification, which affects other dimensions.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple 2-parameter tool with no annotations and no output schema, the description is too sparse. It does not state any error conditions, object type restrictions, or distinguish itself from the many sibling tools dealing with objects and collections. The minimal information leaves gaps an agent would need to fill incorrectly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It provides brief clarifications ('Object to move', 'Target collection') that add a little meaning over the schema titles, but stops short of explaining allowed values, object types, or edge cases. It partially compensates for the missing schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action (move) and resource (object to a collection), which clearly separates it from spatial move_object and collection management tools. It could be more explicit about the relationship to collection hierarchy, but the core purpose is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given about when to use this tool versus alternatives like move_object, create_collection, or list_collections. The description only states what it does, leaving the agent to infer appropriate use cases without any exclusions or context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
new_sceneB
Create a new scene within the current .blend file.
Args: name: Scene name. If empty, auto-generates one. copy_settings: Copy settings from current scene.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | ||
| copy_settings | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It mentions name auto-generation and copy_settings, but does not state whether the new scene becomes active, whether the current scene is modified, or what happens to objects in the new scene. This is a significant gap for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short, front-loaded with the main purpose, and the Args section is directly relevant. It is appropriately sized with no filler, though the Args list partially duplicates schema information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple creation tool, the description covers the parameters but omits key contextual behavior: whether the new scene becomes active, whether it copies objects or only settings, and how it relates to the sibling `create_scene`. Without an output schema or annotations, these gaps leave an agent uncertain about the tool's full effect.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It does: `name` is explained with the auto-generation behavior, and `copy_settings` is explained as copying settings from the current scene. This adds meaning beyond the raw schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action and resource: 'Create a new scene within the current .blend file.' This is clear and unambiguous on its own. However, it does not differentiate from the sibling tool `create_scene`, which appears to have a similar purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no guidance on when to use this tool versus alternatives like `create_scene`, `switch_scene`, or `delete_scene`. There are no prerequisites, exclusions, or alternative routing, so an agent must infer usage from the name and one-line description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
open_blend_fileC
Open a .blend file.
Args: filepath: Path to the .blend file. use_scripts: Whether to load linked scripts.
| Name | Required | Description | Default |
|---|---|---|---|
| filepath | Yes | ||
| use_scripts | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full responsibility for disclosing behavioral traits. It fails to mention any side effects, such as whether opening replaces the current scene, loads linked data, or modifies the file. The description is purely factual and omits critical behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is succinct, with two sentences and an 'Args' section. It front-loads the action and avoids unnecessary words, making it easy to scan. The structure is clear and appropriate for a simple tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
While the description covers the basic action and parameters, it lacks essential context about what happens after opening the file. It does not mention whether the current scene is replaced, if there are any destructive effects, or how the file is integrated. For a file-opening tool, this is a significant gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has zero description coverage, so the description must explain each parameter. It does so clearly: filepath is 'Path to the .blend file' and use_scripts is 'Whether to load linked scripts'. This adds meaning beyond the schema's bare type definitions, though it could be more detailed about formats or defaults.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action 'Open a .blend file' with a specific resource, making the purpose obvious. However, it does not differentiate from sibling tools like import_file or merge_blend_file, so it loses a point for lacking explicit distinction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. The description only explains the parameters and provides no context about appropriate usage scenarios, prerequisites, or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
parent_bone_to_objectA
Parent an object to a bone (for rigging).
Args: armature_name: Target armature. bone_name: Bone to parent to. object_name: Object to parent.
| Name | Required | Description | Default |
|---|---|---|---|
| bone_name | Yes | ||
| object_name | Yes | ||
| armature_name | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It only states the action and does not mention prerequisites, whether existing parenting is replaced, transform effects, or error behavior. This is a significant gap for a mutating rigging operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded with the core action, followed by a minimal Args list. There is no filler or redundant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple three-parameter tool, the description covers the purpose and all parameter meanings. However, with no annotations and no output schema, it omits behavioral side effects and prerequisites, making it only minimally complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has no descriptions for its properties, so the Args list adds real meaning by defining armature_name, bone_name, and object_name. It clarifies the parent-child relationship, though it could specify naming or existence requirements.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb and resource: 'Parent an object to a bone (for rigging).' It clearly distinguishes this tool from siblings like parent_objects or batch_parent by targeting a bone specifically rather than another object.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'for rigging' implies the intended use case, but the description does not explicitly state when to choose this tool over alternatives such as parent_objects or batch_parent. It gives context but no exclusions or alternative routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
parent_objectsB
Set parent-child relationship between objects.
Args: child: Name of the child object. parent: Name of the parent object. keep_transform: If True, maintain the child's current world transform.
| Name | Required | Description | Default |
|---|---|---|---|
| child | Yes | ||
| parent | Yes | ||
| keep_transform | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the operation and one effect of keep_transform, but does not mention what happens to an existing parent relationship, transform behavior when keep_transform is false, object existence requirements, or error cases.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, front-loaded with a clear one-line purpose, and followed by structured argument documentation. Every line earns its place with no redundant or filler content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple three-parameter mutation with no output schema, the description covers the core operation and all parameters. However, it lacks behavioral consequences, constraints, and any statement about what happens to world transforms when keep_transform is not True, leaving the definition adequate but not fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate for the bare schema. It provides brief definitions for all three parameters ('child', 'parent', 'keep_transform'), which is helpful, but the explanations are minimal and lack details like naming conventions, accepted references, or default behavior nuances.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Set parent-child relationship') and the resource ('objects'), making the tool's purpose immediately understandable. However, it does not differentiate itself from the sibling 'batch_parent', which likely performs a similar operation for multiple objects, so it stops short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given about when to use this tool versus alternatives such as 'batch_parent' or 'parent_bone_to_object'. The description only explains the parameters and leaves the agent to infer the appropriate use case.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
reassign_material_slotA
Reassign all faces from one material slot to another.
Useful for replacing one material with another across the entire mesh.
Args: object_name: Target mesh object. from_slot: Source material slot index. to_slot: Destination material slot index.
| Name | Required | Description | Default |
|---|---|---|---|
| to_slot | Yes | ||
| from_slot | Yes | ||
| object_name | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses that the operation affects all faces and moves them between material slots. However, with no annotations provided, it does not mention what happens to the source slot after reassignment, whether the destination slot must already exist, or how invalid indices are handled. That leaves some behavioral ambiguity for a mutating operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded with a one-sentence summary followed by the use-case and Args list. The Args entries are useful and the text avoids verbosity. It could be slightly more structured, but it earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a straightforward reassignment, the core inputs and purpose are covered. But without annotations or an output schema, the description omits edge-case guidance such as whether the destination material slot must exist, what happens if from_slot and to_slot are identical, and whether the source slot is preserved or removed. This is adequate but not fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the Args block carries the parameter documentation burden. It provides plain-language roles for all three parameters: target mesh object, source slot index, and destination slot index. It does not add indexing details or bounds, but it compensates for the missing schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('reassign') with a clear resource ('material slots'), and states the scope ('all faces'). This is clearly distinct from sibling tools like assign_material or delete_material, and the target mesh object is explicitly part of the operation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives a direct use case: 'Useful for replacing one material with another across the entire mesh.' This tells an agent when to reach for this tool. It does not explicitly name alternatives or state when not to use it, but the context is clear enough for a 4.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
recalculate_normalsB
Recalculate normals of a mesh.
Args: object_name: Object name. outside: If True, normals point outward.
| Name | Required | Description | Default |
|---|---|---|---|
| outside | No | ||
| object_name | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It only states that it recalculates normals, without mentioning that it modifies the object in place, whether it respects existing custom normals or sharp edges, or any side effects. This is minimal for a mutating operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise, with a single purpose sentence followed by parameter explanations. It is front-loaded with the purpose and contains no fluff. However, it is so brief that it sacrifices behavioral detail, but for structure and conciseness it is appropriate.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple with two parameters and no output schema, but the description lacks essential context: it doesn't specify that the object must be a mesh, what happens if it isn't, or how it differs from flip_normals and set_custom_normals. An agent might call it incorrectly or choose the wrong tool without this information.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has zero description coverage, so the description must explain the parameters. It does so effectively: 'object_name: Object name' and 'outside: If True, normals point outward.' This adds meaning beyond the schema's type and title, clarifying the purpose of each parameter, though it omits the default for outside (which is in the schema).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's action: 'Recalculate normals of a mesh.' The verb 'recalculate' and the resource 'normals of a mesh' precisely define the operation, and it distinguishes from siblings like flip_normals (which flips rather than recomputes) and set_custom_normals (which sets explicit normals).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus alternatives like flip_normals or set_custom_normals. The description lacks any context about prerequisites (e.g., the object must be a mesh) or scenarios where this is preferred over sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
remesh_sculptB
Remesh the active object for sculpting.
Args: mode: VOXEL or SMOOTH. voxel_size: Voxel size for voxel remesh. smooth_iterations: Smooth iterations for smooth remesh.
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | VOXEL | |
| voxel_size | No | ||
| smooth_iterations | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavioral consequences on its own. It says 'Remesh' but does not warn that remeshing is destructive – it replaces the mesh topologyatically and discards UVs, vertex colors, modifiers, or other associated data. It also does not mention that an object must be active or mesh-typedags. For a mutation tool, such disclosure is expected and absent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded with the purpose, followed by a structured Args list. Every sentence provides necessary information, there is no repetition of schema defaults, and the structure makes parameters easy to scan. It is exactly as concise as it needs to be.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with only three optional parameters and no output schema, the description covers the core action and parameter meanings. But it lacks behavioral warnings, usage context, and any statement about expected results or return values. An agent can call it correctly on a basic level, but may be surprised by destructive side effects or uncertain about when to invoke it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It does provide one-line explanations for each parameter (mode, voxel_size, smooth_iterations), which adds meaning beyond bare names and types. However, it omits important details like units for voxel_size, valid ranges, and that smooth_iterations only matters in SMOOTH mode. This is adequate but not thorough compensation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb ('Remesh') and resource ('active object'), scoped with 'for sculpting'. This clearly states the tool's function and is distinct from any sibling tool – there is no other remesh tool in the list, while smooth_vertices or configure_dyntopo are conceptually different operations. It could be a 5 if it explicitly named alternatives, but the unique action makes the purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given about when to use this tool versus alternatives like configure_dyntopo or smooth_vertices. The phrase 'for sculpting' only implies a broad context, but there are no prerequisites, no exclusions, and no statement about choosing between VOXEL and SMOOTH modes. An agent is left to infer when remeshing is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
remove_markerA
Remove a timeline marker.
Args: marker_name: Name of the marker to remove.
| Name | Required | Description | Default |
|---|---|---|---|
| marker_name | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the behavioral burden. It clearly communicates the destructive nature of the action ('Remove'), but it does not disclose whether removal is permanent, what happens when the marker does not exist, or whether related animation data is affected.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately short and front-loaded with the core action. The Args block is slightly redundant with the input schema but does not add meaningful clutter.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter removal tool, the description is mostly sufficient: it names the operation and the argument. It omits error behavior and whether removal is irreversible, which an agent may need to recover from failed or unexpected calls.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must compensate. The Args section explains that marker_name is the name of the marker to remove, which is slightly more than the schema's bare title. However, it adds no detail on formatting, uniqueness, case sensitivity, or required marker existence.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Remove') and a specific resource ('a timeline marker'). This clearly distinguishes the tool from siblings like add_marker and set_animation_range without needing to inspect schemas.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The intended use is implied: use this tool when a named timeline marker should be removed. However, there is no explicit guidance about when not to use it, prerequisites such as the marker needing to exist, or alternatives like add_marker.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
remove_modifierB
Remove a modifier from an object.
Args: object_name: Target object. modifier_name: Name of the modifier to remove.
| Name | Required | Description | Default |
|---|---|---|---|
| object_name | Yes | ||
| modifier_name | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It states the action but doesn't disclose what happens if the modifier doesn't exist, whether the operation is destructive (it removes something), whether it can be undone, or any side effects. The description is minimal and doesn't add behavioral context beyond the action itself.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very concise, with a one-sentence summary followed by a compact parameter list. It's front-loaded with the action and avoids unnecessary words. The parameter explanations are minimal but present.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter tool, the description is adequate at a basic level, but it lacks important context: no mention of error handling (e.g., modifier not found), no confirmation of success, no note about whether the modifier is permanently removed or just disabled, and no guidance on how this relates to the modifier workflow (add → configure → apply → remove). Given the large sibling list, a bit more context would help an agent use it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It provides brief explanations for both parameters ('Target object' and 'Name of the modifier to remove'), which adds some meaning beyond the schema's bare property names. However, it doesn't clarify the expected format (e.g., exact object name vs. path, modifier name case sensitivity) or provide examples.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Remove a modifier from an object') with a specific verb and resource. It distinguishes itself from sibling tools like add_modifier, configure_modifier, apply_modifier, and reorder_modifier by focusing on removal, though it doesn't explicitly name them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage context: it's for removing modifiers, which is distinct from adding, configuring, applying, or reordering them. However, it doesn't explicitly state when to use this tool versus alternatives, nor does it mention any prerequisites (e.g., the modifier must exist on the object).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
remove_object_constraintB
Remove a constraint from an object.
Args: object_name: Target object. constraint_name: Name of the constraint to remove.
| Name | Required | Description | Default |
|---|---|---|---|
| object_name | Yes | ||
| constraint_name | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description carries the full burden of behavioral disclosure. It only states that a constraint is removed and does not mention whether the removal is permanent, what happens if the constraint does not exist, or whether the object is affected in any other way. This is minimal coverage for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One concise summary sentence is front-loaded, followed by two compact parameter lines. There is no filler, redundancy, or unnecessary context.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple and both required parameters are addressed, so a basic invocation is possible. However, with no annotations and no output schema, the description leaves error behavior, reversibility, and edge cases like nonexistent constraints unexplained. It is adequate but not fully complete for unforeseen runtime situations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 0% description coverage, so the description must compensate. It provides brief definitions for both parameters, but 'Target object' and 'Name of the constraint to remove' mostly restate the schema titles without adding format, validation, or uniqueness constraints. This is minimally adequate but not rich.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States exactly what it does with a specific verb and resource: 'Remove a constraint from an object.' The scope is unambiguous and is naturally distinguished from complementary siblings like add_object_constraint and add_bone_constraint. The parameter names align directly with the described operation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given about when to choose this tool over add_object_constraint, add_bone_constraint, or remove_modifier, nor are prerequisites mentioned, such as the constraint needing to exist or the object needing to be selected. The single imperative sentence is clear about the action but not about decision-making context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
remove_shape_keyB
Remove a shape key from an object.
Args: object_name: Target mesh object. key_name: Name of the shape key to remove.
| Name | Required | Description | Default |
|---|---|---|---|
| key_name | Yes | ||
| object_name | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It reveals only that the action removes a shape key, but does not disclose side effects such as whether removing a key that is animated or referenced breaks animation data, whether the operation is destructive/irreversible, or behavior when the key does not exist.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact: a one-line purpose statement followed by an Args block. It is front-loaded and contains no filler, though the Args block somewhat duplicates what a well-documented schema would carry.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter removal operation, the description covers the basic call. However, with no annotations and no output schema, it leaves gaps around failure behavior, side effects on animation data, and whether the operation is reversible — notable for a destructive mutation tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, but the Args block compensates by explaining object_name as 'Target mesh object' and key_name as 'Name of the shape key to remove.' This adds meaning beyond the bare schema types/titles, though the explanations are brief and could note constraints such as requiring the key to exist.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb (Remove) and resource (shape key) plus the target object, making the tool's purpose clear. It is inherently distinguishable from siblings like add_shape_key and set_shape_key_value by the action verb, though it does not explicitly name or contrast those siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus add_shape_key or set_shape_key_value, nor any prerequisites (e.g., the shape key must exist, object must be a mesh). There are no exclusions or alternative recommendations, leaving the agent to infer usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
rename_objectB
Rename an object.
Args: name: Current name of the object. new_name: New name for the object.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| new_name | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden, but it only states the rename action and repeats parameter roles. It does not mention possible side effects such as broken references, naming conflicts, or whether the object must exist.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded with the core purpose, and each line earns its place. There is no filler or repetition beyond explicating the two required parameters.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter rename operation the description is adequate, but it leaves out context such as whether the name refers to an object data-block versus a scene object and what happens on name collision. An agent could invoke it correctly but might be surprised by edge-case behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The Args section clarifies that 'name' is the current name and 'new_name' is the replacement, adding minimal meaning beyond the raw schema. However, it does not specify constraints such as uniqueness, naming rules, or how collisions are handled.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with 'Rename an object,' a clear, specific verb and resource that states the tool's core operation. It does not explicitly distinguish itself from the sibling batch_rename, so it misses the top score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given for when to use this tool versus alternatives such as batch_rename or create_object. The description contains no conditions, exclusions, or explicit context suggesting a single-object rename.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
render_animationC
Render an animation sequence.
Args: output_path: Output directory path. frame_start: First frame. frame_end: Last frame. engine: Render engine.
| Name | Required | Description | Default |
|---|---|---|---|
| engine | No | CYCLES | |
| frame_end | No | ||
| frame_start | No | ||
| output_path | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It does not mention side effects (e.g., writing files to output_path), whether the operation is blocking, any required scene state, or how empty defaults are handled. This is a critical gap for a tool that likely triggers a long render operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is terse and avoids fluff, which is good. However, it is formatted as an 'Args' list that repeats parameter names already in the schema, and it front-loads the purpose sentence but doesn't expand on it. It is acceptable in length but lacks structural enrichment like examples or context.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 4 parameters, no output schema, and no annotations, the description is severely incomplete. It fails to explain what the output looks like, whether it saves to disk, what happens if output_path is empty, or what render engine options exist. An agent cannot confidently invoke this tool correctly without additional knowledge.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema provides only titles and defaults with no descriptions (0% coverage), so the description is the sole source of parameter meaning. It gives a one-line gloss for each parameter (e.g., 'output_path: Output directory path'), which adds basic value over the bare schema. However, it omits critical details like acceptable engine values (CYCLES vs EEVEE) and semantics of empty strings, so it only partially compensates for the missing schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear verb and resource: 'Render an animation sequence.' This differentiates from siblings like render_image or render_preview by specifying 'animation sequence,' but it doesn't explicitly name alternatives or contrast them. It is sufficiently clear for an agent to understand the primary action, though sibling differentiation is implicit rather than explicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives like render_image or create_turntable_animation. No prerequisites are mentioned (e.g., animation range set, active scene), and no exclusions are stated. The agent must infer usage from the name alone, which is insufficient.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
render_imageB
Render the current scene to an image file.
Args: output_path: File path for the rendered image. If empty, uses temp file. resolution_x: Output width. resolution_y: Output height. samples: Render samples. engine: BLENDER_EEVEE, CYCLES, or BLENDER_WORKBENCH.
| Name | Required | Description | Default |
|---|---|---|---|
| engine | No | CYCLES | |
| samples | No | ||
| output_path | No | ||
| resolution_x | No | ||
| resolution_y | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full responsibility for behavioral disclosure. It mentions that an empty output_path uses a temp file, which is useful, but it does not disclose side effects like file overwriting, whether rendering blocks, required scene state, or return behavior. This is insufficient for a rendering operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is efficiently structured with a one-line purpose statement followed by a concise Args list. Each parameter gets a single line with no fluff. The front-loading of the purpose ensures immediate clarity. There is zero wasted text.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description explains parameters but omits critical contextual details such as return value (does it return the file path?), whether it requires an active scene, how it interacts with configure_render, or if it works headless. Without an output schema or annotations, an agent cannot fully anticipate the tool's behavior and integration with other tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Given 0% schema description coverage, the description compensates well by explaining each parameter's purpose: output_path, resolution_x, resolution_y, samples, and engine. It adds clarity beyond the schema, though it could offer more detail (e.g., units, effect of samples on quality/time). The basic semantics are clear and actionable.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Render the current scene to an image file', specifying a precise verb and resource. It implicitly distinguishes from sibling tools like render_animation (which renders sequences) and render_preview (which provides a preview), by focusing on a single image output. The inclusion of engine choices and output path parameters further clarifies its scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives such as render_preview, render_animation, or configure_render. The description only states what it does, without mentioning scenarios, prerequisites, or exclusions. An agent would have to infer that this is for still images, which is not explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
render_previewB
Quick preview render for visual feedback loops.
Args: quality: LOW (320x240), MEDIUM (800x600), HIGH (1920x1080).
| Name | Required | Description | Default |
|---|---|---|---|
| quality | No | MEDIUM |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of behavioral disclosure, but it only adds resolution mappings. It does not mention whether the render is asynchronous, whether it saves/returns an image, whether it blocks, or what side effects occur in the scene.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short, front-loaded with the core purpose, and uses a clean labeled list for parameter options. There is no wasted text.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple, but with no annotations and no output schema, the description should clarify what the agent gets back or what happens after the render. It also does not explain how this relates to get_render_preview or render_image, leaving an important gap for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description compensates well by listing the allowed quality values and their exact pixel dimensions. This is meaningful information beyond the bare 'quality' string field, though it does not mention the default value (which the schema already provides).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description states a specific action ('quick preview render') and its purpose ('visual feedback loops'), with concrete quality presets. It is clear, though it does not explicitly differentiate itself from close siblings like render_image or get_render_preview.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'for visual feedback loops' implies a use case, but there is no guidance on when to choose this over alternatives such as render_image, get_viewport_screenshot, or get_render_preview. No exclusions or when-not-to-use conditions are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
reorder_modifierA
Move a modifier to a specific position in the stack.
Args: object_name: Target object. modifier_name: Modifier to move. new_index: Target position (0-based).
| Name | Required | Description | Default |
|---|---|---|---|
| new_index | Yes | ||
| object_name | Yes | ||
| modifier_name | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral burden. It does disclose the core behavior—moving a named modifier to a 0-based position in the stack—but it does not mention what happens when the modifier or object does not exist, whether the operation is undoable, or what result/return the agent should expect.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The main behavior is front-loaded in one sentence, followed by a tight three-line argument list. Every line earns its place and there is no filler or repetition of schema details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple three-parameter mutating tool with no output schema and no annotations, the description covers the essential invocation facts: what action is performed and how each parameter maps to it. It is slightly incomplete only in not addressing error cases or side effects.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the parameter lines must add meaning, and they do: object_name is the target object, modifier_name is the modifier to move, and new_index is explicitly 0-based. This is sufficient for correct invocation, though it is terse and does not clarify valid index bounds.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The first sentence, 'Move a modifier to a specific position in the stack,' uses a specific verb and resource and clearly distinguishes this from sibling operations that add, remove, configure, or apply modifiers. The parameter list reinforces the operation's scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The intended use case is implied by the action and by sibling names like add_modifier/remove_modifier, but the description never explicitly says 'use this when you need to reorder an existing modifier stack' or names alternatives. There is no exclusion guidance for when another modifier tool would be more appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
rotate_objectB
Rotate an object by delta radians in world or local space.
Args: name: Object name. x, y, z: Rotation delta in radians. space: WORLD or LOCAL.
| Name | Required | Description | Default |
|---|---|---|---|
| x | No | ||
| y | No | ||
| z | No | ||
| name | Yes | ||
| space | No | WORLD |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It adds behavioral context beyond the schema by stating the rotation is a delta and offers WORLD vs LOCAL space. However, it omits cumulative behavior, effects on children, or undo/reversibility for this mutating operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Purpose is front-loaded in the first line and the arg list is compact and scannable. Slightly verbose formatting with the Args: block, but no wasted prose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The essentials for calling (name required, defaults for x/y/z/space) are all covered, which is adequate. But as a mutation tool with no output schema and no annotations, behavioral details like cumulative rotation and child influence are missing, making it only partially complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate, and it does: every parameter is documented (name, x/y/z as rotation delta in radians, space as WORLD/LOCAL). The 'delta radians' clarification adds meaning the schema lacks.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Rotate an object') and the key dimension of delta radians in world or local space. The 'delta' wording distinguishes it from absolute transform tools like set_object_transform, though it never names a sibling explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this vs. the many transform siblings (move_object, scale_object, apply_transform, set_object_transform, align_object). No exclusions, no alternatives, no prerequisites are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
run_operatorB
Execute a bpy.ops operator by name.
Args: operator_name: Full operator name (e.g., 'mesh.primitive_cube_add'). params: Optional dict of operator parameters (e.g., {'size': 2, 'location': [0,0,0]}).
| Name | Required | Description | Default |
|---|---|---|---|
| params | No | ||
| operator_name | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It only says to execute an operator and gives parameter examples; it does not disclose that operators can modify the scene, have side effects, potentially fail, or what the return value (if any) is. This is a significant transparency gap for a generic execution tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is minimal and well-structured: a one-sentence purpose followed by clear Args documentation. No filler, examples are directly useful, and it is appropriately sized for a simple generic tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a powerful escape-hatch tool with no annotations and no output schema, the description is incomplete. It omits error behavior, whether the operator returns anything, safety warnings about destructive operators, and the intended use case relative to the large sibling family. The agent is left without enough context to call it safely.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It does: both parameters are explained with format and concrete examples ('mesh.primitive_cube_add', {'size': 2, 'location': [0,0,0]}). It adds useful meaning beyond the bare schema, though it could go further by listing common operator parameter conventions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool executes a bpy.ops operator by name, with verb ('Execute') and resource ('bpy.ops operator'). It gives a concrete example that distinguishes it from generic code execution, but it does not explicitly differentiate it from the many sibling tools or from execute_blender_code.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided about when to use this tool versus the many dedicated sibling tools (e.g., add_material, create_object). The description only covers arguments and does not mention that this is a low-level escape hatch for cases where no specific tool exists.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
save_blend_fileA
Save the current .blend file.
Args: filepath: Save path. If empty, saves to current location. copy: If True, save as copy (don't overwrite original).
| Name | Required | Description | Default |
|---|---|---|---|
| copy | No | ||
| filepath | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of disclosing behavior. It does disclose the overwrite implication through 'copy: If True, save as copy (don't overwrite original)', which is valuable. However, it does not explicitly state that copy=False may overwrite the original file, nor mention what happens to the current file path when a new filepath is provided.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise and well-structured. The first sentence states the core purpose, and the Args block adds only necessary parameter semantics. Every word earns its place with no fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple save tool with two optional parameters and no output schema, the description is mostly complete: it explains the operation, the save path behavior, and the non-overwrite option. Minor gaps remain around explicit overwrite behavior and return value, but they do not substantially hinder correct usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. The Args section adds real meaning beyond the bare schema: it explains that filepath defaults to the current location when empty and that copy=True prevents overwriting the original. This covers both parameters effectively.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific verb and resource: 'Save the current .blend file.' It is unambiguous about what the tool operates on. However, it does not explicitly differentiate itself from siblings like export_file or open_blend_file, though the meaning is still clear.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided about when to use this tool versus alternatives such as export_file, import_file, or merge_blend_file. The description only explains parameter behavior, leaving the agent to infer usage context from the tool name and current state.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scale_objectA
Scale an object by factors, or set absolute scale.
Args: name: Object name. x, y, z: Scale factors (1.0 = no change). Used when scale is not given. scale: Optional [sx, sy, sz] — sets the scale absolutely instead of multiplying.
| Name | Required | Description | Default |
|---|---|---|---|
| x | No | ||
| y | No | ||
| z | No | ||
| name | Yes | ||
| scale | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It does disclose the key distinction between multiplying current scale via x/y/z and setting absolute scale via the scale parameter, which is useful. However, it omits prerequisites such as object existence, side effects on children or origin, and any return or error behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded with the core operation. The compact args list conveys every necessary parameter detail without repeating schema titles or adding filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-mode transform tool with no output schema, the essential invocation details are all present. It does not mention return values, errors, or the need for an existing object, but nothing suggests the agent would be unable to invoke the tool correctly based on this description.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must supply all parameter meaning, and it does. It explains name, x/y/z as scale factors with 1.0 meaning no change, the precedence relationship between x/y/z and scale, and the expected [sx, sy, sz] format for absolute scale.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and resource ('Scale an object') and clearly distinguishes two modes: multiplicative factors versus absolute scale. It is clear enough to separate from move_object and rotate_object, though it does not explicitly address the overlap with set_object_transform.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given about when to prefer this tool over siblings like set_object_transform or apply_transform. The only usage-related note ('Used when scale is not given') concerns parameter precedence, not tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
select_objectsA
Select one or more objects by name.
Args: names: List of object names to select. replace: If True, deselect all others first.
| Name | Required | Description | Default |
|---|---|---|---|
| names | Yes | ||
| replace | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses the replace parameter behavior ('deselect all others first'), which implies additive selection when replace is False, but it does not cover invalid names, return values, or error handling. This is adequate for a simple selection tool but not comprehensive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and front-loaded with the core action, followed by clear parameter semantics. No extraneous words or redundancy; the structure is efficient and easy to scan.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter tool with no output schema and no annotations, the description covers the essential selection behavior, but it omits return value, error behavior, and when to prefer this over sibling tools like batch_select. It is adequate but has clear informational gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description must compensate, and it does. It explains that names is a list of object names and that replace controls deselection of existing selection, adding real meaning beyond the schema's bare property titles.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool selects one or more objects by name, with a specific verb and resource. It does not explicitly differentiate from sibling tool batch_select, but the 'by name' qualifier makes the purpose sufficiently distinct.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied: use this tool when you need to select objects by name. The description provides no explicit when-to-use guidance or comparison to alternatives like batch_select, so it only meets the baseline implied-usage level.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
separate_by_looseC
Separate a mesh into disconnected parts.
Args: object_name: Object to separate.
| Name | Required | Description | Default |
|---|---|---|---|
| object_name | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full responsibility for behavioral disclosure. It only states the action and parameter, but does not reveal side effects (e.g., whether the original mesh is replaced, if new objects are created, or if the operation is destructive). It also does not mention any state requirements (e.g., selected object, edit mode). This is a significant gap for a mesh-modifying operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, consisting of a single purpose sentence and a short Args block. It is front-loaded with the action, and the structure is clean. While it could include more detail, it is appropriately sized for a simple one-parameter tool and avoids unnecessary verbosity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the absence of annotations and an output schema, the description is incomplete for an agent to fully understand the tool's behavior. It does not explain what happens after separation (e.g., whether objects are renamed, selected, or if the tool returns a list). For a mutation tool, this level of context is insufficient, leaving the agent to guess about side effects and expected results.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It only restates the parameter name and a terse explanation ('Object to separate'), adding no additional detail about valid values, naming conventions, or constraints. It does not clarify whether the object must be a mesh or if the name refers to the object in the scene. The description adds minimal value beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the operation: 'Separate a mesh into disconnected parts.' It specifies the verb (separate) and the resource (mesh), and distinguishes from the sibling 'separate_by_material' by focusing on disconnected parts rather than materials. This is precise and unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like separate_by_material. It does not mention prerequisites (e.g., must be in edit mode) or any contextual conditions. The name implies 'loose' but the description does not clarify when separation by loose parts is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
separate_by_materialB
Separate a mesh object into parts by material assignment.
Args: object_name: Object to separate.
| Name | Required | Description | Default |
|---|---|---|---|
| object_name | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description carries the full burden of behavioral disclosure. It only says 'Separate a mesh object into parts' but does not state whether this is destructive, what happens to the original object, whether the object must be selected, or what the scene result will be. For a mutating operation this is a significant gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core purpose and has zero filler. The single parameter is explained in a compact, readable Args block. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations, no output schema, and a mutating operation, the description is too thin. It omits important operational context such as whether the original object is deleted or kept, whether parts become separate objects, and how this tool relates to separate_by_loose. An agent has enough to guess the intent but not enough to predict the tool's full effect.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. The Args line explains that object_name is 'Object to separate', which adds a little meaning beyond the schema title 'Object Name', but it does not clarify that it must be a mesh object, that it must have material assignments, or how the name is resolved. The compensation is minimal.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb and resource: 'Separate a mesh object into parts by material assignment.' It clearly identifies what the tool does and distinguishes it from the sibling separate_by_loose by specifying the separation criterion.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'by material assignment' implies when to use it, but the description never explicitly says when not to use it or names alternatives such as separate_by_loose. Usage context is implied rather than stated, leaving the agent to infer the right choice from the sibling list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_animation_cyclicB
Make an object's animation loop cyclically.
Args: object_name: Target object. cyclic: True to loop, False to stop.
| Name | Required | Description | Default |
|---|---|---|---|
| cyclic | No | ||
| object_name | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses the core behavior and the effect of the boolean parameter: True loops, False stops. However, with no annotations and no output schema, it does not state whether the object must already have animation data, whether toggling is destructive, or what the tool returns.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and well-structured: a one-sentence action statement followed by a short Args block. There is no filler, repetition, or irrelevant detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter setter this is mostly adequate, but it omits prerequisites, error/return behavior, and any note about interaction with existing animation settings. Because annotations are absent and there is no output schema, a bit more context would improve safe autonomous use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the Args section provides the necessary meaning: object_name targets the object, and cyclic maps directly to loop/stop behavior. The explanations are concise and sufficient for the two simple parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Make an object's animation loop cyclically') and the resource it affects. It is specific enough to be distinguished from sibling animation tools like set_animation_range or set_keyframe, though it does not explicitly name or contrast alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance about when to use this tool versus alternatives, no mention of prerequisites, and no exclusions. The intended usage must be inferred solely from the action description and parameter names.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_animation_rangeB
Set the animation playback range.
Args: start_frame: Start frame. end_frame: End frame. frame_step: Step between frames.
| Name | Required | Description | Default |
|---|---|---|---|
| end_frame | No | ||
| frame_step | No | ||
| start_frame | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It only states the action and lists parameter names. It does not mention whether the range applies to the active scene, if it overwrites existing settings, or any side effects. For a mutation tool, this is insufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise, with the core action stated first and parameters listed clearly. No unnecessary words or repetition. It is well-structured and front-loaded, but this conciseness contributes to the lack of depth noted elsewhere.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple setter with three parameters and no output schema, the description still lacks essential context. It does not explain what 'playback range' affects (e.g., viewport vs render), nor does it guide the agent on when this tool is appropriate. The absence of usage guidance and behavioral details makes it incomplete for confident invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description provides one-line glosses for each parameter ('Start frame.', 'End frame.', 'Step between frames.'), which adds meaning beyond the schema's property titles. However, it doesn't elaborate on units, inclusivity, or constraints. Since schema description coverage is 0%, the description must compensate, and it barely does.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Set the animation playback range.' This is a specific verb+resource that distinguishes it from siblings like set_animation_cyclic (cyclic behavior) and go_to_frame (jump to a frame). The purpose is unambiguous and does not require the schema to be understood.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus siblings such as go_to_frame or set_animation_cyclic. There is no mention of prerequisites, exclusions, or alternative tools. The agent has to infer when this is appropriate, which is a significant gap given the many animation-related tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_bezier_easingA
Set bezier interpolation with auto-clamped handles on all keyframes.
Produces smooth ease-in and ease-out on every keyframe of the object.
Args: object_name: Target object.
| Name | Required | Description | Default |
|---|---|---|---|
| object_name | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavioral traits. It does state that it applies to 'all keyframes' and uses 'auto-clamped handles', which conveys important behavior. However, it does not mention prerequisites (e.g., object must already have keyframes) or side effects (e.g., it overwrites existing interpolation). The description is not misleading but is incomplete for a tool with no annotation cover.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise: two sentences and an Args section. The main action is front-loaded ('Set bezier interpolation...'), followed by the effect. No unnecessary words or repetition. It is well-structured and easy to scan.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with one parameter, the description covers the core action and effect. However, it lacks details about prerequisites (existing keyframes), behavior when no keyframes exist, and any return value (no output schema). While an agent might infer these from the description, explicit clarification would improve completeness. The description is adequate but not rich.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has one parameter with no description (0% coverage). The description provides a minimal clarification: 'object_name: Target object.' This adds some meaning but does not specify what kind of object is expected, whether it must have existing keyframes, or any constraints. For a single parameter, the description is barely adequate but does not fully compensate for the schema's lack of detail.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the specific action: 'Set bezier interpolation with auto-clamped handles on all keyframes.' It also explains the effect (smooth ease-in and ease-out), which makes the tool's purpose understandable. However, it does not explicitly differentiate from siblings like set_interpolation, though the 'bezier' and 'auto-clamped' details make it distinct.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use this tool by noting it produces smooth ease-in/ease-out on all keyframes, giving context on its intended effect. However, it does not explicitly state when not to use it or mention alternatives, such as set_interpolation, which might be more appropriate for other interpolation types. There is no guidance on selecting between this and sibling animation tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_camera_framingA
Adjust camera position relative to a target without recreating it.
Useful for re-framing or adjusting composition.
Args: camera_name: Camera to adjust. target_name: Object to frame. distance: New distance from target. height_offset: New height offset. angle_offset: New horizontal angle.
| Name | Required | Description | Default |
|---|---|---|---|
| distance | No | ||
| camera_name | No | StudioCam | |
| target_name | No | ||
| angle_offset | No | ||
| height_offset | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses that the operation adjusts an existing camera 'without recreating it' and states the effect (re-framing/composition). However, it does not cover side effects such as whether the camera is moved absolutely or relatively, what happens if target_name is empty, or whether existing camera settings are overwritten.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded: the core action and scope appear in the first sentence, and the Args list is short. The 'Useful for re-framing' sentence adds use context without being bloated. No unnecessary detail or repetition beyond that.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no annotations, no output schema, zero schema description coverage, and five ambiguous optional parameters, this description is under-specified. It does not define units or reference frames, does not explain the role of defaults (all fields optional), and gives no guidance on required preconditions such as an existing camera or non-empty target. An agent could invoke it with plausible but incorrect parameter semantics.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the Args list must compensate. It adds a little meaning: distance is 'from target' and angle is 'horizontal,' which goes beyond the bare property names. But the explanations remain shallow and ambiguous—'height_offset' and 'angle_offset' do not specify their reference frame or whether they are absolute/delta values—so the description only partially fills the schema gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Adjust'), resource ('camera position'), and relation ('relative to a target'), and adds that it does not recreate the camera, which separates it from create_camera. It does not explicitly distinguish itself from other camera-adjustment siblings such as configure_camera or set_camera_to_view, but the framing/target-specific language makes the core purpose clear.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives a clear use context: 'Useful for re-framing or adjusting composition.' This tells an agent when to consider the tool. It stops short of naming alternatives or stating when not to use it (e.g., when creating a new camera or setting the viewport camera), so no explicit exclusions are present.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_camera_to_viewA
Position camera to frame the current viewport or a specific object.
Args: name: Camera name (empty = active camera). target_name: Object to frame (empty = all visible). distance: Distance from target.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | ||
| distance | No | ||
| target_name | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral burden. It discloses some useful behavior, such as empty name meaning active camera and empty target meaning all visible objects. However, it does not mention side effects, whether existing camera animation is overwritten, or what the tool returns after execution.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and efficient. The opening sentence states the purpose, and the three arg lines are minimal and informative with no filler or redundant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the core invocation details and parameter semantics, making it minimally viable. However, with no output schema and no annotations, it leaves gaps such as measurement units for distance, behavior when no active camera exists, and whether distance applies in the 'all visible' case. It also does not clarify how it relates to similar camera-framing sibling tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, but the description fully compensates by explaining all three parameters including the important empty-value behaviors: 'name: Camera name (empty = active camera)', 'target_name: Object to frame (empty = all visible)', and 'distance: Distance from target.' This adds meaning well beyond the bare schema defaults.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear action and resource: 'Position camera to frame the current viewport or a specific object.' This conveys the tool's purpose well. However, it does not explicitly distinguish itself from similar sibling tools like set_camera_framing or setup_studio_camera, so it stops short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage through its action statement and parameter explanations, but it never explicitly says when to prefer this tool over alternatives. There are no exclusion criteria or references to sibling tools, leaving the agent to infer the intended use case.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_collection_visibilityC
Toggle collection visibility in viewport.
Args: collection_name: Collection name. visible: Show or hide.
| Name | Required | Description | Default |
|---|---|---|---|
| visible | No | ||
| collection_name | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It adds the useful scope 'in viewport,' which indicates this is viewport-only and not render visibility, but it omits behavior such as the effect on child objects, whether the change persists, or what happens if collection_name does not exist. The word 'toggle' also conflicts with the schema's default of visible=true, since omitting visible always shows the collection rather than toggling it.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded with the main purpose, followed by a clear Args list. Every line is relevant and there is no filler, though the brevity comes at the cost of important behavioral details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with no annotations and no output schema, the description is too thin. It does not clarify the default-true behavior, how this differs from set_object_visibility, or the consequences of hiding a collection. An agent would need to infer too much about the expected invocation and side effects.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate for the schema's lack of explanation. 'collection_name: Collection name' is essentially tautological, and 'visible: Show or hide' adds minimal meaning beyond the parameter name and type. It does not explain the default behavior of visible or its relationship to the misleading 'toggle' wording.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'Toggle collection visibility in viewport.' This clearly identifies the tool as operating on collections, which distinguishes it from sibling tools like set_object_visibility. The word 'toggle' is somewhat imprecise because the tool sets visibility to a given boolean rather than flipping the current state.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given about when to use this tool versus alternatives such as set_object_visibility or batch_visibility. The description implies 'use this to show or hide a collection in the viewport,' but it does not state exclusions, prerequisites, or when a different sibling tool would be more appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_curve_fillB
Set curve fill mode.
Args: curve_name: Curve object name. fill: FULL, HALF, or NONE.
| Name | Required | Description | Default |
|---|---|---|---|
| fill | No | FULL | |
| curve_name | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It lists valid fill values but does not mention side effects, whether the curve must already exist, whether the change is reversible, or what happens on invalid input. For a mutating setter, this is a meaningful gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise: a one-line action followed by a compact Args list. Every sentence is informative, and the main action is front-loaded with no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter setter, the description is mostly adequate, but with no annotations or output schema it omits usage context and the visual/behavioral meaning of the fill modes. It also does not mention the schema default of FULL, though that is available in the schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 0% description coverage, so the description is the only source of parameter meaning. It explains curve_name as the curve object name and lists the allowed fill values FULL, HALF, or NONE, which the schema does not enumerate. It does not define what each fill mode means visually, but it provides enough to construct a valid call.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Set') and resource ('curve fill mode'), and the Args list clarifies the target curve and fill value. It is clear, but it does not differentiate this tool from sibling tools such as set_interpolation or edit_curve_points.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives, no mention of prerequisites, and no indication of when it should be preferred over other curve-related tools. The description only states what the tool does, not when to choose it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_custom_normalsB
Set custom split normals for precise shading control.
Args: object_name: Target mesh object. normals: List of [x, y, z] normal vectors (one per loop). angle: Auto-smooth angle in radians.
| Name | Required | Description | Default |
|---|---|---|---|
| angle | No | ||
| normals | No | ||
| object_name | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must carry the full burden of behavioral disclosure. It does not mention that the tool modifies the mesh, overwrites existing normals, or has any prerequisites (e.g., the object must be a mesh). It also does not describe potential side effects or error conditions like mismatched normal counts. The description is purely functional with no transparency about side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise: a single purpose line followed by a parameter list. It is front-loaded with the main intent and wastes no words. The structure is clean and immediately scannable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (modifying mesh normals), the absence of annotations and output schema, and the fact that normals are a nuanced topic, the description is insufficient. It explains what the tool does and lists args, but does not cover prerequisites, behaviors, error handling, or how it differs from similar normal-editing tools. An agent could easily misuse it (e.g., providing an incorrect number of normals) without more context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must explain the parameters, and it does provide brief explanations: 'object_name' as target, 'normals' as list of [x,y,z] vectors 'one per loop', and 'angle' as radians. However, it fails to define what a 'loop' is, how many normals are required (e.g., per face, per vertex), or the relationship between normals and the mesh topology. It adds some meaning but leaves critical ambiguities.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Set custom split normals') and the purpose ('for precise shading control'). It names a specific resource (custom split normals) that distinguishes it from siblings like flip_normals or recalculate_normals, which operate on existing normals rather than setting custom ones.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives like recalculate_normals or flip_normals. The phrase 'precise shading control' hints at the use case, but it does not state when custom normals are warranted or when other normal tools are more appropriate. Lacks exclusions or clear context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_custom_propertyA
Set a custom property on an object or bone.
Custom properties store user-defined data — useful for rig controls, material parameters, animation drivers, or any metadata.
Args: object_name: Target object (or empty if using bone). bone_name: Target bone (with armature_name). armature_name: Armature containing the bone. property_name: Name of the custom property. value: Property value. min_value: Minimum allowed value. max_value: Maximum allowed value. description: Property description.
| Name | Required | Description | Default |
|---|---|---|---|
| value | No | ||
| bone_name | No | ||
| max_value | No | ||
| min_value | No | ||
| description | No | ||
| object_name | No | ||
| armature_name | No | ||
| property_name | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It explains the object-vs-bone target selection but does not state whether an existing property is overwritten, whether min/max values are enforced, what error conditions apply, or what the tool returns after setting the property.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the action in the first sentence bun then gives a brief use-case rationale and a compact Args list. No filler or redundant prose; it is proportionally sized for a tool with 8 parameters.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An agent can likely invoke the tool correctly because target rules and all parameter names are documented. However, the absence of an output schema, annotations, and any statement about return values or overwrite behavior leaves important gaps for a mutating operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the Args section compensates by documenting all 8 parameters. It adds useful relationships, especially that bone_name is used with armature_name and object_name should be empty when targeting a bone. Some entries like 'value: Property value' are minimal, but the critical dependency semantics are present.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb ('Set') and a clear resource ('custom property') with two target modes: object or bone. This distinguishes it from related siblings like get_custom_property and set_material_property without needing to open schemas.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The use-case sentence ('useful for rig controls, material parameters, animation drivers, or any metadata') implies when custom properties are useful, but it never explicitly contrasts this tool with alternatives such as get_custom_property or set_material_property. There is no when-not-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_fpsB
Set the scene frame rate.
Args: fps: Frames per second (1-1000).
| Name | Required | Description | Default |
|---|---|---|---|
| fps | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavioral traits. It only says 'Set the scene frame rate' without explaining side effects, required scene state, whether it affects playback or rendering, or if it is destructive. The agent has no information about potential impacts on existing animations, keyframes, or render settings, which is a significant gap for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise: a single sentence for the purpose and a single-line parameter description. It is front-loaded and contains no filler. While it could be structured more richly, it is appropriately sized for a one-parameter tool and avoids unnecessary detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is sufficient to call the tool with the correct parameter, but it does not explain what the frame rate affects in the broader scene context (e.g., animation timing, render output). Given the tool's simplicity and lack of output schema, it is minimally adequate, but the lack of clarification on the setting's impact and relationship to other animation tools makes it incomplete for an agent operating in a large tool suite.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has no description for the fps parameter (coverage 0%), so the description compensates by explaining its meaning and providing a valid range (1-1000). This adds value beyond the schema's basic type and default. However, it does not elaborate on the parameter's effect (e.g., whether it sets playback speed or render output rate), so it is helpful but not exhaustive.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (Set) and the specific resource (scene frame rate). It is distinct from siblings like set_animation_range or set_interpolation because it uniquely targets the frames-per-second setting. The phrasing 'Set the scene frame rate' is specific and avoids tautology, though it could be slightly more explicit about the context (animation vs render).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus alternatives. There is no mention of scenarios where set_fps is preferred, nor any exclusions (e.g., 'use set_animation_range for start/end frames'). The description implies usage only by stating the purpose, but does not help the agent differentiate from many closely related animation tools in the sibling list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_interpolationB
Set keyframe interpolation mode for an object's animation.
Args: object_name: Target object. interpolation: CONSTANT, LINEAR, BEZIER, etc. easing: AUTO, EASE_IN, EASE_OUT, EASE_IN_OUT.
| Name | Required | Description | Default |
|---|---|---|---|
| easing | No | AUTO | |
| object_name | Yes | ||
| interpolation | No | BEZIER |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full responsibility for behavioral disclosure. It states it 'sets' the interpolation mode but does not disclose effects on existing keyframes, whether it modifies selected or all keyframes, if it is destructive, or any side effects. This is insufficient for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, with a clear opening sentence and a simple argument list. It avoids fluff and front-loads the primary action. Minor improvement would be formatting the args in a markdown list, but overall it is efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with no annotations and no output schema, the description lacks crucial context. It does not specify whether interpolation applies to all keyframes or selected ones, the exact allowed values, whether easing is only relevant for BEZIER, or the effect on existing animation. This leaves an agent uncertain about correct invocation and expected outcomes.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must compensate. It lists the three parameters and gives example values for interpolation (CONSTANT, LINEAR, BEZIER, etc.) and easing (AUTO, EASE_IN, EASE_OUT, EASE_IN_OUT). This adds meaning beyond the schema's types and defaults, though it doesn't explain the semantics of each value or how they interact, and 'etc.' is vague.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the tool sets keyframe interpolation mode for an object's animation, which is a specific verb and resource. It distinguishes from siblings like set_keyframe (adding keyframes) and set_bezier_easing (setting easing specifically), though it doesn't explicitly contrast them. It could be more specific about whether it applies to all keyframes or selected ones, but the core purpose is clear.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no explicit guidance on when to use this tool vs alternatives. It implies usage by stating its function, but does not mention scenarios where other tools like set_bezier_easing or set_keyframe would be preferred, nor any exclusions. An agent would have to infer from the name and context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_keyframeC
Insert keyframes for an object.
Args: object_name: Target object. frame: Frame number (None = current frame). location: Keyframe location. rotation: Keyframe rotation. scale: Keyframe scale. property_name: Optional custom property to keyframe.
| Name | Required | Description | Default |
|---|---|---|---|
| frame | No | ||
| scale | No | ||
| location | No | ||
| rotation | No | ||
| object_name | Yes | ||
| property_name | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the action ('Insert keyframes') but does not disclose whether existing keyframes are overwritten, whether the operation is destructive, whether it requires the object to be animated or have an action assigned, or what happens when property_name is empty. For a mutation tool with zero annotation coverage, this is a significant gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded with the main action, followed by a parameter list. However, the parameter list is redundant with the input schema (which already provides names, types, and defaults), and the one-line parameter explanations are terse to the point of being ambiguous. It is not bloated, but it does not earn full credit for structure because it leans on a schema that lacks descriptions.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 6-parameter tool with no annotations, no output schema, and 0% schema description coverage, the description is incomplete. It does not explain the boolean flag semantics, the meaning of an empty property_name, the relationship between frame=None and the current frame, or the effect of setting multiple flags at once. An agent would likely need to guess or experiment to call this tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It lists parameter names and one-line meanings ('Frame number (None = current frame)', 'Keyframe location'), but it does not explain the boolean semantics of location/rotation/scale (e.g., whether true means 'insert a keyframe for this channel'), nor how property_name interacts with the other flags. The description adds minimal value beyond the schema's property names and defaults.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'Insert keyframes for an object.' It clearly identifies the action (inserting keyframes) and the target (an object), and the parameter list enumerates what can be keyframed (location, rotation, scale, custom property). It is distinguishable from siblings like delete_keyframe and set_interpolation, though it does not explicitly name them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage context: it is for inserting keyframes on an object, and the parameter list indicates which transform channels can be keyframed. However, it does not explicitly state when to use this tool versus alternatives like set_interpolation, go_to_frame, or set_animation_range, nor does it mention prerequisites such as the object needing to exist or be selected.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_material_propertyB
Set a property on a material's Principled BSDF node.
Args: material_name: Target material. property_name: Node input name (e.g., 'Base Color', 'Metallic', 'Roughness'). value: The value to set.
| Name | Required | Description | Default |
|---|---|---|---|
| value | Yes | ||
| material_name | Yes | ||
| property_name | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It does not state whether the Principled BSDF node is created if missing, whether existing values are overwritten, how the value is interpreted for different property types, or what side effects occur on materials already assigned to objects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded with the core purpose, followed by a minimal Args section. Every line earns its place and there is no redundant or promotional language.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no annotations and no output schema, the description is incomplete. It omits value formatting rules, behavior when the node or material is missing, property name constraints, and any error or return behavior. An agent would likely need to guess about value serialization.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It adds useful meaning: material_name is the target material, property_name is a node input name with examples like 'Base Color', and value is the value to set. However, it does not explain how to encode complex values such as colors or floats, which is critical for a string-typed value parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'Set a property on a material's Principled BSDF node.' This clearly distinguishes it from sibling tools like set_shader_node_value, which targets arbitrary shader nodes, and configure_*_material tools, which configure whole material presets.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no guidance on when to use this tool versus alternatives. It does not mention set_shader_node_value, configure_display_material, or create_material, nor does it state any exclusions or prerequisites. The usage context is only implied by the operation name and purpose.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_object_transformA
Set world/local transform of an object. Only provided channels are modified.
Args: name: Object name. location: [x, y, z] position. rotation: [x, y, z] Euler rotation in radians. scale: [x, y, z] scale factors. space: WORLD or LOCAL coordinate space.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| scale | No | ||
| space | No | WORLD | |
| location | No | ||
| rotation | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses a key behavior: 'Only provided channels are modified,' which prevents accidental overwriting of unspecified channels. It also specifies that rotation is in radians and that space can be WORLD or LOCAL. However, it does not mention potential side effects (e.g., effect on children, absolute vs relative positioning) or error conditions, leaving some ambiguity for an agent. Still, it covers the most critical behavioral detail.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise and well-structured. It opens with the core purpose in one sentence, then provides a compact args list that is immediately readable. There is no fluff, and every sentence earns its place. The front-loaded summary and organized parameter explanations make it easy for an agent to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no output schema, this description is fairly complete. It explains the input parameters and the key behavior of selective modification. It does not mention return values or error handling, but those are often implicit for such operations. Given the complexity of the tool (5 parameters, space selection) and the lack of annotations, it provides enough context for an agent to call it correctly. The only missing piece is clarification on absolute vs. relative transforms or effects on child objects, but these are not critical for basic usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description includes an 'Args' section that explains each parameter: name (object name), location ([x,y,z] position), rotation ([x,y,z] Euler rotation in radians), scale ([x,y,z] scale factors), and space (WORLD or LOCAL). This adds meaning beyond the raw schema, which only provides types and defaults. It clarifies the format and units, which is essential given the schema has no descriptions (0% coverage). It covers all five parameters adequately.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: 'Set world/local transform of an object' with a specific resource (an object) and the ability to modify multiple transform channels at once. It also notes 'Only provided channels are modified,' which distinguishes it from single-purpose siblings like move_object, rotate_object, and scale_object. This is precise and unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use it (when you need to set one or more transform properties in a single call, possibly in world or local space) but does not explicitly mention alternatives or exclusions. For example, it doesn't say 'for moving only, use move_object.' However, the existence of sibling tools like move_object and rotate_object makes the context clear enough, but the lack of explicit routing prevents a higher score.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_object_visibilityB
Set object viewport and/or render visibility.
Args: name: Object name. visible: Viewport visibility. hide_render: Render visibility.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| visible | No | ||
| hide_render | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It states that it 'sets' visibility, implying a mutation, but does not explain whether it overwrites existing settings, the effect of omitted parameters (defaults), or any side effects. The description is too sparse to fully inform the agent of behavioral traits beyond the obvious action.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is exceptionally concise, consisting of a single sentence plus a short Args list. It is front-loaded with the core purpose and contains no extraneous words. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple three-parameter setter with no output schema, the description is largely adequate. However, it lacks any usage context, such as when to prefer this over batch_visibility or set_collection_visibility, and it doesn't mention that visibility changes are reversible. Given the low complexity, it is minimally complete but not thorough.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has zero description coverage, but the Args section adds brief clarifications: 'visible' is viewport visibility and 'hide_render' is render visibility. This goes slightly beyond the schema titles and helps disambiguate the meaning of hide_render. However, the 'name' parameter is merely restated as 'Object name,' adding no depth. Overall, it provides minimal added value over the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('set') and the resource ('object viewport and/or render visibility'). It distinguishes itself from sibling tools like set_collection_visibility by explicitly scoping to objects. The action and target are unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided about when to use this tool versus alternatives such as batch_visibility or set_collection_visibility. There is no mention of exclusions or preferred contexts, leaving the agent to infer usage from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_originB
Set the origin of an object.
Args: name: Object name. origin_type: GEOMETRY, CURSOR, CENTER_OF_MASS, or CENTER_OF_VOLUME.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| origin_type | No | GEOMETRY |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses only that the origin is set, but does not explain behavioral implications such as effects on transforms, pivot points, children, or whether the operation is destructive or reversible. This is minimal for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded with the core action. The Args block is clear and wastes no words. It could be slightly richer with usage nuance, but as written it is concise without being under-specified.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations, no output schema, and a mutation operation, the description is incomplete. It does not mention prerequisites (object exists), what the operation affects, or how errors are handled. An agent would need to infer basic assumptions about Blender object origins.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With schema description coverage at 0%, the description must explain the parameters, and it does: name is 'Object name' and origin_type lists the four allowed values (GEOMETRY, CURSOR, CENTER_OF_MASS, CENTER_OF_VOLUME). This adds real meaning beyond the raw schema, though it omits the default value and deeper semantics of each origin type.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'Set the origin of an object.' This is clear and distinct from most sibling tools like move_object or rotate_object, though it does not explicitly differentiate from batch_set_origin or mention singular vs batch scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool over alternatives like batch_set_origin, align_object, or snap_to_cursor. The description simply states what it does, with no context, exclusions, or references to related tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_scene_propertyB
Set a scene-level property (e.g., frame_start, frame_end, fps, render_engine).
Args: property_name: The property to set (e.g., 'frame_start', 'render_resolution_x'). value: The value to set.
| Name | Required | Description | Default |
|---|---|---|---|
| value | Yes | ||
| property_name | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must fully disclose behavior. It only says 'Set', implying mutation, but doesn't mention whether values are validated, if errors are raised, if the operation is reversible, or what happens on invalid property names. This is a significant gap for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded with the purpose, then lists the args. It repeats parameter names from the schema but adds useful examples. No fluff, though it could be more informative without becoming verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a generic setter with no annotations and no output schema, an agent needs to know behavior on invalid inputs, whether the tool returns confirmation, and how it relates to more specific tools. This description provides none of that, leaving the agent to guess. It's minimally sufficient for a trivial call but lacks important context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must compensate. It provides examples for property_name ('frame_start', 'render_resolution_x') and shows value can be multiple types, but it doesn't enumerate valid properties or constraints. It adds some meaning beyond the bare schema but not enough to fully cover the 0% description gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Set' and the resource 'scene-level property', with concrete examples like frame_start and fps. It distinguishes from siblings like set_fps or set_animation_range by being generic, but it doesn't explicitly contrast them, so it misses full differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied from the generic nature of the tool – it's for any scene property, not just those with dedicated tools. However, there is no explicit guidance on when to prefer this over alternatives like set_fps or configure_render, and no exclusions are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_sculpt_symmetryB
Configure sculpt symmetry settings.
Args: axis_x: Mirror on X axis. axis_y: Mirror on Y axis. axis_z: Mirror on Z axis. mirror: Enable mirroring.
| Name | Required | Description | Default |
|---|---|---|---|
| axis_x | No | ||
| axis_y | No | ||
| axis_z | No | ||
| mirror | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It only lists parameter meanings but does not explain any side effects, such as whether existing symmetry settings are overwritten, or if the tool requires sculpt mode. No mention of response behavior or errors.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise, with a clear opening sentence and a list of arguments. It is front-loaded and contains no filler. The structure is efficient, though it could be slightly more organized with descriptions directly attached to parameters, but it is appropriately sized.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple (4 booleans) and the description covers the basic action and parameters. However, it omits critical context such as which object the symmetry applies to, whether sculpt mode is required, and any relation to the active sculpt object. This is a gap that an agent would need to infer.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It provides brief explanations for each parameter ('Mirror on X axis.'), which adds some meaning beyond the schema titles. However, the explanations are minimal and do not elaborate on the interaction between parameters or defaults.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Configure sculpt symmetry settings.' It uses a specific verb and resource, and it uniquely identifies the symmetry configuration task, distinguishing it from all sibling tools since no other tool mentions symmetry.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives or any prerequisites. There is no mention of needing to be in sculpt mode or that it applies to the active object. The description only states what it does, not when or how to use it in context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_shader_node_valueB
Set the value of a shader node input.
Args: material_name: Target material. node_name: Node name/label. value: Value to set.
| Name | Required | Description | Default |
|---|---|---|---|
| value | Yes | ||
| node_name | Yes | ||
| material_name | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description carries the full burden of behavioral disclosure. It only states the basic mutation and does not mention value encoding, side effects, failure behavior, or whether the operation is destructive or reversible.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core action and followed by a compact, scannable Args block. There is no filler or redundant prose; every line is short and contributes to the overall structure.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 3-required-parameter mutation tool with no annotations and no output schema, this description is incomplete. An agent needs to know how to format the value string and what preconditions apply, but neither is provided.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description must compensate, but it only gives minimal one-line glosses. 'value: Value to set' is circular, and it does not explain how to encode numbers, colors, vectors, or other shader input types as strings.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'Set the value of a shader node input.' This clearly differentiates it from sibling tools like add_shader_node and connect_shader_nodes, which create or wire nodes rather than modify an input value.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given about when to use this tool versus alternatives such as set_material_property or connect_shader_nodes. The agent must infer the intended use solely from the name and one-line purpose, with no mention of prerequisites like the material or node already existing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_shape_key_valueB
Set the value of a shape key to control morphing.
Args: object_name: Target mesh object. key_name: Name of the shape key. value: Morph value (0.0 = base, 1.0 = full morph).
| Name | Required | Description | Default |
|---|---|---|---|
| value | No | ||
| key_name | Yes | ||
| object_name | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. The description explains the value range semantics but doesn't disclose what happens if the shape key doesn't exist, whether the operation is destructive/reversible, or whether it requires the object to be a mesh. It also doesn't mention if the change is immediately visible or requires a viewport update.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded with the core purpose. The Args section is minimal and each line earns its place. The value semantics explanation is useful and not redundant with the schema. It could be slightly more structured but is appropriately sized for a simple setter tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple setter tool with 3 parameters and no output schema, the description covers the essential purpose and value semantics. However, it lacks context about error conditions (e.g., missing shape key), whether the object must be a mesh, and how this relates to the animation workflow. Given the tool's simplicity, this is adequate but not complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It does explain the 'value' parameter's semantics (0.0 = base, 1.0 = full morph), which adds meaning beyond the schema. However, it only restates the names of object_name and key_name without adding context about what constitutes a valid key_name or how to find it. The description partially compensates but leaves gaps.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Set the value of a shape key to control morphing.' This is a specific verb+resource combination that distinguishes it from siblings like add_shape_key and remove_shape_key. However, it doesn't explicitly differentiate from other shape-key-related tools or mention that it operates on mesh objects, which is implied by the parameter description.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage context by explaining the morph value semantics (0.0 = base, 1.0 = full morph), which helps an agent understand when to use this tool. However, it doesn't explicitly state when to use this tool versus alternatives like add_shape_key or set_shader_node_value, nor does it mention prerequisites like the object needing to have a shape key already.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_studio_worldC
Set world background for studio environment.
Args: strength: Background strength (0.1 = subtle, 1.0 = bright). color: RGB background color.
| Name | Required | Description | Default |
|---|---|---|---|
| color | No | ||
| strength | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose the mutation and its side effects, but it only restates that the world background is set. It does not say whether this replaces the existing background, affects sky texture, or is reversible.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded, with no filler or repeated schema content. It earns its length for a two-parameter tool, though the brevity comes at the cost of missing behavioral context.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter setter it is minimally sufficient: the operation and both parameters are named. It is not complete because the color array format is ambiguous, there are no annotations, and it does not clarify the effect on an existing world or sky setup.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds a helpful strength range (0.1 subtle, 1.0 bright) and labels color as RGB, which the schema does not provide. It does not specify the exact array length or color value format, so it only partially compensates for the 0% schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The first sentence names a specific verb (set) and resource (world background) and adds studio context, so an agent can tell what it acts on. It does not explicitly distinguish itself from siblings such as setup_world_sky_texture, but the resource is clear enough for a 4.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to call this instead of a sibling such as setup_world_sky_texture or setup_studio_lighting, and no exclusions or prerequisites. 'For studio environment' implies one context but does not explain trade-offs.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
setup_camera_track_toA
Make a camera always point at a target object (Track To constraint).
Args: camera_name: Camera to constrain. target_name: Object to track.
| Name | Required | Description | Default |
|---|---|---|---|
| camera_name | Yes | ||
| target_name | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the transparency burden. It does disclose the core behavior (camera continuously points at the target by adding a Track To constraint), but it does not mention possible side effects such as whether an existing constraint is replaced, whether constraints stack, or what happens if the target name is invalid.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded: the purpose is stated in the first sentence, and the two parameters are listed clearly with their roles. No filler or redundant information is present.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter tool with no output schema and no annotations, the description covers the essential operation and parameter semantics. It does not detail error behavior or interaction with existing constraints, but these are minor gaps given the low complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the Args section in the description is necessary and does add meaning: it maps camera_name to the camera being constrained and target_name to the object being tracked. This is more informative than the bare property titles, though it stays close to what the names already imply.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action ('Make a camera always point at a target object') and names the exact constraint type ('Track To constraint'), so the tool's purpose is unambiguous. It is distinguishable from siblings such as configure_camera or add_object_constraint, though it does not explicitly name any alternative.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the use case: whenever a camera should constantly track a target object. It does not provide explicit when-to-use/when-not-to-use guidance or compare against sibling tools like setup_turntable_camera or add_object_constraint, so the guidance is only implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
setup_compositorC
Set up compositing nodes for post-processing.
Creates Render Layers → [custom nodes] → Composite + Viewer.
Args: nodes: List of node dicts: [{"type": "CompositorNodeGlare", "settings": {"glare_type": "FOG_GLOW"}}]
| Name | Required | Description | Default |
|---|---|---|---|
| nodes | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses that the tool creates Render Layers, custom nodes, Composite, and Viewer, which is useful, but it does not mention whether existing compositor nodes are cleared/replaced, whether the scene's compositing is enabled, or what happens on repeated calls. This is a significant gap for a setup-style tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded with the purpose, followed by a clear pipeline diagram and a concise parameter example. It earns its place with minimal waste, though the example could be slightly more detailed.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no annotations, no output schema, and a single complex parameter, the description is incomplete. It does not explain how the node list maps to connections, whether the tool replaces existing compositor setup, or how errors in node dicts are handled. An agent would likely need to guess at the exact node dict schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description provides only a brief example of the 'nodes' parameter. It explains the list-of-dicts format with one example but does not document the full range of node types, settings keys, or how nodes are ordered/connected. The description adds some meaning but does not compensate for the complete lack of schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Set up') and resource ('compositing nodes for post-processing'), and the pipeline diagram clarifies the intended structure. It is distinguishable from siblings like add_shader_node or connect_shader_nodes, though it doesn't explicitly name a sibling alternative.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for post-processing setup and shows the node chain, but it does not state when to use this tool versus alternatives like add_shader_node or connect_shader_nodes. There is no explicit when/when-not guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
setup_hdri_lightingB
Set up HDRI environment lighting.
Args: hdri_path: Path to HDRI file. If empty, uses a default gradient. strength: Environment strength. rotation: Rotation in radians.
| Name | Required | Description | Default |
|---|---|---|---|
| rotation | No | ||
| strength | No | ||
| hdri_path | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It adds one useful behavior (empty hdri_path uses a default gradient) and states rotation units, but it does not disclose whether the call replaces existing environment lighting, requires a world setup, or has side effects on the scene. For a mutating setup tool, this is a significant gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded with the core purpose, followed by a short parameter list. Every sentence serves a purpose with no filler or redundant restatement of the tool name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a three-parameter setup tool with no output schema and no annotations, the description covers parameters and one fallback behavior, which is minimally adequate. However, it omits expected side effects, whether it replaces existing environment lighting, and what kind of return or confirmation the agent can expect. These are material gaps for correct invocation in a larger workflow.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate, and it does for all three parameters: hdri_path's role and default fallback, strength as environment strength, and rotation in radians. Though strength is only minimally elaborated, the description adds meaningful semantics beyond the bare schema names and defaults.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific action and resource: 'Set up HDRI environment lighting.' This differentiates it from many siblings by name and resource, though it does not explicitly distinguish it from closely related tools like setup_world_sky_texture or setup_studio_lighting.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The verb 'Set up' and the resource 'HDRI environment lighting' imply the intended context, and parameter descriptions hint at usage (e.g., empty hdri_path selects a default gradient). However, there is no explicit guidance on when to choose this tool over alternatives, nor any mention of prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
setup_ik_chainC
Set up an IK (Inverse Kinematics) chain.
Args: armature_name: Target armature. chain_bones: List of bone names in the chain. pole_target: Pole target object name.
| Name | Required | Description | Default |
|---|---|---|---|
| chain_bones | Yes | ||
| pole_target | No | ||
| armature_name | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description carries the full burden of explaining behavior. It mentions that an IK chain is set up and lists arguments, but it does not disclose side effects, prerequisites, required modes, or what happens to the existing armature or constraints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and well-structured: a one-sentence purpose followed by a clean argument list. Every line adds necessary information, and the wording is free of extraneous detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutating tool with no annotations and no output schema, the description leaves important gaps. It does not explain prerequisites like an existing armature and bones, the role of the optional pole target, or what the expected result is. An agent can infer the basic call but not fully reason about consequences and failure conditions.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 0% description coverage, so the parameter descriptions in the tool text provide essential meaning. However, they are minimal: "Target armature" and "Pole target object name" add only slightly more than the schema titles, while "List of bone names in the chain" clarifies chain_bones. This is adequate but not thorough.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action and resource: "Set up an IK (Inverse Kinematics) chain." It clearly identifies the tool's purpose, but it does not differentiate it from sibling tools like add_bone_constraint or create_humanoid_rig, so it falls short of full sibling distinction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives, nor are prerequisites or exclusion conditions mentioned. The description only states what the tool does, leaving the agent to infer appropriate usage from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
setup_studio_3pointA
Set up 3-point studio lighting (key, fill, rim).
Works for products, characters, environments, portraits. Removes existing lights and creates optimized area lights.
Args: key_energy: Key light power in watts. fill_energy: Fill light power (typically 1/3 of key). rim_energy: Rim/back light power (typically 1/2 of key). key_color: RGB key light color. fill_color: RGB fill light color. rim_color: RGB rim light color. key_position: [x,y,z] position for key light. fill_position: [x,y,z] position for fill light. rim_position: [x,y,z] position for rim light. remove_existing: Remove existing lights first.
| Name | Required | Description | Default |
|---|---|---|---|
| key_color | No | ||
| rim_color | No | ||
| fill_color | No | ||
| key_energy | No | ||
| rim_energy | No | ||
| fill_energy | No | ||
| key_position | No | ||
| rim_position | No | ||
| fill_position | No | ||
| remove_existing | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the full burden of behavioral disclosure, and it does so well. It explicitly states that it removes existing lights—a destructive action—and reveals the default behavior through the remove_existing parameter (default true). It also discloses the output type ('optimized area lights'). Missing details like exact coordinate space or color ranges are minor, but the description clearly surfaces the most important behavioral traits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is tightly organized: purpose first, then behavior, then a well-grouped arguments list (energy, color, position). Each sentence and argument description earns its place, with no repetition of schema types or filler. The front-loading of purpose and behavior makes it easy for an agent to quickly decide whether to use the tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 10 unannotated parameters, no output schema, and a setup-focused task, the description covers all essential context: purpose, usage subjects, key behavior, and parameter meanings. Minor omissions—such as return value, exact color/position semantics, and coordinate space—are expected for this kind of tool and do not prevent correct invocation in most cases. A slightly richer description would be needed only for unusual lighting setups.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must provide parameter meaning on its own. It does: energy values are given in watts, fill and rim energies include recommended ratios (1/3 and 1/2 of key), colors are specified as RGB, positions are defined as [x,y,z] arrays, and remove_existing is explained. This is a strong compensation, though it falls slightly short of full clarity by not specifying color value ranges or coordinate origin.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and resource: 'Set up 3-point studio lighting (key, fill, rim).' It differentiates this tool from the generic setup_studio_lighting sibling by naming the three distinct light roles within the same sentence. The subsequent behavior—'Removes existing lights and creates optimized area lights'—further defines what the tool accomplishes, leaving no ambiguity about its function.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description lists explicit applicable subjects: 'Works for products, characters, environments, portraits.' This provides clear contextual guidance for when an agent should select this tool. While it does not explicitly name alternative tools or exclusions, the '3-point' specificity and subject coverage effectively communicate the intended use case, placing it slightly short of a perfect 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
setup_studio_cameraA
Set up camera for studio rendering of any subject.
Positions camera at 3/4 angle (front + side visible), slightly above eye level. Uses 85-100mm focal length for natural proportions. f/8 for full sharpness, f/2.8 for bokeh.
Works for products, characters, environments, portraits, anything.
Args: target_name: Object to point camera at (empty = world origin). camera_name: Name for the camera object. focal_length: Lens focal length in mm (85-100 recommended). fstop: Aperture f-stop (8-11 for full sharpness, 2.8 for bokeh). distance: Camera distance from target in meters. height_offset: Camera height above target (0 = eye level). angle_offset: Horizontal angle (0 = front, 1 = side).
| Name | Required | Description | Default |
|---|---|---|---|
| fstop | No | ||
| distance | No | ||
| camera_name | No | StudioCam | |
| target_name | No | ||
| angle_offset | No | ||
| focal_length | No | ||
| height_offset | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of behavioral disclosure. It does reveal the camera placement, lens preferences, and aperture outcomes. However, it does not disclose whether an existing camera is replaced, whether a new camera object is created, or whether the camera becomes the active scene camera, leaving important side effects undocumented.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well organized with a clear lead, a short behavioral overview, and a compact Args block. It loses a point because focal length and f-stop recommendations appear both in the prose and again in the Args section, creating minor redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the tool's purpose, camera framing, lens behavior, and all seven parameters with defaults and recommended values, which is enough for an agent to invoke it correctly. The main missing context is side effects around existing cameras and whether the camera is set as active, but the absence of an output schema and the strong parameter documentation keep this gap minor.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, but the Args section compensates fully. Every parameter gets meaningful semantics: target_name empty means world origin, angle_offset is explained as 0=front and 1=side, height_offset 0=eye level, and recommended ranges are given for focal_length and fstop. This is strong value beyond the raw schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool sets up a camera for studio rendering, with a specific verb and resource. It adds concrete detail about the 3/4 angle, focal length, and f-stop, making the purpose easy to grasp. It does not explicitly differentiate from siblings like setup_turntable_camera or configure_camera, so it misses the top score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies broad applicability by saying it works for 'products, characters, environments, portraits, anything' and is for studio-style shots. However, it provides no explicit when-to-use versus alternatives, no exclusions, and no guidance on when a different camera tool would be more appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
setup_studio_lightingC
Set up preset studio lighting configurations.
Args: style: STUDIO, PORTRAIT, PRODUCT, DRAMATIC, or SOFT. key_energy: Key light power.
| Name | Required | Description | Default |
|---|---|---|---|
| style | No | STUDIO | |
| key_energy | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure, but it does not explain whether this tool creates new lights, replaces existing lighting, modifies the scene destructively, or what side effects occur. 'Set up' implies mutation but omits any specifics.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded with the action, and the argument list is compact. It wastes few words, though the 'Args:' section is a minor formatting choice rather than a substantive structure improvement.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter tool with all optional parameters, the description covers the core inputs reasonably well. But because it is a mutating tool with no annotations, no output schema, and no sibling differentiation, an agent still lacks enough context about what the setup actually changes in the scene.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must add meaning to the parameters. It does enumerate valid style values and identifies key_energy as 'Key light power,' which adds context beyond the bare schema. However, it omits units, ranges, and how styles affect the key energy value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear verb and resource: 'Set up preset studio lighting configurations.' It names the two key arguments, style and key_energy, which clarifies the scope of the tool. However, it does not differentiate this from sibling lighting tools like setup_studio_3point or setup_hdri_lighting.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance about when to use this tool versus alternatives such as setup_studio_3point, setup_hdri_lighting, or configure_light. The description only lists arguments and provides no context for choosing this preset approach over another lighting setup.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
setup_subdivision_animationC
Animate a subdivision surface modifier's viewport levels.
Args: object_name: Target object. modifier_name: Name of the subdivision modifier. start_level: Starting subdivision level. end_level: Ending subdivision level. start_frame: Start frame. end_frame: End frame.
| Name | Required | Description | Default |
|---|---|---|---|
| end_frame | No | ||
| end_level | No | ||
| object_name | Yes | ||
| start_frame | No | ||
| start_level | No | ||
| modifier_name | No | Subdivision |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must carry the full burden of disclosing behavior. It merely says 'Animate' without explaining that it creates keyframes, whether it overwrites existing animation, how it handles the modifier's render vs. viewport levels, or any side effects. The tool's mutating nature is implied but not detailed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise: one sentence plus a parameter list. It isn't wordy, and the list is directly relevant even if redundant with the schema. The structure is simple and front-loaded with the purpose. However, the parameter list adds little value beyond the schema, slightly detracting from overall effectiveness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With six parameters, no annotations, and no output schema, the description is incomplete. It doesn't explain how the animation is set up (keyframes, interpolation), what the expected outcome is, whether the modifier must exist beforehand, or error conditions. It leaves too much for the agent to infer.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The Args list repeats parameter names from the schema without adding meaning. For example, 'start_level' and 'end_level' are not clarified as integer subdivision levels or that they represent viewport levels specifically. The schema has no descriptions, so the description should compensate, but it doesn't explain units, ranges, or relationships between parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear purpose: 'Animate a subdivision surface modifier's viewport levels.' This specifies the verb (animate), the resource (subdivision surface modifier), and the attribute (viewport levels). It distinguishes itself from generic animation tools like set_keyframe or create_walk_cycle by focusing on a specific modifier type, though it doesn't mention the frame range explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't state prerequisites (e.g., the object must have a subdivision modifier), nor does it mention that this is the tool for animating subdivision levels rather than other animation tools. No exclusions or alternative tool references are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
setup_turntable_cameraB
Set up a turntable camera animation (360-degree orbit).
Args: name: Camera name. target: [x, y, z] point to orbit around. distance: Orbit radius. height: Camera height. frames: Number of frames for one revolution.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | TurntableCamera | |
| frames | No | ||
| height | No | ||
| target | No | ||
| distance | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It states that it sets up a turntable camera animation but does not explain side effects (e.g., whether it creates a new camera, modifies an existing one, clears prior animation, or requires a selected object). The description only gives parameter definitions, leaving significant behavioral ambiguity.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely compact, with a one-line purpose and a bullet-style list of parameters. It is front-loaded with the key purpose and wastes no words. The structure is clear and easy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool that sets up an animation, the description lacks critical context: whether it creates a camera, what it does with existing cameras or animation, whether it requires a specific scene setup, and how it relates to siblings like create_turntable_animation. Without output schema or annotations, an agent has insufficient information to call it correctly in a real workflow.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has no descriptions for parameters (0% coverage), so the description must compensate. It provides clear meanings for all five parameters: name, target, distance, height, and frames. This adds real value beyond the bare schema, though it could include units or constraints (e.g., target must be a list of 3 numbers) for full clarity.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific action ('Set up a turntable camera animation (360-degree orbit)') with a verb and resource. It is not a tautology and conveys the core purpose. However, it does not explicitly differentiate itself from similar siblings like create_turntable_animation or setup_studio_camera, so it loses a point for lack of sibling distinction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It only lists parameters, with no mention of use cases, prerequisites, or exclusions. An agent would have no explicit direction on selecting this over similar camera setup tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
setup_world_sky_textureB
Set up a procedural sky texture in the world environment.
Args: sky_type: NISHITA (physical sky), PREETHAM, or HOSEK_WILKIE. strength: Background strength. sun_elevation: Sun angle above horizon in degrees. sun_rotation: Sun rotation around zenith in degrees. air_density: Air density (NISHITA only). dust_density: Dust density (NISHITA only). ozone_density: Ozone density (NISHITA only).
| Name | Required | Description | Default |
|---|---|---|---|
| sky_type | No | NISHITA | |
| strength | No | ||
| air_density | No | ||
| dust_density | No | ||
| sun_rotation | No | ||
| ozone_density | No | ||
| sun_elevation | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It states that the tool configures a procedural sky and that air/dust/ozone apply only to NISHITA, but it does not say whether it replaces existing world setup, whether it is render-engine dependent, what side effects occur, or what happens on success/failure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact: one purpose sentence followed by a clear Args block. Every line communicates useful information and no filler is present, despite covering seven parameters.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The argument semantics are well covered, but the tool operates in the world environment and has 7 open parameters with no annotations or output schema. The description does not cover what happens with defaults, how this interacts with existing lighting/world nodes, or any prerequisites, so it is only partially complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so this list is the primary parameter documentation. It gives every parameter a meaningful description, units for angles, sky type values, and flags NISHITA-only densities. It does not provide numeric ranges or density units, so it is not a 5.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The opening sentence names a specific operation ('Set up a procedural sky texture') and a target resource ('world environment'). It is clear this is not HDRI or studio lighting from the word 'procedural', but it never names a sibling or explicitly contrasts with setup_hdri_lighting/setup_studio_lighting.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use guidance, prerequisites, or mention of alternatives. The description implies use for procedural sky environments, but an agent must infer when this is preferred over setup_hdri_lighting, setup_studio_lighting, or set_studio_world.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_vertex_colorA
Set color on vertices/loops of a color attribute.
Args: object_name: Target mesh object. attribute_name: Name of the color attribute. color: RGBA color [R, G, B, A] (0-1). indices: Specific loop/vertex indices to color. None = all.
| Name | Required | Description | Default |
|---|---|---|---|
| color | No | ||
| indices | No | ||
| object_name | Yes | ||
| attribute_name | No | Color |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral burden and does add useful context: color values are RGBA in 0-1 and indices=None means all. However, it does not disclose side effects such as whether an existing attribute is overwritten, whether a missing attribute is created, or what happens with invalid indices.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The purpose sentence is front-loaded and the Args block is compact with no filler. Every line contributes either operation context or parameter meaning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The parameter list is complete for invocation, but for a mutation tool with no annotations and no output schema, the description omits important context like asset requirements (does the color attribute need to exist?), defaulting behavior, and potential failure modes. An agent could call it, but not with full confidence about side effects.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description fully compensates by documenting all four parameters with meaning, types, and defaults: target mesh object, color attribute name, RGBA range, and the None=all behavior for indices. This goes well beyond the bare schema properties.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb+resource: 'Set color on vertices/loops of a color attribute.' This clearly distinguishes the tool from material/shader-related siblings like set_material_property or add_shader_node, so an agent can tell what it operates on without inspecting the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance about when to choose this over alternatives, no when-not-to-use conditions, and no reference to related tools such as add_color_attribute or enter_vertex_paint. The parameter notes describe argument semantics, not usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_viewport_cameraC
Set the active viewport camera.
Args: camera_name: Camera to use. Empty string = auto.
| Name | Required | Description | Default |
|---|---|---|---|
| camera_name | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full burden. It fails to disclose important behavioral aspects such as whether the operation is reversible, what happens if the specified camera does not exist, or whether the change is permanent or session-only. It also does not indicate if there are any side effects on the scene or rendering.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very concise and front-loaded with the primary action. It uses a clear structure with an Args section and a short, direct sentence. No unnecessary information is included, making it easy to parse, but it is too brief to carry all necessary semantics.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity is low (one parameter), the description is insufficient. There is no output schema to describe return values, and the description does not explain how the camera is selected or how to list available cameras. Given the existence of sibling tools like list_lights and list_materials, one might expect a list_cameras tool, but that is not referenced. The description leaves the agent with ambiguity about camera naming and behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, meaning the description is the only source of parameter information. It states the meaning of empty string = auto, but it does not explain what a non-empty string should be (e.g., a camera name or identifier). It lacks details on format, validation, or behavior for invalid names.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the primary purpose: setting the active viewport camera. It identifies the resource (viewport camera) and the main action (set active). However, it does not explicitly differentiate from sibling tools like configure_camera or set_camera_to_view, which might have overlapping functionality.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides minimal guidance on when to use it. It only hints at the camera_name parameter with a default of empty string for auto, but it does not explain when to use an empty string versus a specific camera name, nor does it describe any alternatives. There is no mention of prerequisites or expected context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_viewport_shadingC
Set viewport shading mode.
Args: mode: WIREFRAME, SOLID, MATERIAL, or RENDERED.
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | SOLID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It states the mode values but does not disclose that this is a viewport-only display change, that it does not affect the actual scene data or render output, or whether it requires a particular viewport state. The behavior is implied but not explicitly clarified.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loads the core purpose in the first sentence. The Args block is minimal and directly relevant. It earns its place with no filler, though the mode list could be integrated more naturally.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter tool, the description is nearly sufficient, but it lacks any note about viewport-only scope, interaction with render settings, or when a user would want RENDERED versus MATERIAL. Given no annotations and no output schema, a bit more context would make it complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It does list the four valid mode values, which adds meaning beyond the bare schema property. However, it does not explain the effect of each mode (e.g., MATERIAL shows materials, RENDERED shows render preview), nor does it clarify that the default is SOLID beyond what the schema already states.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: setting the viewport shading mode, and enumerates the four accepted modes (WIREFRAME, SOLID, MATERIAL, RENDERED). It is distinct from sibling tools like set_viewport_camera or toggle_overlays, though it does not explicitly name them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus alternatives. The description does not mention that this affects only the viewport display and not the final render, nor does it distinguish it from related viewport tools like toggle_overlays or get_viewport_screenshot.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
shade_objectC
Set shading mode for an object.
Args: name: Object name. shading: FLAT or SMOOTH.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| shading | No | SMOOTH |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It reveals only that it 'sets' shading mode but does not explain effects on rendering, normals, object selection requirements, reversibility, or whether it affects one object or the active object. This is a meaningful gap for a mutating operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded, with a direct one-line purpose followed by a minimal Args list. Every sentence earns its place, though it is somewhat terse and could include a brief usage note without bloat.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple, but without annotations or an output schema, the description leaves out behavioral context that would help an agent call it correctly, such as selection requirements and the distinction between object shading and viewport shading. It is minimally viable but not fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The Args section adds value beyond the schema by explaining 'name' means object name and 'shading' accepts FLAT or SMOOTH, which the schema does not enumerate. However, it does not clarify whether the object must be selected, whether shading is optional despite the schema default, or what invalid values would do, so coverage is only partially compensated.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear verb and resource: 'Set shading mode for an object.' It is specific enough to distinguish from most siblings, though it does not explicitly differentiate from set_viewport_shading, which could be confused on its surface.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided about when to use this tool versus alternatives such as set_viewport_shading, smooth_vertices, or material-related tools. The description only states what it does, not the context or selection criteria for choosing it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
smooth_verticesB
Smooth selected vertices.
Args: object_name: Target object. factor: Smoothing factor (0-1). iterations: Number of smoothing iterations.
| Name | Required | Description | Default |
|---|---|---|---|
| factor | No | ||
| iterations | No | ||
| object_name | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full behavioral burden. It does not disclose whether the operation is destructive, whether it requires a selection, what happens with no selection, or how it affects topology, normals, or object state. 'Smooth' implies mutation but little else is revealed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded: one clear purpose statement followed by three short argument definitions. Every sentence earns its place with no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no annotations, the description leaves important invocation context unstated, such as whether the target must be a mesh, whether edit mode is required, and what the scope of 'selected vertices' means in practice. An agent could easily call it with the wrong object type or without a selection.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the parameter glosses in the description are essential. It gives a meaningful one-line explanation for each parameter, including the 0–1 range for factor and the count semantics for iterations. The object_name gloss is generic but sufficient.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Smooth') and identifies the resource ('selected vertices'), making it clear this is a mesh-smoothing operation. It doesn't explicitly differentiate it from nearby mesh tools like limited_dissolve or remesh_sculpt, but the core purpose is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives, nor any stated prerequisites such as requiring a mesh object, edit mode, or an active vertex selection. The agent is left to infer the intended workflow.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
snap_to_cursorC
Snap an object's origin to the 3D cursor or a specific location.
Args: name: Object name. cursor_location: Optional [x, y, z] to set cursor first.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| cursor_location | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavioral implications. It does not mention that snapping affects the origin point only, which may have downstream effects on transformations, pivots, or parenting. It also doesn't clarify the mutability of the operation (though 'snap' implies modification). This is a significant gap for a tool with no annotation safety profile.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and front-loaded with the tool's purpose. The argument documentation is minimal and wasteful of lines, but the main description is efficient. It could be tighter by integrating the argument descriptions, but overall it is not verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity, the description is somewhat adequate, but it lacks critical usage context: there is no mention of how the origin snap affects the object's transform, or whether the tool works on the active object only. Since there is no output schema and no annotations, the description should provide more behavioral context. It is not complete for a tool that modifies object state.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description has the full burden of explaining parameters. The description does explain 'name' and 'cursor_location' in a basic way, but it is incomplete: it doesn't clarify the exact format of cursor_location ([x, y, z] is mentioned) or the default behavior when omitted (the schema says default null, but description doesn't clarify that the 3D cursor's current position is used). It adds some value but not enough to cover the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Snap') and resource ('an object's origin') with a clear target (3D cursor or specified location). This clearly distinguishes it from general move_object and align_object siblings, as it specifically focuses on origin snapping. However, it does not explicitly name the siblings it differs from, so it gets a 4 rather than 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives basic context ('Snap an object's origin to the 3D cursor or a specific location') but provides no guidance on when to use this tool versus alternatives like move_object, set_object_transform, or align_object. It also doesn't mention any prerequisites or exclusions, leaving the agent to infer usage from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
subdivide_meshB
Subdivide selected mesh geometry.
Args: object_name: Object name. cuts: Number of subdivision cuts. smooth: Smooth factor (0-1).
| Name | Required | Description | Default |
|---|---|---|---|
| cuts | No | ||
| smooth | No | ||
| object_name | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are absent, so the description carries the full burden. It identifies a mutation operation but does not disclose whether the subdivision is destructive/reversible, whether it applies to all selected objects, what happens to existing modifiers, or what errors may occur. The description is minimal but not contradictory.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short, front-loaded with the purpose, and contains no filler. The compact Args list adds useful semantic detail without repeating schema titles unnecessarily.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple operation, it covers the core purpose and all parameter meanings. However, with no annotations, no output schema, and no usage guidance, it remains minimum-viable and leaves gap around when to use it, selection requirements, and side effects.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description compensates by listing all three parameters with brief meanings. It adds 'Number of subdivision cuts' and 'Smooth factor (0-1)' beyond the raw schema types and defaults, though the practical effect of each parameter is not deeply explained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Subdivide selected mesh geometry'), and does not merely repeat the tool name. It is distinguishable from remesh_sculpt or loop_cut by the word 'subdivide', though it doesn't explicitly clarify the subdivision type or exactly how it differs from those siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given about when to use this tool versus alternatives. Given many mesh-editing siblings such as remesh_sculpt, smooth_vertices, and loop_cut, the description provides no selection criteria or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
suggest_next_stepA
Analyze the current scene and suggest the next logical step.
Returns 1-3 concrete suggestions based on what's in the scene, what's missing, and common 3D workflows. Helps weak models stay on track without requiring them to plan ahead.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses that the tool analyzes the scene and returns 1-3 suggestions based on scene contents, missing elements, and common workflows. However, it does not explicitly state that the tool has no side effects (e.g., it does not modify the scene), and it gives no information about prerequisites or potential limitations. This is adequate but not rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the core purpose and then providing detail on the output. Every sentence earns its place, with no filler or redundancy. It is appropriately sized for a tool with no parameters.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is fairly complete for a simple suggestion tool. It explains what it does, what it returns, and the rationale for its use. However, it does not specify the exact format of the suggestions (e.g., are they command names, textual steps?) or whether a scene must be loaded. These are minor omissions given the low complexity and absence of parameters or output schema, so a 4 is apt.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and the schema documents this fully (100% coverage). Since there are no parameters to explain, the description does not need to add anything. According to the calibration, a baseline of 4 is appropriate for 0 parameters. The description adds nothing about parameters because there are none.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific purpose: 'Analyze the current scene and suggest the next logical step.' It clearly identifies the action (analyze and suggest) and the resource (current scene), and differentiates itself from sibling tools like get_scene_summary or auto_scene_report by focusing on suggesting a next step rather than just reporting information. The return of '1-3 concrete suggestions' makes its function unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage: 'Helps weak models stay on track without requiring them to plan ahead.' This suggests when to use the tool (when the model is uncertain of the next step), but it does not explicitly mention alternatives or when not to use it. There is no explicit exclusion or comparison to other tools, so the guidance is only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
switch_sceneC
Switch to a different scene within the current .blend file.
Args: scene_name: Name of the scene to switch to.
| Name | Required | Description | Default |
|---|---|---|---|
| scene_name | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It only says 'switch' without explaining side effects, error behavior if the scene name is invalid, whether the current scene is saved, or whether the active context is changed globally. This is thin for a state-changing tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded with the purpose, followed by a compact parameter explanation. It contains no fluff, though the Args section could be integrated more naturally and offers only a bare restatement of the parameter.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with a single simple parameter and no output schema, the description is mostly adequate: it names the resource and the parameter. However, it omits practical details such as the requirement that the scene already exist, how the current scene is affected, and what happens if the name is invalid. No annotations compensate for these gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate for the bare schema. It states that scene_name is the name of the scene to switch to, which clarifies the parameter's role beyond the schema title 'Scene Name'. However, it adds minimal extra value—no format, validity constraints, or relationship to existing scenes—so it just meets the minimum.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: switching to a different scene within the current .blend file. This clearly identifies the tool's action and is distinct from obvious siblings like new_scene, create_scene, and delete_scene, though it does not explicitly call out those alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives like list_open_scenes, get_scene_info, or new_scene. It does not mention prerequisites (e.g., that the target scene must already exist) or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
toggle_overlaysA
Toggle viewport overlays (grid, axes, selection outlines).
Args: show: True to show overlays, False to hide.
| Name | Required | Description | Default |
|---|---|---|---|
| show | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral burden. It discloses the core effect (show/hide the listed overlays) and explains the parameter, but it does not state whether the setting persists, whether it applies to all viewports, or what it returns. The name 'toggle' also slightly conflicts with the explicit set-to-'show' behavior, though the parameter explanation mitigates this.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with zero wasted words. The core action and the parameter explanation are front-loaded, making the definition instantly parseable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple boolean setter with one optional parameter and no output schema, the description plus the schema's default value is sufficient. It defines the operation, the affected overlay types, and how to achieve each state, so nothing critical is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single parameter 'show' is fully explained with explicit semantics ('True to show overlays, False to hide'), directly compensating for the 0% schema description coverage. This adds real meaning beyond the bare boolean property and default value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Toggle') with a clear resource ('viewport overlays') and enumerates which overlays are affected ('grid, axes, selection outlines'). This distinguishes it from siblings like set_viewport_shading and set_viewport_camera, even without naming them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool instead of alternatives. It does not mention set_viewport_shading for shading modes or set_viewport_camera for camera controls, nor any conditions or exclusions. An agent must infer usage from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tri_to_quadC
Convert triangles to quads.
Args: object_name: Target object. angle_limit: Angle limit in radians.
| Name | Required | Description | Default |
|---|---|---|---|
| angle_limit | No | ||
| object_name | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavioral traits. It only states the action without mentioning whether the operation is destructive, modifies in place, or requires selection. It does not clarify what happens to non-triangular faces or how the angle_limit influences the conversion. This is insufficient for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and to the point, with a single action line and two parameter lines. It avoids unnecessary words and front-loads the purpose. It is appropriately sized for a simple tool, though it could be more informative without becoming verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mesh operation with no annotations and no output schema, the description is too sparse. It does not explain the tool's effect on the object, the role of angle_limit, or any side effects. An agent needs more context to use it correctly, such as whether it modifies the object in place and what constitutes a successful conversion.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds some meaning to both parameters: 'object_name' is described as 'Target object' and 'angle_limit' as 'Angle limit in radians.' This goes beyond the schema, which has no property descriptions. However, the explanation of angle_limit is minimal and does not specify its role (e.g., threshold for merging triangles). It adds value but leaves ambiguity.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear action: 'Convert triangles to quads.' This is a specific verb and resource (mesh operation), and it distinguishes the tool from most siblings because it names the exact conversion. However, it does not explicitly mention that it operates on a mesh object or that it modifies the selected object, so it is not fully unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives like limited_dissolve or merge_vertices. It does not mention prerequisites (e.g., object must be a mesh with triangular faces) or conditions that favor this tool over others. The agent is left to infer the appropriate context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
uv_pack_islandsB
Pack UV islands to fill the UV space efficiently.
Args: object_name: Target object. margin: Margin between islands. rotate: Allow islands to rotate.
| Name | Required | Description | Default |
|---|---|---|---|
| margin | No | ||
| rotate | No | ||
| object_name | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It only says 'Pack UV islands to fill the UV space efficiently,' which implies a modification of UV layout but does not mention side effects, reversibility, permission requirements, or any consequences for existing UV data. This is a mutation tool, and the description omits important behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and well-structured with an 'Args' section listing parameters. Every sentence carries meaning, and it is appropriately short for a simple tool. It avoids redundancy and is easy to parse, though the 'Args' section could be tightened.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is relatively simple (3 params, one required) and the description covers the core operation and parameter meanings. However, it lacks guidance on when the tool is applicable (e.g., object must have existing UVs) and does not mention what the tool returns or if it has side effects. With no output schema and no annotations, these omissions leave gaps for an agent deciding to use it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description provides semantic meaning for each parameter beyond the schema (e.g., 'object_name: Target object', 'margin: Margin between islands', 'rotate: Allow islands to rotate'). However, the explanations are minimal; for instance, it does not specify units for margin or the exact effect of rotate. Given the 0% schema coverage, the description partially compensates but could be more detailed to fully disambiguate parameter use.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Pack UV islands'), the resource ('UV islands'), and the goal ('fill the UV space efficiently'). It distinguishes itself from sibling UV tools like uv_smart_project, uv_unwrap, and uv_project_from_view by focusing specifically on packing rather than unwrapping or projecting, making the purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. It does not mention any prerequisites (e.g., the object must already have UVs), nor does it exclude scenarios where other UV tools should be used. The description simply states the action without contextual usage direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
uv_project_from_viewC
Project UVs from the current view or a specific direction.
Args: object_name: Target object. aspect_ratio: [width, height] aspect ratio. direction: VIEW, TOP, FRONT, or SIDE.
| Name | Required | Description | Default |
|---|---|---|---|
| direction | No | VIEW | |
| object_name | Yes | ||
| aspect_ratio | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavioral traits itself. It states the operation but fails to mention any side effects, such as overwriting existing UVs, requiring a valid object, or whether it works on selected faces or the whole mesh. It also doesn't disclose if the operation is destructive or reversible, which is critical for a projection tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise: a one-sentence purpose plus a compact args list. It is front-loaded with the action. There is no fluff, but it is minimal to the point of being sparse. Structure is clear and efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no annotations and no output schema, the description is incomplete. It omits prerequisites (object must exist, must have UVs), side effects (overwrites existing UVs), and whether it applies to the whole mesh or active selection. An agent cannot fully anticipate the outcome of calling this tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 0% coverage, so the description must explain the parameters. It provides one-line definitions: 'object_name: Target object.', 'aspect_ratio: [width, height] aspect ratio.', 'direction: VIEW, TOP, FRONT, or SIDE.' This gives basic meaning but leaves ambiguity (e.g., what does aspect_ratio null mean? What does VIEW direction imply? Does aspect_ratio need specific units?). It adds some value over the schema but lacks depth.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the action clearly: 'Project UVs from the current view or a specific direction.' It names the resource (UVs) and the method (projection from view/direction). While it doesn't explicitly contrast with siblings like uv_unwrap or uv_smart_project, the purpose is unambiguous and specific enough to be understood on its own.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus the many related UV tools (e.g., uv_smart_project, uv_unwrap). The description only explains what it does, not the conditions under which it should be preferred. No exclusions or alternatives are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
uv_select_islandC
Select a UV island by index.
Args: object_name: Target object. island_index: Island index to select.
| Name | Required | Description | Default |
|---|---|---|---|
| object_name | Yes | ||
| island_index | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full burden of behavioral disclosure. It only says 'select', but does not explain side effects such as whether previous selections are cleared, whether it operates in edit mode, or whether it validates the index. It also does not disclose any required object state (e.g., having a UV map). This is a significant gap for a tool that mutates selection state.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is brief and front-loaded with the core action, but it is almost too skeletal. The Args section is a clean list, yet it duplicates schema information. There is no wasted verbiage, but the extreme brevity leaves the tool under-specified. This is not ideal conciseness; it is underspecification.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter tool, the description is still incomplete. It omits crucial context: it does not state that the object must have a UV map, does not explain how to determine island indices (e.g., via get_uv_info), and does not describe the expected effect on the selection state. With no annotations and no output schema, the description leaves too much to inference for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, but the description merely restates the parameter names with minimal elaboration: 'object_name: Target object.' and 'island_index: Island index to select.' This adds little beyond the schema titles. It does not explain the indexing scheme (zero-based? contiguous?), how to obtain valid indices, or the meaning of the default value for island_index. The description fails to compensate for the sparse schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action ('Select a UV island by index') with a clear resource (UV island) and method (by index). This verb-resource pair distinguishes it from sibling UV tools like uv_unwrap, uv_pack_islands, and uv_project_from_view, which perform different operations. It goes beyond a tautology by adding the selection mechanism.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no guidance on when to use this tool versus alternatives. It does not mention prerequisites (e.g., object must have a UV map, mode requirements) or suggest using get_uv_info to discover island indices. The agent is left to infer the appropriate context from the name alone, which is insufficient for a complex UV workflow.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
uv_smart_projectC
Smart UV project unwrap.
Args: object_name: Target mesh object. angle_limit: Angle limit in degrees. island_margin: Margin between islands.
| Name | Required | Description | Default |
|---|---|---|---|
| angle_limit | No | ||
| object_name | Yes | ||
| island_margin | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description does not disclose any behavioral traits: it does not say whether the operation overwrites existing UVs, requires specific mesh conditions, or is destructive. The only information is the operation name and parameter meanings.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very brief and front-loaded, with a one-sentence overview followed by a structured Args list. It avoids verbosity, but the brevity sacrifices explanatory content, so it is more under-specified than genuinely concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no annotations, no output schema, and 0% schema descriptions, the description is far from complete. It omits what the operation does to the mesh, when to use it, and how the parameters interact, leaving an agent without enough context to reliably select and invoke it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The Args section provides basic one-line explanations for each parameter: 'Target mesh object', 'Angle limit in degrees', 'Margin between islands.' This adds meaning beyond the bare schema, which has 0% description coverage, but it does not explain how angle_limit affects the result or what island_margin controls in detail.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says 'Smart UV project unwrap' and lists three arguments. This identifies the operation, but it does not explain what Smart UV project unwrapping entails or that it affects a mesh's UV map. The purpose is implied rather than explicitly stated, making it vague compared to a detailed description like 'Unwraps the mesh using Blender's Smart UV Project algorithm'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool instead of alternatives such as uv_unwrap, uv_pack_islands, or uv_project_from_view. The description does not state any use cases, prerequisites, or exclusions, leaving the agent to guess.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
uv_unwrapC
UV unwrap selected faces.
Args: object_name: Target object. method: ANGLE_BASED or CONFORMAL.
| Name | Required | Description | Default |
|---|---|---|---|
| method | No | ANGLE_BASED | |
| object_name | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It only states the core action and parameter inputs; it does not mention whether existing UVs are overwritten, whether the tool requires an active mesh selection, what happens when no faces are selected, or how the method choice affects the result.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately concise and front-loaded, with no filler or repetition. The Args section is compact, but the extreme brevity does sacrifice important contextual information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no annotations, no output schema, and two parameters, the description is too thin. It provides the basic call shape but omits selection prerequisites, method selection guidance, and differentiation from multiple UV-related sibling tools, making it insufficient for reliable correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It adds meaningful valid values for method ('ANGLE_BASED or CONFORMAL'), which is useful, but object_name is only described as 'Target object', adding little beyond the schema. The description does not explain how to choose between the two methods.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the operation: 'UV unwrap selected faces', naming the target object and method. It is distinguishable from most siblings by the explicit 'selected faces' scope, though it does not directly contrast with UV-related tools like uv_smart_project or uv_project_from_view.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus alternatives such as uv_smart_project, uv_project_from_view, or uv_pack_islands. The phrase 'selected faces' implies a prerequisite (faces must be selected first), but this is never made explicit, and no exclusions or alternative conditions are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
wizard_archviz_interiorA
Create a complete architectural interior room in one call.
Sets up: walls, floor, ceiling, windows, door, furniture, materials, lighting, camera, and render settings. Fully furnished.
Args: room_width: Room width in meters. room_depth: Room depth in meters. room_height: Ceiling height in meters. wall_color: [R, G, B] wall paint color. floor_color: [R, G, B] floor color (wood tone). style: modern, minimalist, industrial, cozy, or scandinavian. render: Whether to render (CPU-heavy). Keep False for scene building. samples: Render samples if render=True (16-32 for preview). output_path: Where to save the render.
| Name | Required | Description | Default |
|---|---|---|---|
| style | No | modern | |
| render | No | ||
| samples | No | ||
| room_depth | No | ||
| room_width | No | ||
| wall_color | No | ||
| floor_color | No | ||
| output_path | No | ||
| room_height | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behaviors itself. It does state that rendering is CPU-heavy and warns to keep render=False for scene building, and it enumerates all the elements the tool sets up. However, it fails to mention whether the tool creates a new scene, overwrites existing objects, or integrates with the current scene. This side-effect information is important for a tool that builds an entire environment and is not disclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with a clear summary sentence, followed by a compact 'Sets up' line that gives behavioral scope, then a structured Args list. Every line contributes value; there is no fluff or repetition of schema defaults. The Arg list is necessary given the number of parameters. It is appropriately sized, though slightly longer than strictly needed.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 9 parameters, no output schema, and no annotations, the description covers all parameter semantics and provides important render guidance. It lacks disclosure about scene integration (new vs. current scene), which is a notable gap, but otherwise it gives enough for an agent to make a reasonable call. The missing side-effect information prevents a perfect score.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 0% description coverageaine, so the description must explain every parameter. It does: room dimensions in meters, wall/floor colors as [R,G,B] arrays, style with the valid enum values, render as a CPU-heavy flag, samples with a suggested preview range (16-32), and output_path purpose. This fully compensates for the bare schema and adds meaningful guidance beyond the schema's defaults.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and resource: 'Create a complete architectural interior room in one call.' The subsequent list of what it sets up (walls, floor, ceiling, windows, door, furniture, etc.) clearly distinguishes it from sibling wizards like wizard_quick_scene or wizard_environment, which target broader or different scene types. An agent can accurately infer the tool's scope without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage context: it is a one-call, full-interior creation tool, and the render parameter guidance ('Keep False for scene building') advises when to avoid heavy compute. However, it does not explicitly say when to choose this tool over sibling wizards (e.g., wizard_quick_scene, wizard_environment) or mention any exclusions or prerequisites. The when-to-use is implied rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
wizard_batch_materialsA
Assign materials to multiple objects in one call.
Each assignment: {"object": "name", "material": "mat_name", "color": [r,g,b]} Creates materials if they don't exist.
Args: assignments: List of assignment dicts with object, material, and optional color.
| Name | Required | Description | Default |
|---|---|---|---|
| assignments | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full behavioral burden. It usefully discloses a side effect ('Creates materials if they don't exist'), but it does not explain what happens to existing material assignments, whether the operation is atomic, or how failures are handled.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately short, front-loaded with the core action, and includes a compact example plus an Args section. Every sentence adds value and there is negligible filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter tool with a simple input structure, the description covers the input format, optional fields, and a key side effect. It is nearly complete, though it would benefit from noting whether assignments replace or overwrite existing materials and what color values are valid.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% and the schema only describes an array of additionalProperties objects, so the description must compensate. It does by specifying the exact assignment keys ('object', 'material', optional 'color') and giving an example format. It lacks color ranges and object-name resolution details, but it adds essential meaning the schema omits.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific action ('Assign materials') and its batch scope ('to multiple objects in one call'), making it immediately distinguishable from the single-object assign_material sibling. It does not explicitly name an alternative tool, so it stops short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The batch phrasing implies when to use this tool—when multiple objects need material assignments at once—but it gives no explicit exclusions or comparison to alternatives like assign_material or batch_material_preset. The usage guidance is present but only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
wizard_character_basemeshA
Create a character basemesh with rig in one call.
Full body with correct proportions, edge loops at joints, mirror modifier. Optional humanoid armature with IK.
Args: height: Character height in meters. Default: 1.75m (average human). style: humanoid, creature, robot, or cartoon. gender: male, female, or neutral. subdivisions: Subdivision surface levels (0-3). add_armature: Whether to add a basic humanoid armature. render: Whether to render (CPU-heavy). Keep False for scene building. samples: Render samples if render=True (16-32 for preview). output_path: Optional file to save the .blend.
| Name | Required | Description | Default |
|---|---|---|---|
| style | No | humanoid | |
| gender | No | neutral | |
| height | No | ||
| render | No | ||
| samples | No | ||
| output_path | No | ||
| add_armature | No | ||
| subdivisions | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must carry the disclosure burden. It reveals the creation of a mesh with modifiers and optional armature, and flags the render parameter as CPU-heavy with a recommendation to keep it False for scene building. It does not mention side effects like object selection, scene modifications, or whether it returns any handle, which is a gap for a construction tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured: a one-sentence purpose, a brief feature list, and a clear parameter breakdown. It is informative without being bloated; the CPU-heavy caveat is a valuable extra. Slight redundancy ('Full body with correct proportions' could be trimmed) but overall efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no output schema, the description covers most operational context: what it creates, parameter options, and file-saving capability. It implies the basemesh is added to the current scene but does not explicitly state return behavior or object selection. Given the complexity (8 parameters), it is fairly complete, though mentioning the created object's selection or return handle would elevate it further.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description includes an 'Args' section explaining every parameter (height, style, gender, subdivisions, add_armature, render, samples, output_path) with defaults and some nuance (e.g., CPU-heavy render). Since the schema has zero descriptions (0% coverage), this text compensates fully, giving the agent all needed meaning to set each value correctly.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool creates a character basemesh with an optional rig, describing specific features (proportions, edge loops, mirror modifier) that distinguish it from general mesh or armature tools. It also lists the style options (humanoid, creature, robot, cartoon) which set expectations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is used when a full character base mesh is needed, mentioning 'create a character basemesh with rig in one call.' However, it does not explicitly state when to use this over alternatives like create_humanoid_rig or create_object, nor does it mention conditions or exclusions. The optional armature note hints at a choice but doesn't clarify when to pick this tool instead of a standalone rig tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
wizard_environmentA
Create a complete natural environment in one call.
Generates: terrain, vegetation, sky, lighting, and camera.
Args: env_type: forest, desert, ocean, mountain, meadow, or city. time_of_day: day, sunset, night, or dawn. density: Vegetation/object density (0-1). terrain_size: Terrain dimensions in meters. render: Whether to render (CPU-heavy). Keep False for scene building. samples: Render samples if render=True (16-32 for preview). output_path: Optional file to save the .blend.
| Name | Required | Description | Default |
|---|---|---|---|
| render | No | ||
| density | No | ||
| samples | No | ||
| env_type | No | forest | |
| output_path | No | ||
| time_of_day | No | day | |
| terrain_size | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses important behavioral traits beyond the schema: it generates multiple scene components in one call, and it warns that rendering is CPU-heavy and should be kept False for scene building. It also clarifies that samples only matter when render=True. With no annotations provided, the description carries the burden well, though it could mention side effects like replacing existing scene content or creating new objects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with a clear summary line followed by a compact Args list. Every parameter is covered in a single line. It's slightly longer than necessary but the format is scannable and front-loaded with the core purpose. The 'Generates:' line is efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 7-parameter tool with no output schema and no annotations, the description covers the essential context: what the tool does, what each parameter means, and a key performance warning. It doesn't describe the return value or what happens in the Blender scene (e.g., whether it replaces existing objects), but it's largely complete for an agent to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate, and it does. It explains the meaning of env_type (with a list of valid values), time_of_day (with values), density (vegetation/object density 0-1), terrain_size (terrain dimensions in meters), render (CPU-heavy flag), samples (render samples if render=True), and output_path (optional .blend save location). This adds substantial meaning beyond the bare schema titles.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Create') and resource ('a complete natural environment') and enumerates exactly what is generated: terrain, vegetation, sky, lighting, and camera. It clearly distinguishes itself from sibling tools like create_terrain or create_tree by being a one-call environment generator.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context for when to use the tool: when a complete environment is needed in one call. It also provides a practical usage hint: 'Keep False for scene building' for the render parameter. However, it doesn't explicitly name alternatives or state when NOT to use this tool (e.g., when only a single terrain or tree is needed, use create_terrain or create_tree).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
wizard_material_presetA
Apply a complete PBR material preset to an object in one call.
Pre-configured recipes for common materials with correct roughness, metallic, and subsurface values.
Args: object_name: Target object. preset: metal, chrome, gold, wood, glass, plastic, concrete, fabric, leather, rubber, ceramic, marble, skin, emissive. color: Override base color [R, G, B]. None = preset default.
| Name | Required | Description | Default |
|---|---|---|---|
| color | No | ||
| preset | No | metal | |
| object_name | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses the main behavior and material-channel coverage, but it does not explain side effects such as whether existing materials are replaced, whether a new material slot is created, or whether the operation is reversible.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded with the main purpose, followed by a clean Args list. Every sentence adds value and there is no redundant restating of the schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
All parameters are documented and the operation's core purpose is clear, but an agent still lacks guidance on important mutation details: what happens to existing materials, which material slot receives the preset, and what the tool returns. For a no-annotation, no-output-schema mutation tool, this is a noticeable gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the inline Args section must compensate. It does: object_name is defined as the target, preset values are enumerated, and color is described as an override with a None default. The color range or value scale is not specified, but this is still a strong compensation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action ('Apply a complete PBR material preset to an object in one call') and a clear resource. It implicitly differentiates from siblings by emphasizing complete presets, but it never names alternatives like batch_material_preset or configure_glass_material.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrasing 'in one call' and 'Pre-configured recipes for common materials with correct roughness, metallic, and subsurface values' implies the tool is for quick, realistic material assignment. However, it does not explicitly state when to choose this over assign_material, set_material_property, or the configure_*_material tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
wizard_product_shotA
Create a complete product photography scene in one call.
Sets up: product object, backdrop, 3-point lighting, camera, materials, render settings, and renders a preview. One tool call = finished shot.
Args: product_type: cube, sphere, cylinder, cone, torus, or a .glb/.obj/.fbx path product_color: [R, G, B] base color (0-1). Default: white. background_color: [R, G, B] backdrop color. Default: light gray. render: Whether to render (CPU-heavy). Keep False for scene building. samples: Render samples if render=True (16-32 for preview). output_path: Where to save the render. Empty = temp file.
| Name | Required | Description | Default |
|---|---|---|---|
| render | No | ||
| samples | No | ||
| output_path | No | ||
| product_type | No | cube | |
| product_color | No | ||
| background_color | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral disclosure burden. It does disclose that render is CPU-heavy, that output_path can be empty for a temp file, and that the tool sets up a complete scene. But it does not explain side effects on the existing scene (e.g., whether it creates a new scene, replaces objects, or leaves materials/models behind), nor what the return value is. Some useful context, but not comprehensive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the purpose, then lists components, then provides an Args section with each parameter on its own line. It is slightly longer than strictly necessary, but every sentence earns its place; no filler or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given there is no output schema and no annotations, the description should cover return values and side effects. It covers the rendering and output_path behavior but is silent on what the tool returns and what happens to existing scene contents. For a complex wizard tool, this is a material gap, though the rest of the context is well specified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, yet the description compensates fully: it lists every parameter with added meaning—allowed product_type values, [R,G,B] color ranges and defaults, render CPU-heavy guidance, sample suggestions (16-32 for preview), and output_path behavior. This exceeds what the bare schema provides and gives the agent actionable parameter semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and resource: 'Create a complete product photography scene in one call.' It enumerates what gets set up (product object, backdrop, 3-point lighting, camera, materials, render settings) and explicitly promises a preview, so any agent can tell this is a high-level one-shot scene builder, distinct from lower-level siblings like setup_studio_3point or configure_render.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It clearly states the intended use case ('product photography scene in one call', 'One tool call = finished shot'), and it adds conditional guidance for the render parameter ('Keep False for scene building'). However, it does not name alternative tools or explicitly state when not to use this wizard, so it stops short of full exclusion guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
wizard_quick_sceneA
Build a scene from a natural language description in one call.
Parses the description and creates objects, materials, lighting, and camera to match. Works best with simple, clear descriptions.
Args: description: Plain English description of the scene. render: Whether to render (CPU-heavy). Keep False for scene building. samples: Render samples if render=True (16-32 for preview). output_path: Where to save the render.
| Name | Required | Description | Default |
|---|---|---|---|
| render | No | ||
| samples | No | ||
| description | No | A red sphere on a white plane with soft lighting | |
| output_path | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full responsibility for behavioral disclosure. It adds meaningful context beyond the schema: parsing behavior, scene contents, render cost ('CPU-heavy'), and preview sample ranges. However, it does not disclose whether the tool replaces the current scene, adds to it, or requires a clean state, which is a notable gap for a broad scene-building tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The definition is compact and front-loaded: the main purpose appears in the first sentence, followed by a clarifying parse behavior and a caveat. The Args block is efficient. Minor redundancy exists between the first and second sentences, but nothing is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the basics: what it builds, parameter semantics, and a performance warning. For a complex, high-level wizard with no output schema and no annotations, it leaves out important operational context—such as interaction with the existing scene state, what happens after rendering, and how failures are reported.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate, and it does. Every parameter is given a plain-language explanation with usage hints, notably 'Keep False for scene building' and '16-32 for preview.' It could add format expectations for output_path, but overall it serves the agent well.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Build a scene'), a resource ('from a natural language description in one call'), and the concrete result ('creates objects, materials, lighting, and camera'). This clearly distinguishes it from the many specialized wizard_* siblings by positioning it as the general-purpose scene builder.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implies appropriate use with 'Works best with simple, clear descriptions,' which is a useful constraint. However, it does not explicitly address when to prefer this over sibling wizards like wizard_environment or wizard_archviz_interior, nor does it state when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
wizard_scene_optimizeA
Optimize the entire scene for export or rendering in one call.
Applies modifiers, removes doubles, fixes normals, decimates if needed.
Args: apply_modifiers: Apply all modifiers on all mesh objects. merge_by_distance: Merge distance for doubles removal. 0 = skip. remove_loose: Remove loose vertices/edges. recalculate_normals: Recalculate all normals outward. decimate_ratio: Decimation ratio (0 = skip, 0.5 = halve poly count).
| Name | Required | Description | Default |
|---|---|---|---|
| remove_loose | No | ||
| decimate_ratio | No | ||
| apply_modifiers | No | ||
| merge_by_distance | No | ||
| recalculate_normals | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral disclosure burden, and it does so by naming each mutation it performs: applying modifiers, merging doubles, removing loose geometry, recalculating normals outward, and decimating. It also includes skip semantics ('0 = skip') to clarify when operations do nothing. It does not explicitly warn that these changes are destructive to the scene, but the verbs make that reasonably inferable.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the one-sentence purpose, followed by a compact operation summary and a clean Args list. Every sentence earns its place and there is no vague filler or restatement of the tool name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
All five parameters are documented with meaningful semantics, and the scope is stated as the 'entire scene' with 'all mesh objects' for modifiers. Minor gaps remain: no explicit mention of return value and no direct warning that the optimization is destructive to the original scene, but the description is largely complete for a batch-optimization tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description fully compensates: every parameter gets operational meaning beyond its raw name and default. For example, 'merge_by_distance: Merge distance for doubles removal. 0 = skip' and 'decimate_ratio: 0.5 = halve poly count' explain real behavior an agent needs to pick values.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The opening sentence states a specific verb and resource: 'Optimize the entire scene for export or rendering in one call.' The second sentence enumerates operations (applies modifiers, removes doubles, fixes normals, decimates), making clear this is a batch optimizer rather than the individual sibling tools like apply_modifier or recalculate_normals.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives a clear usage context: use this when preparing an entire scene for export or rendering, and the phrase 'in one call' signals it as a batch alternative to per-object operations. It does not explicitly list when-not-to-use or name alternatives, but the triggering scenario is clear enough for an agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
wizard_studio_renderA
Create a professional studio render setup in one call.
Complete scene: subject, backdrop, lighting rig, camera, render settings. Multiple style presets available.
Args: subject_type: cube, sphere, cylinder, torus, or a file path (.glb/.obj/.fbx) subject_color: [R, G, B] subject color. preset: studio, portrait, dramatic, soft, or rim. resolution: LOW (800x600), MEDIUM (1920x1080), HIGH (3840x2160). render: Whether to render (CPU-heavy). Keep False for setup only. samples: Render samples if render=True (16-32 for preview). output_path: Where to save the render.
| Name | Required | Description | Default |
|---|---|---|---|
| preset | No | studio | |
| render | No | ||
| samples | No | ||
| resolution | No | HIGH | |
| output_path | No | ||
| subject_type | No | sphere | |
| subject_color | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden and does add useful behavioral context: rendering is flagged as CPU-heavy, and render=False is described as setup-only, which is critical for avoiding expensive work. However, it does not disclose side effects on the existing scene or what is returned when setup-only is used.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with a one-sentence purpose, followed by a compact high-level composition and a clear Args block. Each line carries necessary information without boilerplate or padding, and the parameter details are visually scannable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given seven parameters, zero schema descriptions, no annotations, and no output schema, the description covers the parameter surface well but leaves ambiguity around the render=False return value, possible scene mutations, and how this tool relates to sibling alternatives. It is usable but not fully complete for an agent making a risk-aware selection.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 0% description coverage and provides only titles/defaults, while the description explains every parameter: subject_type options including file paths, subject_color format, preset list, resolution dimensions, render behavior, sample range, and output_path purpose. This goes far beyond what the input schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb and resource: 'Create a professional studio render setup in one call.' It enumerates the composed elements (subject, backdrop, lighting rig, camera, render settings), making its scope concrete and distinguishing it from single-purpose tools like setup_studio_lighting or render_preview.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'in one call' implies this is an all-in-one convenience operation instead of assembling a scene manually with granular sibling tools, but it never explicitly says when to prefer it over setup_studio_lighting, setup_studio_3point, configure_render, or render_image. No exclusions or alternative names are given, so the guidance is only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
wizard_turntableA
Create a turntable animation around the scene or a specific object.
Sets up camera orbit, lighting, and renders if requested.
Args: target_object: Object to orbit around. Empty = world origin. frames: Number of frames for full rotation. height: Camera height above target. distance: Camera distance from target. render: Whether to render the animation. output_path: Output directory for rendered frames.
| Name | Required | Description | Default |
|---|---|---|---|
| frames | No | ||
| height | No | ||
| render | No | ||
| distance | No | ||
| output_path | No | ||
| target_object | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does state the main side effects: camera orbit, lighting setup, and optional rendering. It does not disclose whether existing lights/cameras are replaced, whether the scene timeline/animation data is modified, or what happens when output_path is empty and render is true.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The definition is compact and front-loaded: purpose in the first sentence, high-level behavior in the second, and an efficient Args block. No filler or redundant restatement.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a six-parameter tool with no annotations or output schema, it covers the essential invocation details. It remains incomplete about side effects on the current scene, the distinction from similar turntable tools, and the effective behavior when render is true but output_path is left blank.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate, and it does: every parameter is given a plain-language meaning, including the non-obvious 'Empty = world origin' for target_object and 'full rotation' for frames. This is more than the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The opening sentence names a specific action and resource: 'Create a turntable animation around the scene or a specific object.' It is clear and actionable. It does not earn a 5 because it does not differentiate itself from close siblings like create_turntable_animation or setup_turntable_camera.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implicitly signals its use case: it is an all-in-one wizard that orbits the camera, sets lighting, and optionally renders, so an agent can infer when to call it for a full turntable animation. However, it never states when not to use it or how it differs from setup_turntable_camera and create_turntable_animation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
wizard_uv_unwrap_allA
UV unwrap all mesh objects in the scene in one call.
Smart project or lightmap unwrap for every mesh, with island packing.
Args: method: smart or lightmap. margin: UV island margin (0-1). fix_islands: Auto-fix flipped and overlapping islands.
| Name | Required | Description | Default |
|---|---|---|---|
| margin | No | ||
| method | No | smart | |
| fix_islands | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It discloses useful behaviors such as island packing and auto-fixing flipped/overlapping islands, but it does not state whether existing UV maps are overwritten, whether non-mesh objects are ignored, or what the postconditions are for this scene-wide mutation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded: the core batch behavior is stated in the first sentence, followed by a short method summary and a tight Args list. Every sentence earns its place with no redundant filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple, and all parameters are documented, but there are no annotations and no output schema. For a scene-wide mutating operation, the description would benefit from explaining whether existing UVs are replaced or whether this is safe to run on a scene that already has hand-authored UVs.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate, and it does: it explains all three parameters—method values ('smart or lightmap'), margin range ('0-1'), and fix_islands behavior ('Auto-fix flipped and overlapping islands'). This adds real meaning beyond the bare schema properties.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action ('UV unwrap all mesh objects in the scene') and clearly distinguishes this batch tool from per-object siblings like uv_unwrap. It also names the two unwrap methods and the island-packing behavior, leaving no ambiguity about what the tool does.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly establishes the batch context: 'all mesh objects in the scene in one call' and 'every mesh.' This implies the tool is for scene-wide unwrapping, contrasting with single-object siblings like uv_unwrap or uv_smart_project, though it does not explicitly name alternatives or state when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
209 tool updates
v3.0.0- First observed
add_bone - First observed
add_bone_constraint - First observed
add_cloth_physics - First observed
add_color_attribute - First observed
add_fluid_physics - First observed
add_force_field - First observed
add_geometry_node - First observed
add_geometry_nodes_modifier - First observed
add_marker - First observed
add_modifier - First observed
add_nla_strip - First observed
add_nla_track - First observed
add_object_constraint - First observed
add_particle_system - First observed
add_rigid_body - First observed
add_shader_node - First observed
add_shape_key - First observed
align_object - First observed
analyze_mesh_quality - First observed
apply_image_texture - First observed
apply_lattice_deform - First observed
apply_modifier - First observed
apply_transform - First observed
assign_material - First observed
assign_vertex_group - First observed
auto_scene_report - First observed
bake_physics - First observed
batch_add_modifiers - First observed
batch_create_objects - First observed
batch_delete_objects - First observed
batch_material_preset - First observed
batch_parent - First observed
batch_rename - First observed
batch_select - First observed
batch_set_origin - First observed
batch_transform - First observed
batch_visibility - First observed
bevel_edges - First observed
boolean_operation - First observed
check_production_readiness - First observed
configure_body_material - First observed
configure_camera - First observed
configure_display_material - First observed
configure_dyntopo - First observed
configure_glass_material - First observed
configure_light - First observed
configure_modifier - First observed
configure_render - First observed
configure_sculpt_brush - First observed
connect_geometry_nodes - First observed
connect_shader_nodes - First observed
convert_curve_to_mesh - First observed
convert_object - First observed
create_armature - First observed
create_camera - First observed
create_collection - First observed
create_curve - First observed
create_humanoid_rig - First observed
create_lattice - First observed
create_light - First observed
create_material - First observed
create_object - First observed
create_particle_field - First observed
create_procedural_distribution - First observed
create_procedural_material - First observed
create_rock - First observed
create_scene - First observed
create_studio_floor - First observed
create_terrain - First observed
create_text_object - First observed
create_tree - First observed
create_turntable_animation - First observed
create_vertex_group - First observed
create_walk_cycle - First observed
delete_collection - First observed
delete_keyframe - First observed
delete_material - First observed
delete_object - First observed
delete_physics - First observed
delete_scene - First observed
duplicate_object - First observed
edit_curve_points - First observed
edit_mesh_edges - First observed
edit_mesh_faces - First observed
edit_mesh_vertices - First observed
enter_sculpt_mode - First observed
enter_vertex_paint - First observed
enter_weight_paint - First observed
execute_blender_code - First observed
execute_sequence - First observed
exit_sculpt_mode - First observed
export_fbx - First observed
export_file - First observed
export_glb - First observed
export_obj - First observed
extrude_faces - First observed
find_duplicates - First observed
fix_mesh_defects - First observed
flip_normals - First observed
get_custom_property - First observed
get_local_transforms - First observed
get_mesh_statistics - First observed
get_object_info - First observed
get_render_preview - First observed
get_scene_diff - First observed
get_scene_for_model - First observed
get_scene_info - First observed
get_scene_summary - First observed
get_uv_info - First observed
get_viewport_info - First observed
get_viewport_screenshot - First observed
get_viewport_screenshot_comparison - First observed
go_to_frame - First observed
import_file - First observed
inset_faces - First observed
join_objects - First observed
limited_dissolve - First observed
link_blend_data - First observed
list_collections - First observed
list_lights - First observed
list_materials - First observed
list_objects - First observed
list_open_scenes - First observed
loop_cut - First observed
merge_blend_file - First observed
merge_vertices - First observed
move_object - First observed
move_to_collection - First observed
new_scene - First observed
open_blend_file - First observed
parent_bone_to_object - First observed
parent_objects - First observed
reassign_material_slot - First observed
recalculate_normals - First observed
remesh_sculpt - First observed
remove_marker - First observed
remove_modifier - First observed
remove_object_constraint - First observed
remove_shape_key - First observed
rename_object - First observed
render_animation - First observed
render_image - First observed
render_preview - First observed
reorder_modifier - First observed
rotate_object - First observed
run_operator - First observed
save_blend_file - First observed
scale_object - First observed
select_objects - First observed
separate_by_loose - First observed
separate_by_material - First observed
set_animation_cyclic - First observed
set_animation_range - First observed
set_bezier_easing - First observed
set_camera_framing - First observed
set_camera_to_view - First observed
set_collection_visibility - First observed
set_curve_fill - First observed
set_custom_normals - First observed
set_custom_property - First observed
set_fps - First observed
set_interpolation - First observed
set_keyframe - First observed
set_material_property - First observed
set_object_transform - First observed
set_object_visibility - First observed
set_origin - First observed
set_scene_property - First observed
set_sculpt_symmetry - First observed
set_shader_node_value - First observed
set_shape_key_value - First observed
set_studio_world - First observed
set_vertex_color - First observed
set_viewport_camera - First observed
set_viewport_shading - First observed
setup_camera_track_to - First observed
setup_compositor - First observed
setup_hdri_lighting - First observed
setup_ik_chain - First observed
setup_studio_3point - First observed
setup_studio_camera - First observed
setup_studio_lighting - First observed
setup_subdivision_animation - First observed
setup_turntable_camera - First observed
setup_world_sky_texture - First observed
shade_object - First observed
smooth_vertices - First observed
snap_to_cursor - First observed
subdivide_mesh - First observed
suggest_next_step - First observed
switch_scene - First observed
toggle_overlays - First observed
tri_to_quad - First observed
uv_pack_islands - First observed
uv_project_from_view - First observed
uv_select_island - First observed
uv_smart_project - First observed
uv_unwrap - First observed
wizard_archviz_interior - First observed
wizard_batch_materials - First observed
wizard_character_basemesh - First observed
wizard_environment - First observed
wizard_material_preset - First observed
wizard_product_shot - First observed
wizard_quick_scene - First observed
wizard_scene_optimize - First observed
wizard_studio_render - First observed
wizard_turntable - First observed
wizard_uv_unwrap_all
TDQS
Scored across 209 tools
With 209 tools, there are many overlapping capabilities such as multiple render/screenshot tools (get_render_preview, render_preview, get_viewport_screenshot, get_viewport_screenshot_comparison), multiple material configuration tools (create_material, wizard_material_preset, configure_display_material, etc.), and multiple transform tools (set_object_transform, move_object, rotate_object, scale_object). While descriptions are detailed, the sheer volume makes tool selection error-prone, and some tools are nearly identical in purpose.
Naming is largely consistent with a verb_noun pattern (e.g., create_object, delete_object, set_object_transform) and common prefixes like batch_, wizard_, setup_, and list_. A few outliers such as suggest_next_step and auto_scene_report break the pattern, but overall naming is predictable and follows clear conventions.
209 tools is far beyond the typical well-scoped server (3-15 tools). Even for a complex application like Blender, this is excessive and will overwhelm agents, making tool selection costly and error-prone. The count severely impacts usability and efficiency.
The server covers an extensive range of Blender functionality: object lifecycle, transforms, materials, lighting, camera, animation, physics, sculpting, UV, geometry nodes, modifiers, constraints, collections, importing/exporting, and rendering. There are few obvious gaps, and many wizards provide high-level workflows, ensuring agents have all necessary operations.
Maintenance
Related MCP Connectors
Cloud Blender for AI agents: build, inspect, render and animate 3D scenes over remote MCP. Keep editable .blend files and export GLB or STL. Make your first 3D asset free: 30 compute minutes/month, no credit card.
Generate and edit images, video, voice, lip-sync and 3D models from your AI agent.
- OwlCADOAuthcom.owlcad
Parametric 3D CAD for AI agents: build print-ready parts, check them, export STL, 3MF or STEP.
- mcp-serverOAuthcom.make
Give your AI agents the tools to build, manage, and run automation workflows.
Related MCP Servers
- AlicenseNot gradedqualityNot gradedmaintenanceEnables AI agents to control Blender 3D through 27 tools for scene manipulation, materials, modifiers, animation, and rendering, with native Python integration built in Rust.MIT
- FlicenseNot gradedqualityDmaintenanceEnables AI agents to control Blender 3D software through natural language commands, supporting object creation, manipulation, materials, rendering, and scene management with 22 tools organized across 6 categories.-
- AlicenseBqualityDmaintenanceEnables AI assistants to control Blender 3D software through natural language, with tools for modeling, materials, animation, rendering, and rigging.3815MIT
- FlicenseNot gradedqualityDmaintenanceEnables AI agents to fully control Blender through 50+ tools for 3D modeling, animation, materials, and scene management via HTTP endpoints.-