Blender MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| blender_get_objectsA | List objects in the Blender scene with optional filters. Returns name and type for each object by default. Use this as the first call to understand what exists in a scene. Do NOT use for: detailed object properties (use blender_get_object_data), material listing (use blender_get_materials), or collection tree (use blender_get_collections). |
| blender_get_object_dataA | Get detailed data for a single object. Use the 'include' parameter to control which data is returned, avoiding context overflow. Use this when: you need details about a specific object. Do NOT use for: armature bone data (use blender_get_armature_data), node tree structure (use blender_get_node_tree). |
| blender_get_node_treeA | Read the structure of any node tree — shader, compositor, or geometry nodes. Supports all 7 contexts. Use this when: you need to understand node graph structure before editing. Do NOT use for: editing nodes (use blender_edit_nodes). |
| blender_get_animation_dataA | Read animation data for an object or scene — keyframes, F-Curves, NLA strips, drivers, and shape keys. Use this when: you need to understand existing animation before modifying it. Do NOT use for: modifying animation (use blender_edit_animation). |
| blender_get_materialsA | List all materials in the file with their basic properties (name, use_nodes, user count, base PBR values). Use this when: you need an overview of available materials. Do NOT use for: detailed node tree structure (use blender_get_node_tree with tree_type=SHADER). |
| blender_get_sceneA | Get scene-level global information — statistics, render engine config, world environment basics, timeline/FPS, Blender version, memory usage. Use this when: you need the high-level project overview. Do NOT use for: object details (use blender_get_objects or blender_get_object_data). |
| blender_get_collectionsA | Return the collection hierarchy tree. Each collection shows name, child collections, object count, viewport/render visibility, and color tag. Use this when: you need to understand scene organization. Do NOT use for: listing objects (use blender_get_objects with collection filter). |
| blender_get_armature_dataA | Read armature/bone data — bone hierarchy, head/tail/roll positions, bone constraints, rest/pose transforms, bone groups, IK chains. Use this when: you need bone/rig information for animation or rigging. Do NOT use for: general object info (use blender_get_object_data). |
| blender_get_imagesA | List all images/textures in the file — name, dimensions, format, file path, packed status, color space, user count. Use this when: you need to audit textures or find missing image files. Do NOT use for: viewport screenshot (use blender_capture_viewport). |
| blender_capture_viewportA | Capture a screenshot of the current 3D viewport. This is the LLM's only way to 'see' the visual result. Supports different shading modes and camera view. Use this when: you need visual verification of changes. Do NOT use for: scene data queries (use blender_get_scene). |
| blender_get_selectionA | Return the current selection state — selected objects, active object, current interaction mode, and active tool. Also returns node_editor selection if a Shader/Geometry/Compositor node editor is open, including selected nodes and the active node. Use this when: you need to understand what the user is currently working on. Do NOT use for: listing all objects (use blender_get_objects). |
| blender_edit_nodesA | Edit any node tree in Blender — add/remove nodes, connect/disconnect sockets, set node input values and properties. Supports all 7 node tree contexts. Operations are executed in order within a single call. Use this when: you need to build or modify shader, compositor, or geometry node graphs. Do NOT use for: high-level PBR properties (use blender_manage_material), reading node trees (use blender_get_node_tree first). |
| blender_edit_animationA | Edit animation data — insert/modify/delete keyframes, manage NLA strips, set drivers, control shape keys, and configure timeline settings. Use this when: you need to create or modify animation. Do NOT use for: reading animation data (use blender_get_animation_data). |
| blender_edit_sequencerA | Edit the Video Sequence Editor (VSE) — add/modify/delete strips, add transitions and effects. Supports video, image, audio, text, color, and adjustment layer strips. Use this when: you need to edit video sequences or add VSE effects. Do NOT use for: compositor node effects (use blender_edit_nodes with tree_type=COMPOSITOR). |
| blender_create_objectA | Create a new object in the Blender scene. Supports mesh primitives, lights, cameras, curves, empties, armatures, and text objects. Automatically linked to the specified collection. Use this when: you need to add a new object to the scene. Do NOT use for: modifying existing objects (use blender_modify_object), adding modifiers (use blender_manage_modifier), assigning materials (use blender_manage_material). |
| blender_modify_objectA | Modify an existing object — transform, parent, visibility, rename, set origin, or delete. The 'delete' action is destructive and irreversible. Use this when: you need to change an object's properties. Do NOT use for: modifiers (use blender_manage_modifier), materials (use blender_manage_material), constraints (use blender_manage_constraints), physics (use blender_manage_physics). |
| blender_manage_materialA | Create, edit, assign, duplicate, or delete materials. For high-level PBR property editing only. The 'delete' action is destructive and irreversible. Use this when: you need to create/configure materials or assign them to objects. Do NOT use for: node-level shader editing (use blender_edit_nodes with tree_type=SHADER). |
| blender_manage_modifierA | Add, configure, apply, remove, or reorder modifiers on an object. The 'apply' and 'remove' actions are destructive. Use this when: you need to work with modifiers. Do NOT use for: reading modifier details (use blender_get_object_data with include=['modifiers']). |
| blender_manage_collectionA | Create, delete, or manage collections — link/unlink objects, set parent, control visibility. Use this when: you need to organize scene objects into collections. Do NOT use for: reading collection data (use blender_get_collections). |
| blender_manage_uvA | UV mapping operations — mark/clear seams, unwrap with various algorithms, pack/scale UV islands, manage UV layers. Use this when: you need algorithmic UV unwrapping or UV layer management. Do NOT use for: UV painting (use blender_execute_operator). |
| blender_manage_constraintsA | Add, configure, remove, enable/disable, or reorder constraints on objects or bones. Use this when: you need to set up rigging constraints or motion control. Do NOT use for: reading constraints (use blender_get_object_data with include=['constraints'] or blender_get_armature_data with include=['constraints']). |
| blender_manage_physicsA | Add, configure, remove, or bake physics simulations — rigid body, cloth, soft body, fluid, particle systems, and force fields. Use this when: you need physics simulations on objects. Do NOT use for: reading physics data (use blender_get_object_data with include=['physics']). |
| blender_setup_sceneA | Configure scene-level settings — render engine and quality, output resolution, world environment basics, and timeline/FPS. Use this when: you need to configure render, output, or timeline settings. Do NOT use for: detailed world shader editing (use blender_edit_nodes with tree_type=SHADER, context=WORLD). |
| blender_edit_meshA | Edit mesh geometry with operations like extrude, inset, bevel, loop cut, dissolve, merge, subdivide, and delete. Use this when: you need to modify mesh topology. Do NOT use for: UV operations (use blender_manage_uv), object transforms (use blender_modify_object). |
| blender_execute_operatorA | Execute any Blender operator (bpy.ops.*) by name with parameters. Use this when: you need a Blender operation not covered by other tools. Prefer specialized tools first for better validation and error messages. Do NOT use for: object creation (use blender_create_object), script execution (use blender_execute_script), or import/export (use blender_import_export). |
| blender_execute_scriptA | Execute arbitrary Python code in Blender's Python environment. CAUTION: This tool has full access to Blender's API and filesystem. Use only when: no other tool can accomplish the task. Try blender_execute_operator first for standard Blender operations. |
| blender_import_exportA | Import or export asset files in various formats — FBX, OBJ, glTF, USD, Alembic, STL, and more. Use this when: you need to import assets into or export assets from Blender. Do NOT use for: scene manipulation (use blender_create_object or blender_modify_object). |
| blender_render_sceneA | Render the current scene to an image file. Supports both still images and animations. Use this when: you need to render the scene to disk. Do NOT use for: viewport screenshots (use blender_capture_viewport), scene setup (use blender_setup_scene). |
| blender_batch_executeA | Execute multiple operations in a single batch request. Reduces MCP round-trips for complex workflows. Use this when: you need to perform multiple independent operations efficiently. Do NOT use for: single operations (use the specific tool directly). |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/ageless-h/blender-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server