Create 3D models in Blender using natural language. MCP server lets agent directly control Blender, enabling you to build complex 3D scenes through conversation. Scene comprehension tooling and skills gives LLM improved spatial awareness for better results.
Spatial intelligence suite helps AI understand space.
- Natural language positioning β Say “place the lamp on the nightstand” and it figures out the coordinates, checks for collisions, and handles stacking.
- Real-world dimensions database β 55+ common objects (furniture, appliances, decor) with accurate real-world measurements. The AI knows a kitchen counter is 0.9m tall and a doorway is 2.1m Γ 0.9m.
- Collision detection & safe movement β Validate transforms before applying them. Query how far an object can move in each direction without hitting anything.
- Spatial queries β Ask “what’s on the table?” or “what’s near the door?” and get answers.
- Scene Building Guide β A comprehensive reference doc that AI agents can read before building a scene, covering room dimensions, placement rules, common mistakes, and worked examples.
ASCII visualizer tool gives the LLM a way to understand spatial relationships between objects. Renders the scene from any angle β top, bottom, front, back, left, right, or all six at once. Configurable resolution up to 120Γ120 cells.
--- Top (looking down, +Z) ---
Axes: horizontal=X, vertical=Y | 5.3m x 4.3m (cell: 0.25m, grid: 21x17)
WWWWWWWWWWWWWWWWWWWWW
W...................W
W...................W
W..TTTTTT..........W
W..TTTTTT..........W
W..TTTTTT....SS....W
W............SS....W
W...................W
W.......CCCC.......W
W.......CCCC.......W
W...................W
WWWWWWWWWWWWWWWWWWWWW
Legend: C=Couch, S=Shelf, T=Table, W=Wall_Back
Full control over all four Blender light types β point, sun, spot, and area lights. Set color, intensity, shadow properties, cone angles, and more. Previously only HDRI environment lighting was available; now you can build precise studio setups, dramatic spotlights, or warm interior scenes.
Create perspective, orthographic, and panoramic cameras. Auto-frame objects for product shots. Set depth of field, adjust lens focal length, and control clipping planes. Essential for rendering composed shots of your scenes.
One command creates a properly dimensioned room with floor and four walls. Specify width, depth, height, and wall thickness β then start furnishing. Combined with the dimensions database and spatial tools, the AI can furnish a realistic room from a single prompt.
Extensible architecture allows you to plug in texture and model gen services of your choice, including Replicate, Meshy, Stability.ai, and more.
Built in access to thousands of free CC0 assets from Poly Haven β no API key needed. Download HDRIs for environment lighting, PBR texture sets for realistic materials, and ready-to-use 3D models. All assets are CC0 licensed (free for any use, no attribution required).
- Spatial intelligence: AI understands real-world dimensions, detects collisions, and reasons about object relationships β not just coordinates.
- AI-powered generation: Generate 3D meshes from text descriptions or reference images using Meshy and Stability AI.
- Complete scene control: Lighting, cameras, materials, rendering β everything you need to go from empty scene to finished render.
- Rapid prototyping: Iterate on designs through conversation, getting immediate visual feedback.
- VR-ready exports: Optimize and export models for Meta Quest and Horizon Worlds with built-in platform presets.
- Free assets: Thousands of CC0 HDRIs, textures, and models from Poly Haven β no API key required.
- Blender 4.0+
- Python 3.10+
- uv (recommended) or pip
1. Install Python dependencies
cd /path/to/blender-orchestrator
uv venv && source .venv/bin/activate
uv pip install -e .
2. Install the Blender add-on
python scripts/install_addon.py
Or manually: Blender β Edit β Preferences β Add-ons β Install β select blender_addon folder β enable “Blender MCP Bridge”
3. Configure Agent
Add to your Agent Desktop config (~/Library/Application Support/Agent/Agent_desktop_config.json on macOS):
{
"mcpServers": {
"blender": {
"command": "uv",
"args": ["--directory", "/path/to/blender-orchestrator", "run", "blender-mcp"]
}
}
}
For Claude Code CLI, add the same to .claude/settings.json.
- Open Blender
- Press
Nin the 3D Viewport β MCP tab β Click “Start Server” - Start talking to Claude about your 3D scene
Create and manipulate basic shapes with full control over position, rotation, and scale.
| Tool | Description |
|---|---|
create_cube, create_sphere, create_cylinder, create_cone, create_torus, create_plane |
Create primitive shapes |
move_object, rotate_object, scale_object |
Transform objects (absolute or relative) |
duplicate_object, delete_object |
Copy or remove objects |
set_origin, set_parent |
Control object origin and hierarchy |
Modify geometry with professional modeling operations.
| Tool | Description |
|---|---|
extrude_faces |
Extrude faces along normals |
bevel_edges |
Add bevels with configurable segments |
boolean_operation |
Union, difference, or intersect meshes |
subdivide_mesh, add_subdivision_surface |
Increase mesh resolution |
inset_faces, smooth_mesh |
Topology and smoothing operations |
Create complex organic and geometric forms.
| Tool | Description |
|---|---|
create_metaball, add_metaball_element |
Organic blob-like shapes that blend together |
create_bezier_curve, curve_to_mesh |
Spline-based modeling |
create_skin_mesh |
Generate smooth surfaces from edge skeletons |
create_character_from_template |
Pre-built character rigs (realistic, cartoon, chibi) |
Full PBR material support with AI-powered texture generation.
| Tool | Description |
|---|---|
create_material, assign_material, modify_material |
PBR material workflow |
generate_texture |
AI-generated textures from text |
generate_pbr_material_textures |
Complete material sets (diffuse, normal, roughness, metallic) |
| Tool | Description |
|---|---|
render_image |
Full render to file (EEVEE, Cycles, Workbench) |
capture_viewport |
Quick viewport screenshot |
set_render_settings, get_render_settings |
Configure resolution, samples, format |
set_world_hdri |
Apply HDRI environment lighting |
Create and control lights for realistic or stylized scene illumination.
| Tool | Description |
|---|---|
create_point_light |
Omnidirectional light (light bulbs, lanterns) |
create_sun_light |
Directional light for outdoor scenes |
create_spot_light |
Cone-shaped focused light (flashlight, stage light) |
create_area_light |
Soft rectangular/disk light (softboxes, panels) |
set_light_properties |
Modify existing light settings |
get_light_info, list_lights |
Query light information |
Create and position cameras for rendering and visualization.
| Tool | Description |
|---|---|
create_camera |
Create perspective, orthographic, or panoramic camera |
set_active_camera |
Set which camera is used for rendering |
look_at |
Point camera at a target object or location |
frame_objects |
Auto-position camera to frame objects nicely |
set_camera_properties |
Adjust lens, DOF, clipping, etc. |
get_camera_info, list_cameras |
Query camera information |
Tools for understanding and manipulating scene layout with real-world spatial awareness.
| Tool | Description |
|---|---|
get_semantic_scene_summary |
Enhanced scene summary with spatial semantics, clusters, and object relationships |
get_spatial_relationships |
Get what’s near, on top of, behind, or in front of an object |
query_spatial |
Answer natural language questions (“what is on the table?”) |
find_placement_position |
Find collision-free position relative to another object |
validate_transform |
Check a move/rotate/scale for collisions before applying |
get_safe_movement_range |
Calculate how far an object can move in each direction |
move_object_semantic |
Move objects with natural language (“place on the desk”) |
get_object_dimensions |
Look up real-world dimensions for 55+ common objects |
list_known_objects |
Browse the dimensions database by category |
get_placement_rules |
Get placement guidelines (clearances, heights, spacing) |
show_floor_plan |
ASCII visualization from any angle (top/bottom/front/back/left/right/all) |
create_room_bounds |
Create a properly dimensioned room (floor + 4 walls) |
See the Scene Building Guide for detailed usage patterns and examples.
| Tool | Description |
|---|---|
list_objects, get_object_info, get_scene_summary |
Query scene state |
select_object, deselect_all, set_object_visibility |
Selection and visibility |
check_blender_connection |
Verify server status |
Generate complete 3D models from text or images using cloud AI APIs.
| Tool | Description |
|---|---|
generate_mesh_from_text |
Text-to-3D model generation |
generate_mesh_from_image |
Image-to-3D model generation |
import_mesh_file |
Import GLB, OBJ, FBX, PLY, STL |
Tools for optimizing 3D assets for VR platforms.
| Tool | Description |
|---|---|
validate_for_vr |
Check if model meets VR platform limits |
optimize_for_vr |
Decimate and optimize for VR platforms |
generate_lod_chain |
Create LOD variants for performance |
export_vr_scene |
Export optimized GLB for VR |
Access thousands of free CC0 assets from Poly Haven.
| Tool | Description |
|---|---|
search_polyhaven |
Search free CC0 assets |
list_polyhaven_categories |
Browse available categories |
download_polyhaven_hdri |
Download and apply HDRI lighting |
download_polyhaven_texture |
Download PBR texture sets |
download_polyhaven_model |
Download and import 3D models |
Generate 3D meshes using Meshy and textures using Replicate.
Set API keys via environment variables:
export MESHY_API_KEY="msy_your_key_here"
export REPLICATE_API_TOKEN="r8_your_token_here"
Or create ~/.config/blender-mcp/ai_providers.json:
{
"meshy": { "api_key": "msy_your_key_here", "timeout": 600 },
"replicate": { "api_key": "r8_your_token_here", "timeout": 300 }
}
| Provider | Capability | Notes |
|---|---|---|
| Meshy | Text-to-3D, Image-to-3D | Best quality, multiple art styles |
| Replicate | Texture generation | Pay-per-use (~$0.002/image), SDXL and specialized models |
"Generate a wooden treasure chest"
"Create a cartoon dog in the scene"
"Make a realistic medieval castle tower"
Art styles: realistic, cartoon, sculpture, pbr
- Use images with a single object on a clean background
- Ensure good lighting and centered composition
- Avoid cluttered scenes
Built-in tools for optimizing 3D assets for VR platforms, with presets for Meta Horizon Worlds.
| Preset | Max Tris/Object | Max Tris/Scene | Max Texture |
|---|---|---|---|
horizon_worlds |
10,000 | 100,000 | 2048px |
quest |
50,000 | 200,000 | 4096px |
mobile_vr |
20,000 | 150,000 | 2048px |
Check if your model is VR-ready:
validate_for_vr(
object_name="Chair",
platform="horizon_worlds"
)
Returns warnings for poly count, texture size, and material issues.
Automatically optimize models:
optimize_for_vr(
object_name="Chair",
platform="horizon_worlds",
target_triangles=10000,
merge_by_distance=True
)
Create level-of-detail variants:
generate_lod_chain(
object_name="Chair",
lod_levels=[1.0, 0.5, 0.25, 0.1]
)
Export optimized scenes:
export_vr_scene(
output_path="/path/to/scene.glb",
platform="horizon_worlds",
include_all_objects=True
)
Access thousands of free CC0 assets from Poly Haven β no API key required.
search_polyhaven(
query="brick",
asset_type="texture",
limit=10
)
Asset types: hdri, texture, model
Apply realistic environment lighting:
download_polyhaven_hdri(
asset_id="industrial_sunset_02",
resolution="4k",
apply_to_scene=True
)
Get complete PBR texture sets:
download_polyhaven_texture(
asset_id="brick_wall_02",
resolution="2k",
apply_to_object="Cube"
)
Import ready-to-use 3D models:
download_polyhaven_model(
asset_id="wooden_chair",
import_to_scene=True,
location=[0, 0, 0]
)
list_polyhaven_categories(asset_type="textures")
All Poly Haven assets are CC0 licensed β free for any use, no attribution required.
“Cannot connect to Blender server”
- Ensure Blender is running with the MCP Bridge add-on enabled
- Click “Start Server” in the MCP panel (press
Nβ MCP tab) - Check that port 8765 is available
“Object not found”
- Object names are case-sensitive
- Use
list_objectsto see exact names
Test the connection manually:
curl http://localhost:8765/health
blender-orchestrator/
βββ blender_addon/ # Blender add-on (HTTP server + handlers)
β βββ server/ # Non-blocking HTTP server
β βββ handlers/ # Operation implementations
β βββ templates/ # Character templates
β
βββ mcp_server/ # MCP server
β βββ server.py # FastMCP entry point
β βββ blender_client.py # HTTP client for Blender communication
β βββ tools/ # Tool definitions (one module per category)
β βββ ai_clients/ # AI provider implementations
β
βββ scripts/ # Installation helpers
- Create handler in
blender_addon/handlers/ - Register in
blender_addon/handlers/__init__.py - Create MCP tool in
mcp_server/tools/ - Register in
mcp_server/tools/__init__.py
MIT



