Skip to main content
Glama
domainjon

Blender Universal & Token-Efficient MCP Server

by domainjon

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
BLENDER_HOSTNoThe hostname or IP address of the Blender MCP bridge TCP socket server (default is localhost).localhost
BLENDER_PATHNoPath to the Blender executable used for the offline headless CLI mode (blender -b) when no live Blender editor is connected.
BLENDER_PORTNoThe 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

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

Tools

Functions exposed to the LLM to take actions

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

  • levels: subdivision levels for SUBSURF

  • width, segments: for BEVEL

  • target_object, operation ('DIFFERENCE', 'UNION', 'INTERSECT'): for BOOLEAN

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

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A3.7/5.0

Scored across 11 tools

Disambiguation5/5

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.

Naming Consistency5/5

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.

Tool Count5/5

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.

Completeness4/5

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.

Maintenance

ActivitySlowing
ResponsivenessNo issues