blender-studio-pro-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
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
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| ping_blenderA | Check connectivity to Blender Studio Pro MCP addon on localhost. |
| list_blender_commandsB | List dedicated Blender Studio Pro MCP commands grouped by module. |
| set_frameC | Set the current frame of the scene. |
| set_frame_rangeC | Set the scene frame range and optionally the FPS. |
| insert_keyframeC | Insert a keyframe on an object property at a given frame. |
| delete_keyframeC | Delete a keyframe from an object property at a given frame. |
| set_keyframe_interpolationC | Set the interpolation mode on keyframes for a given data path. |
| get_keyframesB | Get keyframe data from an object, optionally filtered by data path. |
| clear_animationC | Clear all animation data from an object. |
| create_actionC | Create a new action. |
| assign_actionC | Assign an action to an object. |
| list_actionsA | List all actions with their frame ranges. |
| push_action_to_nlaC | Push an action to the NLA editor as a strip. |
| set_keyframe_handle_typeC | Set the handle type on a specific keyframe. |
| get_polyhaven_statusB | Return availability status for Poly Haven. |
| get_polyhaven_categoriesC | Return a list of categories for the given asset_type. |
| search_polyhaven_assetsD | Search Poly Haven assets. |
| download_polyhaven_assetC | Download and import a Poly Haven asset into the current Blender scene. |
| get_sketchfab_statusB | Return availability status for Sketchfab. |
| search_sketchfab_modelsC | Search Sketchfab for 3D models. |
| download_sketchfab_modelB | Download and import a Sketchfab model into Blender. |
| batch_renderC | Render from multiple cameras sequentially. |
| render_turntableC | Render a turntable animation around an object. |
| batch_importC | Import all files of a given format from a directory. |
| batch_exportD | Export objects to files. |
| apply_material_to_allD | Apply a material to objects. |
| list_operator_categoriesA | List every bpy.ops submodule available in this Blender build (100% live). |
| list_operatorsA | List operators (live). Filter by category and/or search. Default limit 500. |
| search_operatorsC | Search all categories for operators matching query (substring). |
| get_operator_infoB | Return RNA property schema for any operator. |
| poll_operatorC | Check whether an operator can run in the current context (poll). |
| call_operatorC | Call any Blender operator (100% bpy.ops surface). |
| call_operators_batchC | Run multiple operators in order. |
| get_coverage_reportD | Report live Blender coverage for Blender Studio Pro MCP. |
| list_data_typesA | List bpy.data collection names (objects, meshes, materials, ...). |
| list_data_itemsC | List item names in a bpy.data collection. |
| get_attr_pathA | Read a value via path, e.g. 'context.scene.frame_current' or 'data.objects["Cube"].location'. |
| set_attr_pathC | Set a value via dotted path ending in an attribute name. |
| get_modeA | Return current object interaction mode. |
| set_modeC | Switch mode: OBJECT, EDIT, SCULPT, POSE, WEIGHT_PAINT, etc. |
| get_selectionA | Return selected object names and active object. |
| set_selectionC | Select objects by name. |
| undoB | Undo last action. |
| redoA | Redo last undone action. |
| list_tool_categoriesC | High-level dedicated category map + pointer to 100% bpy.ops bridge. |
| list_dedicated_commandsB | List all dedicated high-level commands registered in this addon. |
| create_cameraC | Create a camera and add it to the scene. |
| set_camera_lensC | Configure lens, clipping, shift, sensor, and DOF settings on a camera. |
| set_active_cameraC | Set the named camera as the active scene camera. |
| frame_selected_objectsA | Position and orient a camera to frame the listed objects. |
| add_camera_track_toB | Add a Track To constraint to a camera, targeting the named object. |
| list_camerasA | Return a list of all camera objects in the scene. |
| get_camera_infoC | Return detailed information about a camera. |
| execute_pythonC | Execute arbitrary Python code in Blender's context. |
| list_collectionsD | Blender Studio Pro MCP: list_collections |
| create_collection_hierarchyD | Blender Studio Pro MCP: create_collection_hierarchy |
| set_collection_visibilityD | Blender Studio Pro MCP: set_collection_visibility |
| delete_collectionD | Blender Studio Pro MCP: delete_collection |
| instance_collectionD | Blender Studio Pro MCP: instance_collection |
| ensure_compositorD | Blender Studio Pro MCP: ensure_compositor |
| get_compositor_treeD | Blender Studio Pro MCP: get_compositor_tree |
| add_compositor_nodeD | node_type e.g. CompositorNodeRLayers, CompositorNodeBlur, CompositorNodeComposite. |
| connect_compositor_nodesD | Blender Studio Pro MCP: connect_compositor_nodes |
| set_compositor_node_inputD | Blender Studio Pro MCP: set_compositor_node_input |
| add_constraintC | Add an object constraint. See CONSTRAINT_TYPES. |
| list_constraintsD | Blender Studio Pro MCP: list_constraints |
| remove_constraintD | Blender Studio Pro MCP: remove_constraint |
| set_constraint_paramD | Blender Studio Pro MCP: set_constraint_param |
| create_curveD | type: BEZIER, NURBS, PATH |
| create_textD | Blender Studio Pro MCP: create_text |
| set_text_bodyD | Blender Studio Pro MCP: set_text_body |
| set_curve_geometryD | Blender Studio Pro MCP: set_curve_geometry |
| convert_to_meshD | Blender Studio Pro MCP: convert_to_mesh |
| add_driverC | Add a driver to an object property. data_path e.g. 'location'. |
| remove_driverD | Blender Studio Pro MCP: remove_driver |
| set_custom_propertyD | Blender Studio Pro MCP: set_custom_property |
| get_custom_propertiesD | Blender Studio Pro MCP: get_custom_properties |
| delete_custom_propertyD | Blender Studio Pro MCP: delete_custom_property |
| get_filepathD | Blender Studio Pro MCP: get_filepath |
| save_blendD | Blender Studio Pro MCP: save_blend |
| open_blendD | Blender Studio Pro MCP: open_blend |
| new_blendD | Blender Studio Pro MCP: new_blend |
| append_from_blendC | Append a datablock. directory e.g. 'Object/', filename e.g. 'Cube'. |
| link_from_blendD | Blender Studio Pro MCP: link_from_blend |
| pack_resourcesD | Blender Studio Pro MCP: pack_resources |
| unpack_resourcesD | Blender Studio Pro MCP: unpack_resources |
| get_geometry_nodes_statusC | Check if an object has Geometry Nodes modifiers and return their info. |
| get_node_group_infoB | Get detailed information about a node group including nodes, links, and group I/O. |
| create_geometry_nodes_modifierB | Add a Geometry Nodes modifier to an object, optionally using an existing node group. |
| add_geometry_nodeC | Add a node of the given type to a geometry node group. |
| connect_gn_nodesC | Create a link between two nodes in a geometry node group. |
| set_gn_node_inputC | Set the default value of a node input in a geometry node group. |
| add_gn_group_inputC | Add a group-level input socket to a geometry node group. |
| add_gn_group_outputC | Add a group-level output socket to a geometry node group. |
| list_gn_node_typesA | Return a categorized dictionary of available geometry node types. |
| get_gn_node_treeB | Return the full node tree structure: nodes with input values and links. |
| apply_geometry_nodesC | Apply a Geometry Nodes modifier on an object. |
| remove_geometry_nodeB | Remove a node from a geometry node group. |
| create_grease_pencilC | Create a grease pencil object (Blender 4+/5 compatible). |
| add_gp_layerD | Blender Studio Pro MCP: add_gp_layer |
| list_gp_layersD | Blender Studio Pro MCP: list_gp_layers |
| set_gp_stroke_settingsD | Best-effort material/color setup for GP. |
| import_fileC | Import a file into Blender. |
| export_objectC | Export specific objects to a file. |
| export_sceneC | Export the entire scene to a file. |
| import_image_as_planeC | Import an image file as a textured plane in the scene. |
| create_lightC | Create a light of the given type and add it to the scene. |
| set_light_propertyC | Set a property on a light's data block. |
| delete_lightB | Delete a light object from the scene and Blender data. |
| list_lightsA | Return a list of all light objects in the scene. |
| create_three_point_lightingC | Create a classic three-point lighting setup aimed at a subject. |
| create_materialC | Create a new material with nodes enabled. |
| assign_materialC | Assign a material to an object. |
| set_principled_bsdfC | Set Principled BSDF node properties on a material. |
| get_material_infoC | Return detailed information about a material's node tree. |
| list_materialsA | Return a list of all material names in the blend file. |
| delete_materialC | Remove a material from bpy.data.materials. |
| set_material_slotC | Set a specific material slot on an object to a given material. |
| enter_edit_modeD | Blender Studio Pro MCP: enter_edit_mode |
| mesh_select_allD | action: SELECT, DESELECT, TOGGLE, INVERT |
| subdivideD | Blender Studio Pro MCP: subdivide |
| extrude_regionD | Blender Studio Pro MCP: extrude_region |
| inset_facesD | Blender Studio Pro MCP: inset_faces |
| bevelD | Blender Studio Pro MCP: bevel |
| loop_cutD | Loop cut — best effort; may need viewport context. |
| delete_geometryD | type: VERT, EDGE, FACE, ONLY_FACE, EDGE_FACE |
| merge_by_distanceD | Blender Studio Pro MCP: merge_by_distance |
| get_mesh_statsD | Blender Studio Pro MCP: get_mesh_stats |
| apply_bmesh_opC | Run a simple bmesh operation: recalc_normals, triangulate, remove_doubles. |
| add_modifierC | Add a modifier to an object. |
| set_modifier_paramC | Set an attribute on a modifier. |
| apply_modifierC | Apply a modifier to an object. |
| remove_modifierB | Remove a modifier from an object. |
| list_modifiersC | List all modifiers on an object. |
| reorder_modifierB | Reorder a modifier up or down in the stack. |
| create_objectC | Create a new object of the specified type. |
| delete_objectC | Delete an object by name. |
| duplicate_objectC | Duplicate an object, optionally as a linked duplicate. |
| set_transformB | Set the transform of an object. Only provided values are updated. |
| set_parentC | Set a parent-child relationship between two objects. |
| clear_parentA | Clear the parent of an object, optionally keeping its world transform. |
| create_collectionC | Create a new collection and link it to the active scene. |
| move_to_collectionB | Move an object to a target collection, unlinking from all current collections. |
| join_objectsC | Join multiple objects into one. |
| add_particle_systemD | type: EMITTER or HAIR. |
| set_particle_settingsC | Set particle settings attributes (count, lifetime, frame_start, ...). |
| list_particle_systemsD | Blender Studio Pro MCP: list_particle_systems |
| remove_particle_systemD | Blender Studio Pro MCP: remove_particle_system |
| add_rigid_bodyC | Add rigid body physics. type: ACTIVE or PASSIVE. |
| remove_rigid_bodyD | Blender Studio Pro MCP: remove_rigid_body |
| add_clothD | Blender Studio Pro MCP: add_cloth |
| add_soft_bodyD | Blender Studio Pro MCP: add_soft_body |
| add_collisionD | Blender Studio Pro MCP: add_collision |
| add_fluid_domainD | domain_type: GAS, LIQUID. |
| add_fluid_flowD | flow_type: SMOKE, FIRE, LIQUID, etc. |
| bake_physicsC | Bake rigid body / point cache where possible. |
| add_force_fieldD | Create a force field empty. type: FORCE, WIND, VORTEX, MAGNET, ... |
| get_viewport_screenshotB | Capture a screenshot of the active 3D viewport. |
| set_render_engineC | Set the render engine. |
| render_imageC | Render the current scene to an image file. |
| set_render_outputC | Configure render output settings. |
| set_render_settingsC | Set various render settings for the active scene. |
| create_armatureB | Create an armature data block and object, link to the active scene. |
| add_boneA | Add a bone to an armature with specified head/tail positions and optional parent. |
| set_bone_propertyC | Set a property on a bone in edit mode. |
| delete_boneC | Delete a bone from an armature. |
| list_bonesA | Return a list of all bones in an armature with their properties. |
| parent_mesh_to_armatureB | Parent a mesh object to an armature with the specified skinning method. |
| add_bone_constraintC | Add a constraint to a pose bone. |
| create_vertex_groupB | Add a vertex group to a mesh object, optionally assigning vertices with a weight. |
| get_scene_infoA | Return comprehensive information about the current Blender scene. |
| get_object_infoC | Return detailed information about a specific object. |
| enter_sculpt_modeD | Blender Studio Pro MCP: enter_sculpt_mode |
| set_sculpt_brushC | Configure active sculpt brush. |
| list_brushesB | List brushes. mode hint only; returns all brush names with use flags. |
| enter_vertex_paintD | Blender Studio Pro MCP: enter_vertex_paint |
| enter_weight_paintD | Blender Studio Pro MCP: enter_weight_paint |
| enter_texture_paintD | Blender Studio Pro MCP: enter_texture_paint |
| remeshC | Remesh mesh. mode: VOXEL, SMOOTH, SHARP, BLOCKS. |
| get_sequencer_infoD | Blender Studio Pro MCP: get_sequencer_info |
| add_movie_stripD | Blender Studio Pro MCP: add_movie_strip |
| add_image_stripD | Blender Studio Pro MCP: add_image_strip |
| add_sound_stripD | Blender Studio Pro MCP: add_sound_strip |
| remove_stripD | Blender Studio Pro MCP: remove_strip |
| create_shader_nodeC | Create a shader node in the specified material's node tree. |
| connect_shader_nodesC | Connect two shader nodes via their sockets. |
| disconnect_shader_nodesC | Remove links connected to a specific input on a node. |
| set_shader_node_valueB | Set the default_value of a node input. Handles float, vector, and color. |
| get_shader_node_treeC | Return the full node tree: nodes with inputs and links. |
| delete_shader_nodeC | Remove a node from the material's node tree. |
| add_image_texture_nodeB | Create a ShaderNodeTexImage and load an image from the given path. |
| create_emission_materialA | Create a material with an Emission shader connected to the output. |
| create_glass_materialB | Create a material with a Glass BSDF shader connected to the output. |
| set_shader_node_propertyC | Set a property directly on a node (e.g., blend_type, operation, interpolation). |
| add_shape_keyD | Blender Studio Pro MCP: add_shape_key |
| list_shape_keysD | Blender Studio Pro MCP: list_shape_keys |
| set_shape_key_valueD | Blender Studio Pro MCP: set_shape_key_value |
| remove_shape_keyD | Blender Studio Pro MCP: remove_shape_key |
| add_markerD | Blender Studio Pro MCP: add_marker |
| list_markersD | Blender Studio Pro MCP: list_markers |
| remove_markerD | Blender Studio Pro MCP: remove_marker |
| play_animationD | Blender Studio Pro MCP: play_animation |
| stop_animationD | Blender Studio Pro MCP: stop_animation |
| set_preview_rangeD | Blender Studio Pro MCP: set_preview_range |
| unwrap_uvC | Unwrap UVs for a mesh object using the specified method. |
| bake_textureC | Bake a texture map for the specified object using Cycles. |
| create_uv_mapC | Create a new UV map on the specified mesh object. |
| set_active_uv_mapC | Set the active UV map on the specified object. |
| list_uv_mapsB | List all UV maps on the specified object. |
| project_from_viewC | Project UVs from a camera or the scene's active camera. |
| set_viewport_shadingD | shading_type: WIREFRAME, SOLID, MATERIAL, RENDERED |
| set_3d_cursorD | Blender Studio Pro MCP: set_3d_cursor |
| get_3d_cursorD | Blender Studio Pro MCP: get_3d_cursor |
| snap_cursor_to_selectedD | Blender Studio Pro MCP: snap_cursor_to_selected |
| snap_selected_to_cursorD | Blender Studio Pro MCP: snap_selected_to_cursor |
| frame_allD | Blender Studio Pro MCP: frame_all |
| frame_selectedC | Blender Studio Pro MCP: frame_selected |
| set_pivot_pointD | ACTIVE_ELEMENT, MEDIAN_POINT, INDIVIDUAL_ORIGINS, CURSOR, BOUNDING_BOX_CENTER |
| get_world_infoD | Blender Studio Pro MCP: get_world_info |
| ensure_worldD | Blender Studio Pro MCP: ensure_world |
| set_world_backgroundB | Set Background shader color/strength on the world. |
| set_hdriC | Load an HDRI/environment texture into the world. |
| set_color_managementD | Blender Studio Pro MCP: set_color_management |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 223 tools
Several tools overlap significantly: call_operator and execute_python can perform the work of many dedicated commands, create_object overlaps with create_camera/create_light/create_curve, and frame_selected vs frame_selected_objects are nearly identical names for different operations. With 223 tools, an agent will frequently struggle to select the correct one.
The overwhelming majority of tools follow a clear lower_snake_case verb_noun pattern, with create/add/set/list used fairly consistently. Minor inconsistencies like gn vs geometry_nodes, gp vs grease_pencil, and a few standalone verbs like undo/redo prevent a perfect score.
At 223 tools, this is far beyond the heavy threshold and includes both a complete bpy.ops bridge and extensive dedicated high-level commands, creating massive redundancy. This extreme count makes the server unnecessarily difficult to navigate.
The server covers nearly every Blender domain--modeling, materials, animation, physics, rendering, geometry nodes, sequencer, and more--while also exposing call_operator, execute_python, and set_attr_path as universal escape hatches. There are no obvious dead ends in the tool surface.