Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault

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

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

Tools

Functions exposed to the LLM to take actions

NameDescription
blender_scene_get_infoA

Get information about the current Blender scene including name, frame range, render engine, resolution, and object count.

blender_scene_list_objectsA

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

blender_object_get_transformA

Get the position, rotation, and scale of a Blender object by name.

blender_object_get_hierarchyA

Get the parent/child hierarchy of objects. If name is provided, returns the subtree for that object. Otherwise returns the full scene hierarchy.

blender_material_listA

List all materials in the Blender file.

blender_object_createC

Create a new mesh object in Blender. Supported types: cube, sphere, cylinder, plane, cone, torus.

blender_object_deleteC

Delete an object from the Blender scene by name.

blender_object_translateA

Move an object. Provide either 'location' for absolute positioning or 'offset' for relative movement, not both.

blender_object_rotateA

Set the rotation of an object. Provide rotation as [x, y, z] angles. By default angles are in degrees.

blender_object_scaleB

Set the scale of an object. Provide scale as [x, y, z].

blender_object_duplicateC

Duplicate an object in the Blender scene. Optionally provide a new name.

blender_material_createB

Create a new material. Optionally set an initial base color as [r, g, b] or [r, g, b, a] with values 0-1.

blender_material_assignB

Assign an existing material to an object.

blender_material_set_colorB

Set the base color of a material. Color is [r, g, b] or [r, g, b, a] with values 0-1.

blender_material_set_textureC

Set an image texture as the base color of a material. Provide the file path to the image.

blender_render_stillA

Render the current scene as a still image. Optionally set output path, resolution, and render engine (BLENDER_EEVEE, CYCLES, etc.). Use transport='bridge' for the live Blender add-on session, or transport='headless' with blend_file='/path/to/file.blend' to render in a separate background Blender process.

blender_render_animationA

Render an animation. Optionally set output path, frame range, and render engine. Use transport='bridge' for the live Blender add-on session, or transport='headless' with a blend_file to render in a separate background Blender process.

blender_export_gltfB

Export the scene as glTF/GLB. Provide the output file path.

blender_export_objB

Export the scene as OBJ. Provide the output file path.

blender_export_fbxB

Export the scene as FBX. Provide the output file path.

blender_history_undoA

Undo the last operation in Blender.

blender_history_redoA

Redo the last undone operation in Blender.

blender_python_execA

Execute a Python script in Blender's context synchronously. Provide either 'code' (inline Python string) or 'script_path' (path to a .py file), not both. The script has access to 'bpy', 'mathutils', and an 'args' dict with your supplied arguments. Set 'result' in the script to return a JSON-serializable value. Returns the result, captured stdout/stderr, and execution duration. Use transport='bridge' for the live Blender add-on session, or transport='headless' to run the script in a separate blender -b process. For long-running tasks like baking, use blender_python_exec_async.

blender_python_exec_asyncA

Start a long-running Python script in Blender asynchronously. Same parameters as blender_python_exec. Returns a job_id immediately. Use blender_job_status to poll for completion, and blender_job_cancel to abort. The script can check 'cancel_event.is_set()' to detect cancellation. Ideal for fluid baking, rigid body simulation, or heavy scene generation. Note: bridge jobs run on Blender's main thread, so the Blender UI is busy while they run. Use transport='headless' to run the job in a separate background Blender process instead.

blender_job_statusA

Get the status of an async Blender job. Returns job_id, status (queued/running/succeeded/failed/cancelled), timestamps, result, stdout, stderr, and error. Poll this after starting a job with blender_python_exec_async.

blender_job_cancelA

Cancel a running or queued async Blender job. The job's cancel_event is set; scripts that check it will stop gracefully.

blender_job_listA

List known async Blender jobs with their IDs, statuses, and creation timestamps.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A3.6/5.0

Scored across 27 tools

Disambiguation5/5

Each tool targets a distinct resource and action, with clear separation between scene, object, material, render, export, history, Python execution, and job management. Even potentially overlapping tools like blender_python_exec vs. blender_python_exec_async are explicitly differentiated by sync vs. async behavior.

Naming Consistency4/5

All tools use the blender_ prefix and snake_case, with predictable domain/action naming. Minor ordering deviations exist (e.g., blender_render_still vs. blender_scene_get_info), but the overall pattern remains highly readable.

Tool Count4/5

27 tools is slightly above the typical 3-15 range, but Blender is a broad domain and each tool covers a specific, useful operation. No tool feels redundant or trivial, though some consolidation (e.g., separate export formats) could reduce the count.

Completeness4/5

The surface covers core Blender automation: object creation/transform/duplication, material creation/assignment, rendering, export, history, and Python execution. Minor gaps like material deletion or scene save/load are not directly exposed, but the asynchronous Python execution tool can fill those gaps.

Maintenance

ActivityMaintained
ResponsivenessSlow