Skip to main content
Glama
dwgx

Blender Copilot MCP Server

by dwgx

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
BLENDER_HOSTNoBlender addon TCP hostlocalhost
BLENDER_PORTNoBlender addon TCP port9876

Capabilities

Features and capabilities supported by this server

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

Tools

Functions exposed to the LLM to take actions

NameDescription
get_scene_infoA

Get complete scene information including all objects, camera, render settings, and frame range. Returns object names, types, locations, vertex/face counts for meshes, and scene metadata.

get_object_infoA

Get detailed information about a specific object by name. Returns location, rotation, scale, materials, modifiers, constraints, vertex/edge/face counts, bounding box, and parent/child hierarchy.

analyze_sceneA

Analyze the entire scene for statistics and potential issues. Returns total vertex/face/triangle counts, object type breakdown, material count, top objects by triangle count, and issues like non-uniform scale, missing materials, n-gons.

get_viewport_screenshotA

Capture a screenshot of the 3D viewport. Returns the file path to the saved image. Uses OpenGL render for speed. Useful for visual verification of scene state.

create_objectA

Create a 3D primitive object in the scene. Types: CUBE, SPHERE, UV_SPHERE, ICO_SPHERE, CYLINDER, CONE, TORUS, PLANE, CIRCLE, GRID, MONKEY, EMPTY, CAMERA, LIGHT, POINT_LIGHT, SUN_LIGHT, SPOT_LIGHT, AREA_LIGHT. Location is [x, y, z]. Rotation is in degrees [x, y, z]. Scale is [x, y, z].

create_curveB

Create a curve from a list of control points. Each point is [x, y, z] (or [x, y, z, w] for NURBS). Types: BEZIER, NURBS, POLY. Set bevel_depth > 0 for tubular curves. Set close=True for closed loops. Fill modes: FULL, BACK, FRONT, NONE.

create_textB

Create a 3D text object. Set extrude > 0 for 3D text depth. Set bevel_depth > 0 for beveled edges. Rotation in degrees. Alignment options: LEFT, CENTER, RIGHT for X; TOP, CENTER, BOTTOM for Y.

create_armatureA

Create an armature (skeleton) with bones for rigging. Each bone dict: {"name": "BoneName", "head": [x,y,z], "tail": [x,y,z], "parent": "ParentBone"}. Parent is optional. Bones are created in edit mode then switched back to object mode.

translate_objectA

Move an object. If relative=True (default), adds to current position. If relative=False, sets absolute position. Units are Blender units (meters).

rotate_objectB

Rotate an object. Values are in degrees by default. If relative=True, adds to current rotation.

scale_objectB

Scale an object. Set uniform to scale equally on all axes. If relative=True, multiplies current scale. If False, sets absolute scale.

apply_transformA

Apply (freeze) the object's transforms, resetting them to identity. Essential before export or after non-uniform scaling.

snap_to_groundA

Snap an object's lowest point to Z=0 (the ground plane). Useful for placing objects on a floor or surface.

origin_setB

Set the origin point of an object. Types: ORIGIN_GEOMETRY (center of geometry), ORIGIN_CENTER_OF_MASS, ORIGIN_CENTER_OF_VOLUME, ORIGIN_CURSOR, GEOMETRY_ORIGIN.

duplicate_objectA

Duplicate an object. If linked=True, shares mesh data (instance). If linked=False (default), creates an independent copy.

delete_objectB

Delete an object from the scene by name.

select_objectA

Select an object and make it active. If add=False (default), deselects all others first.

set_parentB

Set parent-child relationship. If keep_transform=True, child maintains its world position.

clear_parentA

Remove parent from an object. If keep_transform=True, object stays in place.

set_visibilityB

Set viewport and render visibility of an object.

get_hierarchyA

Get the parent-child hierarchy tree. If name is given, returns that object's subtree. If no name, returns all root objects and their children.

rename_objectA

Rename an object. Blender may append .001 if the name already exists.

undoA

Undo the last operation in Blender.

redoB

Redo the last undone operation in Blender.

boolean_operationB

Perform a boolean operation between two mesh objects. Operations: DIFFERENCE (subtract), UNION (add), INTERSECT (overlap only). If apply=True, the modifier is applied and the cutter is removed.

join_objectsB

Join multiple objects into one. All objects are merged into the first one in the list.

separate_objectA

Separate an object into multiple objects. Modes: LOOSE (by loose parts), MATERIAL (by material), SELECTED (by selection).

subdivideA

Subdivide all faces of a mesh. Cuts = number of subdivision levels. Smooth > 0 applies smoothing to subdivided vertices.

extrude_facesB

Extrude all faces of a mesh along their normals by the given offset distance.

bevel_edgesB

Bevel all edges of a mesh. Width controls bevel size, segments controls smoothness.

inset_facesC

Inset all faces of a mesh. Thickness controls inset distance, depth controls push in/out.

shade_smoothB

Set smooth or flat shading on an object. smooth=True for smooth, False for flat.

decimateB

Reduce mesh polygon count. Ratio 0.5 = reduce to 50% of original faces. Lower ratio = more reduction. Applies modifier immediately.

remeshB

Remesh an object to create clean, uniform topology. Modes: VOXEL (uniform voxels), SMOOTH, SHARP, BLOCKS. Smaller voxel_size = higher detail but more polygons.

merge_by_distanceA

Merge vertices that are closer than the threshold distance. Useful for cleaning up duplicate vertices after boolean operations.

flip_normalsA

Flip all face normals of a mesh. Useful when faces appear inside-out.

fill_holesC

Automatically detect and fill holes in a mesh by selecting non-manifold edges and filling.

bridge_edge_loopsA

Bridge two selected edge loops to create connecting faces. The object must have exactly two edge loops selected in edit mode.

add_modifierC

Add a modifier to an object. Common types: SUBSURF, MIRROR, ARRAY, SOLIDIFY, BEVEL, BOOLEAN, SHRINKWRAP, REMESH, DECIMATE, SMOOTH, CAST, WAVE, DISPLACE, LATTICE. Properties dict sets modifier attributes, e.g. {"levels": 2} for SUBSURF.

apply_modifierC

Apply a modifier to permanently bake its effect into the mesh geometry.

remove_modifierC

Remove a modifier from an object without applying it.

create_arrayB

Create a linear array of an object. Count = number of copies. Offset is [x, y, z]. If use_relative=True, offset is relative to object size. Example: offset=[1,0,0] with relative = one object-width apart on X.

create_circular_arrayB

Create a circular array using an empty as rotation pivot. Count = number of copies around the circle. Axis: X, Y, or Z. Radius offsets the object from the pivot center.

set_materialA

Set PBR material properties on an object using Principled BSDF. base_color: [R,G,B] or [R,G,B,A] (0-1 range). metallic: 0=dielectric, 1=metal. roughness: 0=mirror, 1=diffuse. transmission: 0=opaque, 1=glass. emission_color + emission_strength for glowing materials.

create_glassC

Apply a glass/transparent material to an object. IOR: 1.0=air, 1.33=water, 1.45=glass, 1.52=window glass, 2.42=diamond.

create_metalB

Apply a metallic material to an object. Default is silver-ish. Color examples: gold=[1.0,0.76,0.33], copper=[0.72,0.45,0.2], steel=[0.8,0.8,0.8].

create_emissionB

Apply an emissive (glowing) material to an object. Color is [R,G,B,A]. Strength controls brightness (10+ for visible glow in Cycles).

list_materialsA

List all materials in the scene with their base color and user count.

batch_assign_materialA

Assign the same material to multiple objects at once. Provide either a color [R,G,B] to create a new material, or material_name to use existing.

set_world_colorA

Set the world background to a solid color. Color is [R,G,B] (0-1 range). Strength controls brightness. Good for studio-style renders.

set_world_hdriA

Set an HDRI image as the world environment for realistic lighting. Provide the full file path to an .hdr or .exr file.

set_sky_textureC

Set a procedural Nishita sky texture for realistic outdoor lighting. sun_elevation: degrees above horizon. sun_rotation: compass direction. turbidity: atmospheric haze (2=clear, 10=hazy).

set_fogA

Add volumetric fog to the world. Density controls thickness. Color is [R,G,B] for emission tint. Requires Cycles or EEVEE for volume rendering.

set_cameraB

Configure the scene camera. Location is [x,y,z]. Rotation in degrees [x,y,z]. focal_length in mm (35=normal, 85=portrait, 200=telephoto). target: object name to point at. depth_of_field: {"enabled": true, "aperture": 2.8, "focus_object": "name", "focus_distance": 5.0}.

setup_studio_lightingA

Set up professional studio lighting. Removes existing lights and creates a new setup. Styles: THREE_POINT (key/fill/rim), REMBRANDT (dramatic), SOFT_BOX (even, soft), or default SUN lighting for outdoor scenes.

add_lightB

Add a light to the scene. Types: POINT, SUN, SPOT, AREA. Energy in watts. Color is [R,G,B]. Size controls shadow softness (AREA/POINT). Rotation in degrees (for SPOT/AREA directional lights).

render_imageB

Render the scene to an image file. Format is auto-detected from extension (.png, .jpg, .exr, .hdr, .bmp, .tiff). Engine: CYCLES, BLENDER_EEVEE_NEXT. Samples controls quality (more = better but slower).

configure_renderA

Configure render settings without rendering. Engine: CYCLES, BLENDER_EEVEE_NEXT. Resolution is [width, height]. denoise=True enables AI denoising in Cycles. transparent_bg=True for transparent background. color_management can set view_transform, look, exposure, gamma.

export_sceneC

Export the scene or selected objects to a file. Formats: glTF/GLB (web/game), OBJ, FBX (game engines), STL (3D printing), USD/USDC/USDA (VFX), PLY (point clouds). Creates directories as needed.

create_collectionB

Create a new collection (like a folder for organizing objects). Optionally nest it under a parent collection.

move_to_collectionC

Move an object to a different collection. Removes from current collection(s).

list_collectionsA

List all collections in the scene as a tree with their objects.

set_collection_visibilityA

Set viewport and render visibility of a collection and all its objects.

add_constraintC

Add a constraint to an object. Common types: TRACK_TO (aim at target), COPY_LOCATION, COPY_ROTATION, COPY_SCALE, LIMIT_LOCATION, LIMIT_ROTATION, FOLLOW_PATH, CLAMP_TO, DAMPED_TRACK, LOCKED_TRACK. Properties dict sets constraint attributes.

remove_constraintC

Remove a constraint from an object by constraint name.

batch_transformA

Apply the same transform to multiple objects at once. Translate is [x,y,z], rotate is [x,y,z] in degrees, scale is [x,y,z]. If relative=True, transforms are additive/multiplicative.

batch_deleteC

Delete multiple objects at once by their names.

align_objectsB

Align multiple objects along an axis. Axis: X, Y, or Z. Align_to: CENTER (average), MIN (lowest), MAX (highest), CURSOR (3D cursor).

distribute_objectsA

Evenly distribute objects along an axis. If spacing is given, uses fixed spacing. If spacing is None, distributes evenly between first and last object.

center_objectsA

Move objects so their collective center is at the world origin. If no names given, centers all objects in the scene.

set_keyframeC

Insert a keyframe on an object property at a specific frame. data_path examples: "location", "rotation_euler", "scale", "hide_viewport". Value sets the property value at that frame (list for vectors, float for scalars).

set_animation_rangeB

Set the animation frame range and optionally the FPS. Standard FPS values: 24 (film), 25 (PAL), 30 (NTSC), 60 (smooth).

set_frameC

Set the current frame in the timeline.

clear_animationC

Remove all animation data from an object.

add_rigid_bodyB

Add rigid body physics to an object. Types: ACTIVE (affected by gravity), PASSIVE (static collider). collision_shape: BOX, SPHERE, CAPSULE, CYLINDER, CONE, CONVEX_HULL (default, fits shape), MESH (exact, slow).

add_clothC

Add cloth simulation to a mesh object. Quality controls simulation accuracy (1-10). Mass in kg.

add_particlesA

Add a particle system to an object. Types: EMITTER (emit over time), HAIR (static strands). Count = number of particles. Lifetime in frames. Velocity = emission speed.

bake_physicsC

Bake all physics simulations in the scene to cache. Must be baked before rendering physics simulations.

smart_uv_projectB

Automatically UV unwrap a mesh using Smart UV Project. angle_limit in degrees controls island splitting (66 is good default). island_margin adds padding between UV islands.

uv_unwrapB

UV unwrap a mesh using seam-based unwrapping. Methods: ANGLE_BASED (good default), CONFORMAL (preserves angles better). Margin adds padding between UV islands.

execute_codeA

Execute arbitrary Python code inside Blender. Has access to bpy, mathutils, math, os. Blocked imports: subprocess, shutil, socket, ctypes, multiprocessing, webbrowser. Store results in a variable named 'result' to return them. Use this for advanced operations not covered by other tools.

optimize_sceneA

Optimize the entire scene: remove orphan meshes/materials/images, and merge duplicate vertices on all meshes. Returns a log of all optimizations performed.

set_material_colorB

Set or create a simple color material on an object. color: [R,G,B] or [R,G,B,A] (0-1 range).

set_principled_bsdfC

Full control over Principled BSDF PBR shader. Only set the parameters you need. Colors as [R,G,B] or [R,G,B,A] 0.0-1.0. Scalars 0.0-1.0 except emission_strength and ior.

set_textureB

Apply a previously downloaded PolyHaven texture to an object. texture_id must have been downloaded first via download_polyhaven_asset.

get_polyhaven_statusA

Check if PolyHaven integration is enabled in Blender. PolyHaven provides free HDRIs, textures, and 3D models.

get_polyhaven_categoriesA

Get categories for a PolyHaven asset type. asset_type: hdris, textures, models, all.

search_polyhaven_assetsB

Search PolyHaven assets with optional filtering. asset_type: hdris, textures, models, all. categories: comma-separated list of categories to filter by.

download_polyhaven_assetB

Download and import a PolyHaven asset into Blender. asset_type: hdris, textures, models. resolution: 1k, 2k, 4k. file_format: hdr/exr for HDRIs, jpg/png for textures, gltf/fbx for models.

get_sketchfab_statusA

Check if Sketchfab integration is enabled in Blender. Sketchfab has a wide variety of realistic downloadable 3D models.

search_sketchfab_modelsC

Search Sketchfab for 3D models. query: search text. count: max results. downloadable: only downloadable models.

get_sketchfab_model_previewA

Get a preview thumbnail of a Sketchfab model by UID. Use before downloading to visually confirm the model.

download_sketchfab_modelC

Download and import a Sketchfab model. Scales to target_size (largest dimension in meters). Examples: chair=1.0, table=0.75, car=4.5, person=1.7, small object=0.1-0.3.

get_hyper3d_statusC

Check if Hyper3D Rodin integration is enabled. Generates 3D models from text or images.

generate_hyper3d_model_via_textB

Generate 3D model from text description using Hyper3D Rodin. text_prompt: English description. bbox_condition: optional [L,W,H] ratio.

generate_hyper3d_model_via_imagesA

Generate 3D model from images using Hyper3D Rodin. Provide either input_image_paths (local) or input_image_urls (remote), not both. bbox_condition: optional [L,W,H] ratio.

poll_rodin_job_statusA

Poll Hyper3D Rodin generation status. Task is done when all statuses are 'Done'. Provide subscription_key (MAIN_SITE) or request_id (FAL_AI) from the generate step.

import_generated_assetA

Import a Hyper3D Rodin generated asset after generation completes. name: object name in scene. Provide task_uuid (MAIN_SITE) or request_id (FAL_AI).

get_hunyuan3d_statusC

Check if Hunyuan3D integration is enabled. Generates 3D models from text or images.

generate_hunyuan3d_modelB

Generate 3D model using Hunyuan3D from text and/or image. text_prompt: English/Chinese description. input_image_url: local or remote image URL.

Prompts

Interactive templates invoked by user choice

NameDescription
asset_creation_strategyPreferred strategy for creating assets in Blender

Resources

Contextual data attached and managed by the client

NameDescription

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/dwgx/blender-copilot'

If you have feedback or need assistance with the MCP directory API, please join our Discord server