BlenderMCP

BlenderMCP

Connects Blender to AI assistants like Claude for prompt-assisted 3D modeling, scene creation, rendering, and automation.

Category
Visit Server

README

BlenderMCP — Blender Model Context Protocol Integration

BlenderMCP connects Blender to AI assistants through the Model Context Protocol (MCP), letting Claude directly control Blender for prompt-assisted 3D modelling, scene creation, rendering, and automation.

This is an extended fork of ahujasid/blender-mcp with 92 tools, full Blender 4.x compatibility, and telemetry removed.


What's new in this fork

  • 92 tools across 26 categories (up from the original ~20)
  • Blender 4.x compatibility — fixes for BMesh layer API changes, EEVEE engine name, temp_override region requirement, compositor node ordering
  • No telemetry — all analytics code removed
  • Auto-restart on addon reload — server restarts automatically when the addon is cycled in Preferences; no manual click needed
  • deploy.py — one-command script to copy addon.py to Blender's installed addons path
  • img_to_3d_server.py — local image-to-3D inference via TripoSR (optional, loads/unloads on demand to free VRAM)
  • TOOLS.md — full reference for all 91 tools with parameters

Tool categories (91 tools)

Category Tools
Process management start_blender, close_blender, get_blender_status
Scene & object info get_scene_info, get_object_info, find_objects_by_type, measure_distance
Primitives & object mgmt add_primitive, delete_object, duplicate_object, rename_object, join_objects, separate_mesh, set_origin, snap_to_ground, set_smooth_shading, parent_object, select_objects, align_objects
Transforms move_object, scale_object, rotate_object
Mesh editing get_mesh_stats, subdivide_mesh, apply_modifier, set_vertex_position
Vertex operations get_vertex_positions, set_vertex_positions
Edge operations get_edges, mark_sharp_edges, set_edge_crease, set_edge_bevel_weight
Face operations get_faces, extrude_faces, inset_faces, flip_normals, merge_vertices, triangulate_mesh, set_face_material_index
Curve control points get_control_points, set_control_point
Camera create_camera, set_active_camera
Lighting add_light, set_world_background, add_3point_lighting
Materials create_material, assign_material, set_object_material_color, load_texture, set_texture
Modifiers add_modifier, boolean_operation
Rendering set_render_settings, render_from_camera, render_all_cameras
Viewport capture get_viewport_screenshot, capture_viewport_angle, capture_contact_sheet, render_depth_map
Reference images store_reference_image, compare_reference_image, diff_images
Animation add_keyframe, set_frame
Collections create_collection, move_to_collection
Export / import export_object, import_file, save_blend, load_blend
Scripting execute_blender_code
PolyHaven get_polyhaven_status, get_polyhaven_categories, search_polyhaven_assets, download_polyhaven_asset
Sketchfab get_sketchfab_status, search_sketchfab_models, get_sketchfab_model_preview, download_sketchfab_model
Hyper3D / Rodin get_hyper3d_status, generate_hyper3d_model_via_text, generate_hyper3d_model_via_images, poll_rodin_job_status, import_generated_asset
Hunyuan3D get_hunyuan3d_status, generate_hunyuan3d_model, poll_hunyuan_job_status, import_generated_asset_hunyuan
Image-to-3D (TripoSR) load_img_to_3d_model, generate_3d_from_image, unload_img_to_3d_model

See TOOLS.md for full parameter documentation.


Requirements

  • Blender 4.0 or newer (Blender 4.3 recommended)
  • Python 3.10+
  • uv package manager

Installation

1. Install the MCP server

git clone https://github.com/naab007/blender_mcp
cd blender_mcp
uv venv .venv
uv pip install -e .

2. Install the Blender addon

  1. Download addon.py from this repo
  2. Open Blender → Edit → Preferences → Add-ons → Install...
  3. Select addon.py and enable Interface: Blender MCP
  4. In the 3D View sidebar (N), open the BlenderMCP tab and click Start MCP Server

After the first install, use deploy.py to push addon updates in one command:

.venv/Scripts/python.exe deploy.py

Edit the destination path in deploy.py to match your Blender version.

3. Configure your AI client

Claude Code — create .mcp.json in your working directory:

{
  "mcpServers": {
    "blender": {
      "type": "stdio",
      "command": "/path/to/blender_mcp/.venv/Scripts/blender-mcp.exe"
    }
  }
}

Claude Desktop — add to claude_desktop_config.json:

{
  "mcpServers": {
    "blender": {
      "command": "uvx",
      "args": ["blender-mcp"]
    }
  }
}

Cursor — add to .cursor/mcp.json:

{
  "mcpServers": {
    "blender": {
      "command": "uvx",
      "args": ["blender-mcp"]
    }
  }
}

Usage

Once the addon is running and the MCP server is configured, ask Claude to:

  • "Create a low-poly dungeon scene with a dragon guarding a pot of gold"
  • "Set up 3-point studio lighting and render from the active camera"
  • "Add a Subdivision Surface modifier to the selected object and apply a PBR material"
  • "Capture viewport angles from front, side, and top and give me a contact sheet"
  • "Boolean-subtract the sphere from the cube"
  • "Download a rock model from PolyHaven and place it at the origin"
  • "Generate a 3D model of a garden gnome via Hyper3D"
  • "Render depth map of the current scene"
  • "Keyframe this object moving from (0,0,0) to (5,0,0) over 60 frames"
  • "Compare these two renders and show me exactly what changed" → diff_images(path_a, path_b)

Environment variables

Variable Default Description
BLENDER_HOST localhost Host for the Blender TCP socket
BLENDER_PORT 9876 Port for the Blender TCP socket
IMG_TO_3D_PORT 7862 Port for the local TripoSR server
IMG_TO_3D_MODEL_DIR stabilityai/TripoSR Local weights path or HuggingFace hub ID
IMG_TO_3D_DEVICE auto cuda or cpu

Dependencies

Package Version Purpose
mcp[cli] ≥1.3.0 MCP server framework
pillow ≥10.0.0 Image processing (viewport capture, contact sheets, diff)
numpy ≥1.24.0 Pixel math for diff_images
flask ≥3.0.0 Local TripoSR inference server
requests ≥2.31.0 PolyHaven / Sketchfab / Hyper3D API calls

Architecture

Claude / AI client
      │  MCP (stdio)
      ▼
server.py  (FastMCP, @mcp.tool functions)
      │  JSON over TCP :9876
      ▼
addon.py   (Blender Python addon, bpy.app.timers dispatch)
      │
      ▼
Blender scene
  • All addon handlers run on Blender's main thread via bpy.app.timers.register() — no threading issues
  • Commands are JSON { "type": "...", "params": {...} }, responses are { "status": "success"|"error", "result": ... }

Troubleshooting

  • "context is incorrect" on view3d operators — requires Blender 4.x temp_override(area=area, region=region). Already fixed in this fork.
  • BLENDER_EEVEE enum not found — use BLENDER_EEVEE_NEXT in Blender 4.x. Already normalized in this fork.
  • Render writes nothing after depth map — compositor state corruption from empty node tree. Fixed in this fork via full snapshot/restore in render_depth_map.
  • execute_blender_code runs arbitrary Python in Blender — powerful but irreversible. Save your work first.
  • Connection issues — ensure the addon server is running (green dot in the BlenderMCP sidebar tab) before sending commands.

License

MIT — see LICENSE.

Based on ahujasid/blender-mcp by Siddharth Ahuja.

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured