Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
BLENDER_MCP_BRIDGE_TOKENYesShared secret used to authenticate the MCP process to the Blender add-on. Must be set to the same value in the Blender plugin preferences.
BLENDER_MCP_SNAPSHOT_DIRNoOptional directory for pre-mutation snapshots.
BLENDER_MCP_ALLOWED_ROOTSNoOne or more working directories that file tools are allowed to access. If not configured, file tools remain disabled.

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": true
}
logging
{}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
extensions
{
  "io.modelcontextprotocol/ui": {}
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
pingA

Check if the Blender addon is reachable and return version info.

get_scene_infoA

Get current scene metadata: name, frame range, FPS, render engine, object/material counts.

load_fileA

Load a .blend file. This replaces the current scene — confirm to proceed.

save_fileA

Save the current scene. If filepath is provided, save-as to that path.

set_frameC

Set the current frame.

set_frame_rangeA

Set the scene frame range (start and/or end frame).

get_object_infoB

Get detailed info about an object: type, transforms, modifiers, materials, parent, collections.

list_objectsA

List all objects in the scene. Optionally filter by type (MESH, CAMERA, LIGHT, EMPTY, etc.).

create_objectB

Create a new object. Types: CUBE, SPHERE, CYLINDER, CONE, TORUS, PLANE, CIRCLE, GRID, MONKEY, UV_SPHERE, ICO_SPHERE, EMPTY. Returns the actual name assigned (may differ if name already exists).

delete_objectA

Delete an object by name. Confirm required.

set_transformC

Set an object's location, rotation (radians), and/or scale.

apply_transformA

Apply (freeze) the object's transforms to mesh data. Resets the applied transforms to identity.

duplicate_objectA

Duplicate an object. If linked=True, the copy shares mesh data with the original.

rename_objectA

Rename an object. Returns the actual name assigned (may be auto-incremented).

set_parentC

Set parent-child relationship between objects.

clear_parentB

Clear an object's parent, keeping its world transform.

set_originC

Set an object's origin point. Types: ORIGIN_GEOMETRY, ORIGIN_CENTER_OF_MASS, ORIGIN_CENTER_OF_VOLUME, ORIGIN_CURSOR, GEOMETRY_ORIGIN.

select_objectsB

Select objects by name list, glob pattern, or type. Deselects others by default.

list_materialsA

List all materials in the blend file with user counts.

get_material_infoA

Get material settings: base color, metallic, roughness, node tree summary.

create_materialC

Create a new Principled BSDF material. base_color is [R, G, B, A] (0-1 range).

assign_materialA

Assign a material to an object. If slot is specified, replaces that slot; otherwise appends a new slot.

remove_materialB

Remove a material slot from an object by slot index.

set_material_propertyB

Set a Principled BSDF property. Properties: base_color, metallic, roughness, specular, transmission, emission_color, emission_strength, alpha, normal_strength.

duplicate_materialB

Duplicate a material. Returns the new material name.

delete_materialA

Delete a material. Confirm required. Removes from all object slots.

get_viewport_infoA

Get viewport settings: shading mode, overlays, camera, clip distances.

capture_viewportB

Capture a screenshot of the 3D viewport to a file. Returns the file path.

set_viewport_shadingB

Set viewport shading mode: WIREFRAME, SOLID, MATERIAL, RENDERED.

set_viewport_cameraA

Set the active camera for the viewport. Pass camera object name, or None for default.

frame_selectedA

Frame the viewport to show selected objects (Numpad .).

frame_allA

Frame the viewport to show all objects (Home key).

list_collectionsA

List all collections with child counts, object counts, and visibility.

create_collectionC

Create a new collection, optionally under a parent collection.

move_to_collectionA

Move an object to a collection (removes from current collections).

set_collection_visibilityB

Set collection visibility in viewport and/or render.

delete_collectionA

Delete a collection. Objects in it become orphaned. Confirm required.

get_render_settingsA

Get render settings: engine, resolution, samples, output path, file format.

set_render_settingsA

Configure render settings. Engine: CYCLES, BLENDER_EEVEE_NEXT, BLENDER_WORKBENCH. File format: PNG, JPEG, EXR, TIFF. Color mode: BW, RGB, RGBA.

render_imageB

Render the current frame to an image file. Uses scene output path if filepath not specified.

render_animationA

Render the full animation frame range. This is a long-running operation.

render_viewportC

Render the viewport (OpenGL render) to a file.

list_render_enginesA

List available render engines.

find_objectsB

Search for objects by name pattern (glob), type, material, or collection.

batch_set_propertyB

Set the same property on multiple objects at once.

batch_deleteB

Delete multiple objects at once. Confirm required.

find_error_objectsA

Find objects with issues: missing textures, broken modifiers, invalid references.

import_fileA

Import a file into the scene. Supported formats: FBX, OBJ, GLTF/GLB, USD, Alembic, STL, PLY, SVG, DAE. Format is auto-detected from extension if not specified.

export_fileB

Export the scene to a file. Format is auto-detected from extension if not specified.

list_supported_formatsA

List supported import and export file formats.

export_selectionB

Export only selected objects to a file.

list_modifiersA

List all modifiers on an object with their type and settings.

add_modifierB

Add a modifier to an object. Common types: SUBSURF, BOOLEAN, ARRAY, MIRROR, SOLIDIFY, BEVEL, DECIMATE, SMOOTH, SHRINKWRAP, ARMATURE, CURVE, LATTICE.

remove_modifierA

Remove a modifier from an object by name.

set_modifier_propertyC

Set a modifier property. Property names are Blender API names (e.g., 'levels' for SUBSURF, 'count' for ARRAY, 'operation' for BOOLEAN).

apply_modifierA

Apply a modifier, baking it into the mesh. Requires Object Mode. Irreversible.

move_modifierB

Move a modifier up or down in the stack. Direction: UP or DOWN.

toggle_modifier_visibilityB

Toggle modifier visibility in viewport and/or render.

copy_modifiersA

Copy all modifiers from source object to target object.

list_lightsA

List all lights in the scene with type and settings.

create_lightC

Create a light. Types: POINT, SUN, SPOT, AREA.

set_light_propertyB

Set a light property: energy, color, shadow_soft_size, spot_size, spot_blend, use_shadow, size (area light).

create_hdri_worldC

Set up HDRI environment lighting from an image file.

set_world_propertyB

Set world/environment property: color, strength.

get_world_infoA

Get current world/environment shader settings.

create_light_rigB

Create a three-point lighting setup (key, fill, rim). Optionally aimed at a target object.

list_camerasA

List all cameras with their settings.

create_cameraB

Create a camera with specified focal length.

set_camera_propertyB

Set camera property: focal_length, sensor_width, clip_start, clip_end, dof_use, dof_focus_distance, dof_aperture_fstop.

set_active_cameraC

Set the active scene camera.

camera_look_atB

Point a camera at a target object or world location.

setup_camera_dofB

Configure depth of field on a camera. Focus on an object or at a specific distance.

get_keyframesA

Get keyframes on an object, optionally filtered to a specific data_path (e.g., 'location', 'rotation_euler').

set_keyframeC

Insert a keyframe on an object property at a specific frame. Use index for individual channels (0=X, 1=Y, 2=Z), or -1 for all channels.

set_keyframesA

Batch insert multiple keyframes. Each entry: {frame: int, value: float|list}. More efficient than calling set_keyframe repeatedly.

delete_keyframeC

Delete a keyframe at a specific frame.

clear_animationA

Remove all animation data (keyframes, actions) from an object. Irreversible.

get_action_infoA

Get info about an action: frame range, channels, keyframe count.

list_actionsA

List all actions in the blend file.

set_interpolationA

Set keyframe interpolation for all keyframes on a channel. Types: BEZIER, LINEAR, CONSTANT.

set_playback_rangeC

Set the preview/playback range.

playback_controlB

Control animation playback: PLAY, PAUSE, STOP.

list_constraintsB

List constraints on an object or pose bone.

add_constraintC

Add a constraint. Types: COPY_LOCATION, COPY_ROTATION, COPY_SCALE, TRACK_TO, DAMPED_TRACK, LOCKED_TRACK, LIMIT_LOCATION, LIMIT_ROTATION, LIMIT_SCALE, IK, CHILD_OF, FLOOR, FOLLOW_PATH, CLAMP_TO.

remove_constraintB

Remove a constraint by name.

set_constraint_propertyC

Set a constraint property. Common: target, subtarget, influence, axis.

set_constraint_influenceC

Set constraint influence (0.0 to 1.0).

reorder_constraintB

Move a constraint up or down. Direction: UP or DOWN.

get_mesh_infoB

Get mesh info: vertex/edge/face count, UV maps, vertex groups, has_custom_normals.

get_verticesB

Get vertex positions. Optionally filter by vertex group. Limited to avoid huge payloads.

set_verticesA

Set vertex positions. Each entry: {index: int, co: [x, y, z]}.

get_vertex_groupsA

Get vertex groups on a mesh with member counts.

create_vertex_groupC

Create a vertex group, optionally assigning vertices with a weight.

set_smooth_shadingB

Set shading mode. smooth=True for smooth shading, False for flat. auto_smooth uses angle threshold (radians).

separate_meshA

Separate mesh into multiple objects. Modes: LOOSE (by loose parts), MATERIAL (by material), SELECTED.

join_meshesA

Join multiple mesh objects into one. The first object becomes the active/target. Destroys source objects.

create_curveC

Create a curve object. Types: BEZIER, NURBS, POLY (path).

get_curve_infoA

Get curve info: spline count, point count, dimensions, bevel settings.

set_curve_pointsC

Set control point positions on a spline. Each entry: {co: [x,y,z], handle_left: [x,y,z], handle_right: [x,y,z]} for Bezier, or {co: [x,y,z,w]} for NURBS/Poly.

set_curve_propertyC

Set curve property: bevel_depth, bevel_resolution, extrude, dimensions (2D/3D), resolution_u, fill_mode.

convert_to_meshA

Convert a curve object to a mesh. Loses curve editability.

add_physicsC

Add a physics simulation. Types: RIGID_BODY, CLOTH, FLUID, SOFT_BODY, COLLISION.

remove_physicsC

Remove physics from an object.

set_physics_propertyC

Set a physics property. E.g., type=RIGID_BODY, property=mass, value=5.0.

get_physics_infoB

Get physics settings on an object.

setup_rigid_body_worldC

Configure the rigid body world and collection.

setup_cloth_simC

Template: Set up cloth simulation with optional pinning vertex group.

setup_fluid_domainB

Template: Set up fluid simulation with domain and optional emitter.

setup_softbodyC

Template: Set up softbody simulation.

bake_physicsC

Bake physics simulation. Long-running operation.

free_physics_bakeC

Free baked physics simulation data. Irreversible.

get_node_treeA

Get the full shader node tree: nodes, links, input values.

create_shader_nodeB

Add a shader node to a material. Common types: ShaderNodeBsdfPrincipled, ShaderNodeTexImage, ShaderNodeTexNoise, ShaderNodeMixRGB, ShaderNodeBump, ShaderNodeNormalMap, ShaderNodeMapping, ShaderNodeTexCoord, ShaderNodeValToRGB, ShaderNodeMath.

delete_shader_nodeB

Remove a node from a material's node tree.

connect_shader_nodesC

Connect an output socket to an input socket. Sockets can be specified by name or index.

disconnect_shader_nodeB

Disconnect an input socket on a node.

set_node_inputB

Set a node input's default value (color, float, vector).

get_node_inputB

Get a node input's current default value.

set_node_positionC

Set a node's position in the editor.

list_shader_node_typesA

List available shader node types.

create_node_groupC

Create a node group from selected nodes.

add_node_group_instanceB

Add an instance of an existing node group to a material.

layout_node_treeB

Auto-arrange nodes in a material's node tree.

get_geonodes_treeB

Get the geometry node tree structure: nodes, links, inputs.

create_geonodes_modifierC

Add a geometry nodes modifier. Creates a new tree or uses an existing one.

create_geonodeC

Add a node to a geometry node tree. Common types: GeometryNodeMeshGrid, GeometryNodeMeshCube, GeometryNodeSetPosition, GeometryNodeTransform, GeometryNodeJoinGeometry, GeometryNodeInstanceOnPoints, GeometryNodeDistributePointsOnFaces.

delete_geonodeB

Remove a node from a geometry node tree.

connect_geonodesC

Connect nodes in a geometry node tree.

disconnect_geonodeC

Disconnect an input on a geometry node.

set_geonode_inputB

Set a geometry node input's default value.

get_geonode_inputC

Get a geometry node input's current value.

list_geonode_typesA

List available geometry node types for the current Blender version.

set_geonodes_inputA

Set a modifier-level input (Group Input interface value).

get_compositor_treeA

Get the compositor node tree structure.

enable_compositorA

Enable the compositor (use_nodes=True on scene).

create_comp_nodeC

Add a compositor node. Common types: CompositorNodeRLayers, CompositorNodeComposite, CompositorNodeViewer, CompositorNodeMixRGB, CompositorNodeBlur, CompositorNodeGlare, CompositorNodeColorBalance, CompositorNodeBrightContrast, CompositorNodeHueSat.

delete_comp_nodeC

Remove a compositor node.

connect_comp_nodesC

Connect compositor nodes.

set_comp_node_inputC

Set a compositor node input value.

list_comp_node_typesA

List available compositor node types.

setup_basic_compositeB

Template: Create Render Layers -> Composite + Viewer setup.

create_armatureB

Create an armature with an initial bone.

get_armature_infoB

Get armature info: bone hierarchy, bone count.

add_boneC

Add a bone to an armature. Head and tail are 3D positions.

set_bone_propertyB

Set a bone property: roll, envelope_distance, head, tail, use_connect.

get_bone_infoB

Get bone info: head, tail, roll, parent, children, constraints.

parent_mesh_to_armatureB

Parent a mesh to an armature. Mode: AUTOMATIC (auto weights), EMPTY (no weights).

assign_vertex_weightsC

Assign vertex weights to a bone's vertex group.

add_bone_constraintC

Add a constraint to a pose bone. Types: IK, COPY_ROTATION, COPY_LOCATION, LIMIT_ROTATION.

set_pose_bone_transformB

Set a pose bone's transform (location and/or rotation in pose space).

list_bone_constraintsC

List constraints on a pose bone.

add_particle_systemC

Add a particle system. Types: EMITTER, HAIR.

remove_particle_systemC

Remove a particle system by name.

set_particle_propertyB

Set a particle system property: count, lifetime, emit_from, physics_type, size.

get_particle_infoC

Get particle system settings.

setup_hairC

Template: Set up hair particles with children and physics.

bake_particlesC

Bake particle simulation.

enter_sculpt_modeC

Switch an object to sculpt mode.

set_sculpt_brushA

Set the active sculpt brush and settings. Brushes: DRAW, CLAY, CLAY_STRIPS, INFLATE, GRAB, SMOOTH, FLATTEN, PINCH, CREASE, SCRAPE.

remeshC

Remesh an object. Modes: VOXEL, QUAD (quadriflow).

apply_sculpt_maskC

Convert sculpt mask to a vertex group.

create_grease_pencilC

Create a grease pencil object.

get_gp_infoA

Get grease pencil info: layers, frames, stroke count.

add_gp_layerC

Add a layer to a grease pencil object.

set_gp_layer_propertyC

Set a GP layer property: color, opacity, thickness, use_lights.

create_gp_strokeC

Create a stroke from point list. Each point: {co: [x,y,z], pressure: float, strength: float}.

add_gp_modifierB

Add a GP modifier. Types: GP_THICK, GP_NOISE, GP_SMOOTH, GP_SUBDIV, GP_TINT, GP_OPACITY.

list_imagesA

List all images in the blend file.

load_imageC

Load an image from file into the blend file.

get_uv_mapsB

Get UV maps on a mesh object.

create_uv_mapC

Add a UV map to a mesh object.

smart_uv_projectC

Auto UV unwrap using smart project. Angle limit in radians (default ~66 degrees).

pack_imagesA

Pack all external images into the blend file.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

C2.9/5.0

Scored across 173 tools

Disambiguation4/5

Most tools have distinct purposes with clear descriptions, though a few pairs like set_geonode_input vs set_geonodes_input could cause confusion without careful reading. The majority are well-separated by resource type and action.

Naming Consistency4/5

The dominant pattern is verb_noun (e.g., list_objects, create_material), but a few tools like camera_look_at and playback_control deviate to noun_verb. The naming is generally predictable and readable, with only minor inconsistencies.

Tool Count1/5

With 173 tools, this far exceeds the threshold for an extreme mismatch (50+). While Blender is complex, this server attempts to cover every conceivable feature, making the surface unwieldy and difficult for agents to navigate effectively.

Completeness4/5

The tool surface is remarkably broad, covering objects, materials, modifiers, animation, physics, node systems (shader, geometry, compositor), sculpting, and more. Minor gaps exist (e.g., manual UV editing, advanced painting), but core workflows are well-supported.

Maintenance

ActivityNo data
ResponsivenessNo issues