Blender Universal & Token-Efficient MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| BLENDER_HOST | No | The hostname or IP address of the Blender MCP bridge TCP socket server (default is localhost). | localhost |
| BLENDER_PATH | No | Path to the Blender executable used for the offline headless CLI mode (blender -b) when no live Blender editor is connected. | |
| BLENDER_PORT | No | The port of the Blender MCP bridge TCP socket server (default is 8190). | 8190 |
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
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| blender_pingA | Checks the connection status to the Blender Editor. Returns live connection state, active scene, Blender version, and mode if Blender is open with MCP Add-on. If Blender is closed, reports offline environment status and local .blend files detected on disk. |
| blender_get_scene_infoA | Retrieves high-level scene configuration: active camera, render engine (Cycles / EEVEE), FPS, frame range, unit system, and object counts by type. |
| blender_get_outlinerB | Returns a token-efficient hierarchy of collections and objects in the current Blender scene. Filters by collection_name if specified. Includes object names, types, and visibility. |
| blender_inspect_objectA | Inspects detailed properties of a specific Blender object: transforms (location, rotation in degrees, scale), mesh statistics (vertices, edges, polygons), applied modifiers, assigned materials, constraints, and parent/children relationships. |
| blender_create_objectC | Creates a new 3D primitive or entity in the Blender scene. Supported primitive_type: 'cube', 'uv_sphere', 'ico_sphere', 'cylinder', 'cone', 'plane', 'torus', 'monkey', 'circle', 'camera', 'light', 'empty', 'collection'. Location and scale are 3D floats [X, Y, Z]. Rotation is [X, Y, Z] in degrees. |
| blender_modify_objectA | Modifies an existing object in the scene: transforms (location, rotation in degrees, scale), renaming, viewport visibility, parenting, and moving to a collection. |
| blender_manage_modifiersC | Manages modifiers on an object. action: 'add', 'remove', or 'apply'. modifier_type: e.g. 'SUBSURF', 'BEVEL', 'MIRROR', 'BOOLEAN', 'SOLIDIFY', 'ARRAY'. Optional properties:
|
| blender_manage_materialB | Creates, assigns, or configures a Principled BSDF material on an object. action: 'assign', 'create', or 'remove'. color: RGBA or RGB float list [R, G, B, (A)], values between 0.0 and 1.0. roughness, metallic: float values between 0.0 and 1.0. emission: RGB float list, emission_strength: float multiplier. |
| blender_render_viewportA | Captures a viewport preview screenshot (fast OpenGL render) or triggers a full Cycles/EEVEE render. Saves the resulting PNG image to disk and returns the file path and resolution. |
| blender_export_assetB | Exports the current scene or selected objects to a 3D asset file. format: 'gltf' (or 'glb'), 'fbx', or 'obj'. selected_only: if True, exports only selected objects. |
| blender_execute_scriptA | Executes an arbitrary Python script inside Blender's Python runtime ('bpy'). Captures standard output (stdout), errors (stderr), and any variable named 'result'. Ideal for procedural modeling, complex operations, rigging, or custom automation. |
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 11 tools
Each tool targets a distinct Blender operation: connection check, scene metadata, hierarchy, object inspection, export, script execution, object creation/modification, modifiers, materials, and rendering. Overlap is minimal; execute_script is a general escape hatch but clearly distinguished as arbitrary Python.
All 11 tools use the same blender_ prefix and snake_case verb_noun pattern (e.g., blender_create_object, blender_manage_material). Deviations are minor (e.g., blender_ping, blender_get_outliner) but still consistent and predictable.
11 tools is well within the 3–15 sweet spot for a domain-specific MCP server. Each tool covers a distinct high-level capability, avoiding redundancy.
Core lifecycle operations for scene objects are covered: create, inspect, modify, material, modifiers, export, render, plus a script escape hatch. However, no dedicated delete-object tool exists, and file save/load or selection management are absent; these can be worked around via blender_execute_script.