Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault

No arguments

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
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.

delete_keyframeA

Delete keyframes at a specific frame or all keyframes.

Args: object_name: Target object. frame: Frame to delete (None = all keyframes).

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.

set_animation_rangeB

Set the animation playback range.

Args: start_frame: Start frame. end_frame: End frame. frame_step: Step between frames.

set_fpsB

Set the scene frame rate.

Args: fps: Frames per second (1-1000).

go_to_frameC

Jump to a specific frame in the timeline.

Args: frame: Frame number.

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.

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.

create_armatureC

Create a new armature object.

Args: name: Armature name. location: [x, y, z] position.

add_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).

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.

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.

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.

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.

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.

batch_delete_objectsB

Delete multiple objects in one call.

Args: names: List of object names to delete.

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.

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.

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.

batch_renameA

Rename multiple objects in one call.

Each entry: {"old": "OldName", "new": "NewName"}

Args: renames: List of rename dicts.

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.

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.

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.

batch_set_originB

Set origins for multiple objects in one call.

Each entry: {"name": "Obj", "origin_type": "GEOMETRY"}

Args: origins: List of origin dicts.

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.

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.

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.

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.

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.

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.

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'.

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]}).

create_collectionB

Create a new collection.

Args: name: Collection name. parent: Parent collection name (empty = root).

delete_collectionA

Delete a collection.

Args: name: Collection name. keep_objects: If True, move objects to the scene collection first.

move_to_collectionC

Move an object to a different collection.

Args: object_name: Object to move. collection_name: Target collection.

set_collection_visibilityC

Toggle collection visibility in viewport.

Args: collection_name: Collection name. visible: Show or hide.

list_collectionsA

List all collections with their objects and hierarchy.

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.

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.

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).

set_curve_fillB

Set curve fill mode.

Args: curve_name: Curve object name. fill: FULL, HALF, or NONE.

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.

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).

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.

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.

export_glbB

Export to glTF binary (GLB) format.

Args: filepath: Output path. selected_only: Only export selected. export_materials: Include materials.

export_objC

Export to OBJ format.

Args: filepath: Output path. selected_only: Only export selected. export_materials: Include MTL file.

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.

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.

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.

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.

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.

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.

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.

setup_studio_lightingC

Set up preset studio lighting configurations.

Args: style: STUDIO, PORTRAIT, PRODUCT, DRAMATIC, or SOFT. key_energy: Key light power.

list_lightsA

List all lights in the scene with their types, positions, and energy values.

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).

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.

delete_materialC

Remove material from an object's slot.

Args: object_name: Target object. slot: Material slot index.

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.

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.

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.

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.

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.

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.

list_materialsA

List all materials in the current blend file with their names and usage counts.

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.

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).

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).

create_vertex_groupC

Create a new vertex group on a mesh object.

Args: object_name: Target object. group_name: Name for the vertex group.

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).

separate_by_materialB

Separate a mesh object into parts by material assignment.

Args: object_name: Object to separate.

separate_by_looseC

Separate a mesh into disconnected parts.

Args: object_name: Object to separate.

smooth_verticesB

Smooth selected vertices.

Args: object_name: Target object. factor: Smoothing factor (0-1). iterations: Number of smoothing iterations.

tri_to_quadC

Convert triangles to quads.

Args: object_name: Target object. angle_limit: Angle limit in radians.

limited_dissolveC

Dissolve geometry based on angle threshold.

Args: object_name: Target object. angle_limit: Angle threshold in radians.

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.

get_mesh_statisticsC

Get detailed mesh statistics: vertex/edge/face counts, triangle count, ngon count, volume, surface area, bounding box dimensions.

check_production_readinessA

Full production readiness audit: manifold geometry, UV maps, materials, naming conventions, origin alignment. Returns a score 0-100 with detailed breakdown.

find_duplicatesB

Find duplicate vertices within a distance threshold.

Args: object_name: Target object. distance: Distance threshold for duplicate detection.

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.

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).

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.

apply_modifierC

Apply (bake) a modifier into the mesh.

Args: object_name: Target object. modifier_name: Name of the modifier to apply.

remove_modifierB

Remove a modifier from an object.

Args: object_name: Target object. modifier_name: Name of the modifier to remove.

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).

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.

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).

inset_facesC

Inset selected faces of a mesh.

Args: object_name: Object name. thickness: Inset thickness. use_boundary: Also inset boundary edges.

bevel_edgesB

Bevel selected edges of a mesh.

Args: object_name: Object name. width: Bevel width. segments: Number of segments (1 = flat bevel).

loop_cutC

Add loop cuts to a mesh.

Args: object_name: Object name. number_cuts: Number of cuts. axis: X, Y, or Z axis.

subdivide_meshB

Subdivide selected mesh geometry.

Args: object_name: Object name. cuts: Number of subdivision cuts. smooth: Smooth factor (0-1).

merge_verticesC

Merge vertices by distance (remove doubles).

Args: object_name: Object name. distance: Merge distance threshold.

flip_normalsC

Flip normals of selected faces.

Args: object_name: Object name.

recalculate_normalsB

Recalculate normals of a mesh.

Args: object_name: Object name. outside: If True, normals point outward.

list_open_scenesA

List all currently open .blend files and their status.

open_blend_fileC

Open a .blend file.

Args: filepath: Path to the .blend file. use_scripts: Whether to load linked scripts.

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).

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.

switch_sceneC

Switch to a different scene within the current .blend file.

Args: scene_name: Name of the scene to switch to.

delete_sceneC

Delete a scene from the current .blend file.

Args: scene_name: Name of the scene to delete.

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).

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).

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.

delete_objectB

Delete an object by name.

Args: name: Name of the object to delete.

duplicate_objectC

Duplicate an object with all its data.

Args: name: Name of the object to duplicate. new_name: Optional name for the duplicate.

rename_objectB

Rename an object.

Args: name: Current name of the object. new_name: New name for the object.

select_objectsA

Select one or more objects by name.

Args: names: List of object names to select. replace: If True, deselect all others first.

set_object_visibilityB

Set object viewport and/or render visibility.

Args: name: Object name. visible: Viewport visibility. hide_render: Render visibility.

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.

join_objectsB

Join multiple objects into a single mesh.

Args: names: List of object names to join. First object becomes the active.

set_originB

Set the origin of an object.

Args: name: Object name. origin_type: GEOMETRY, CURSOR, CENTER_OF_MASS, or CENTER_OF_VOLUME.

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.).

shade_objectC

Set shading mode for an object.

Args: name: Object name. shading: FLAT or SMOOTH.

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).

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.

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.

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.

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.

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.

delete_physicsC

Remove all physics from an object.

Args: object_name: Target object.

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.

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.

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.

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.

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.

render_animationC

Render an animation sequence.

Args: output_path: Output directory path. frame_start: First frame. frame_end: Last frame. engine: Render engine.

render_previewB

Quick preview render for visual feedback loops.

Args: quality: LOW (320x240), MEDIUM (800x600), HIGH (1920x1080).

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.

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.

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.

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.

create_sceneB

Create a new scene.

Args: name: Name for the new scene. copy_current: If True, copy the current scene's settings.

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.

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.

enter_sculpt_modeB

Enter sculpt mode on an object.

Args: object_name: Object to sculpt. Empty = active object.

exit_sculpt_modeA

Exit sculpt mode and return to object mode.

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.

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.

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.

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.

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.

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.

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.

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.

get_local_transformsC

Get the local (parent-relative) transforms of an object.

Args: name: Object name.

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.

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.

uv_smart_projectC

Smart UV project unwrap.

Args: object_name: Target mesh object. angle_limit: Angle limit in degrees. island_margin: Margin between islands.

uv_unwrapC

UV unwrap selected faces.

Args: object_name: Target object. method: ANGLE_BASED or CONFORMAL.

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.

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.

uv_select_islandC

Select a UV island by index.

Args: object_name: Target object. island_index: Island index to select.

get_uv_infoC

Get UV mapping information: island count, UV bounds, stretch stats.

Args: object_name: Target object.

get_viewport_infoA

Get current viewport state: active camera, shading mode, view matrix, cursor position.

set_viewport_shadingC

Set viewport shading mode.

Args: mode: WIREFRAME, SOLID, MATERIAL, or RENDERED.

set_viewport_cameraC

Set the active viewport camera.

Args: camera_name: Camera to use. Empty string = auto.

toggle_overlaysA

Toggle viewport overlays (grid, axes, selection outlines).

Args: show: True to show overlays, False to hide.

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').

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.

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).

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.

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.

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.

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.

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.

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.

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).

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.

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.

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.

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.

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.

set_animation_cyclicB

Make an object's animation loop cyclically.

Args: object_name: Target object. cyclic: True to loop, False to stop.

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.

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).

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.

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.

set_studio_worldC

Set world background for studio environment.

Args: strength: Background strength (0.1 = subtle, 1.0 = bright). color: RGB background color.

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.

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.

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.

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.

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.

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.

remove_object_constraintB

Remove a constraint from an object.

Args: object_name: Target object. constraint_name: Name of the constraint to remove.

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.

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).

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.

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.

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.

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).

remove_markerA

Remove a timeline marker.

Args: marker_name: Name of the marker to remove.

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).

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.

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.

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.

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).

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"}}]

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).

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.

enter_weight_paintA

Enter weight paint mode for rigging.

Args: object_name: Object to paint (empty = active object).

enter_vertex_paintB

Enter vertex paint mode.

Args: object_name: Object to paint (empty = active object).

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).

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.

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.

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).

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.

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.

Prompts

Interactive templates invoked by user choice

NameDescription
modeling_guideTopology, scale, and mesh workflow reference.
lighting_materials_guideLighting setups and PBR material recipes.
workflow_best_practicesScene workflow, undo strategy, and common mistakes.
render_presetsRender settings for common styles.

Resources

Contextual data attached and managed by the client

NameDescription
get_scene_resourceFull scene information: objects, hierarchy, frame range, render engine, FPS.
get_objects_resourceList of all objects with name, type, location, and visibility.
get_materials_resourceList of all materials with name and user count.

TDQS

C2.9/5.0

Scored across 209 tools

Disambiguation2/5

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 Consistency4/5

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.

Tool Count1/5

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.

Completeness5/5

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

ActivityMaintained
ResponsivenessNo issues