Blender Open MCP
About
Integrates Blender with local AI models via Ollama, enabling natural language control of 3D modeling tasks including object creation, modification, material application, and rendering with optional PolyHaven asset integration.
Details
- Author
- dhakalnirajan
- Repository
- dhakalnirajan/blender-open-mcp
- GitHub stars
- 17
- Downloads
- 819
- License
- Other
- Categories
- Productivity, Developer Tools, Design, AI, Media, Project Management, Infrastructure, Other
- Tags
- #integration
Jump to
- Natural language control of Blender via local AI (Ollama)
- Supports multiple MCP transports (HTTP and stdio)
- Full Blender scene inspection and object manipulation
- Material assignment, rendering, and PolyHaven asset integration
- Execute arbitrary Python/bpy code in Blender
- Switch active Ollama model and server URL at runtime
Setting up with Highlight
This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:
- Download and install Highlight from highlightai.com/download
- Navigate to the plugins tab and select "Add Custom Plugin"
-
Configure the plugin with the settings below
Plugin Name
Blender Open MCPCommand (node, npx, python, etc.)blender-mcpArguments-
Argument 1
--transport -
Argument 2
stdio
Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.
-
Argument 1
- Enable "Start Automatically" if you want the plugin to start when Highlight launches
From the repository
uv venv
source .venv/bin/activate # Linux / macOS
1. Open Blender
2. Go to Edit → Preferences → Add-ons → Install...
3. Select addon.py from the repository root
4. Enable "Blender MCP"
5. Open the 3D Viewport, press N, find the Blender MCP panel
6. Click "Start MCP Server" (default port: 9876)
uv pip install -e ".[dev]"
blender_get_scene_info
Full scene summary: objects, camera, render settings
blender_get_object_info
Detailed object info: transforms, materials, mesh stats
blender_create_object
Add a primitive mesh (CUBE, SPHERE, CYLINDER, ...)
blender_modify_object
Change location, rotation, scale, visibility
blender_delete_object
Remove an object from the scene
blender_set_material
Create and assign a Principled BSDF material
blender_render_image
Render current scene to a file
blender_execute_code
Run arbitrary Python/bpy code in Blender
blender_get_polyhaven_categories
List PolyHaven asset categories
blender_search_polyhaven_assets
Search PolyHaven library with pagination
blender_download_polyhaven_asset
Download & import a PolyHaven asset
blender_set_texture
Apply a downloaded PolyHaven texture to an object
blender_ai_prompt
Send a natural language prompt to Ollama
blender_get_ollama_models
List available local Ollama models
blender_set_ollama_model
Switch the active Ollama model
blender_set_ollama_url
Update the Ollama server URL
| Tool | Description | Modifies Blender |
|------|-------------|-----------------|
| blender_get_scene_info | Full scene summary: objects, camera, render settings | No |
| blender_get_object_info | Detailed object info: transforms, materials, mesh stats | No |
| blender_create_object | Add a primitive mesh (CUBE, SPHERE, CYLINDER, ...) | Yes |
| blender_modify_object | Change location, rotation, scale, visibility | Yes |
| blender_delete_object | Remove an object from the scene | Yes ⚠️ |
| blender_set_material | Create and assign a Principled BSDF material | Yes |
| blender_render_image | Render current scene to a file | Yes |
| blender_execute_code | Run arbitrary Python/bpy code in Blender | Yes ⚠️ |
| blender_get_polyhaven_categories | List PolyHaven asset categories | No |
| blender_search_polyhaven_assets | Search PolyHaven library with pagination | No |
| blender_download_polyhaven_asset | Download & import a PolyHaven asset | Yes |
| blender_set_texture | Apply a downloaded PolyHaven texture to an object | Yes |
| blender_ai_prompt | Send a natural language prompt to Ollama | No |
| blender_get_ollama_models | List available local Ollama models | No |
| blender_set_ollama_model | Switch the active Ollama model | No |
| blender_set_ollama_url | Update the Ollama server URL | No |
---
Claude Desktop / Cursor
Paste into your MCP client config file to install this server.
{
"mcpServers": {
"blender open mcp": {
"env": {},
"args": [
"--transport",
"stdio"
],
"shell": false,
"command": "blender-mcp"
}
}
}
Linux
{
"env": [],
"args": [
"--transport",
"stdio"
],
"shell": false,
"command": "blender-mcp"
}
Macos
{
"env": [],
"args": [
"--transport",
"stdio"
],
"shell": false,
"command": "blender-mcp"
}
Windows
{
"env": [],
"args": [
"--transport",
"stdio"
],
"shell": false,
"command": "blender-mcp"
}
blender-open-mcp
Open Models MCP for Blender3D using Ollama
Control Blender 3D with natural language prompts via local AI models. Built on the Model Context Protocol (MCP), connecting Claude, Cursor, or any MCP client to Blender through a local Ollama LLM.
---
Architecture
MCP Client (Claude/Cursor/CLI)
│ HTTP / stdio
▼
┌─────────────────────┐
│ FastMCP Server │ ← server.py (port 8000)
│ blender-open-mcp │
└─────────────────────┘
│ TCP socket │ HTTP
▼ ▼
┌──────────────┐ ┌─────────────┐
│ Blender │ │ Ollama │ (port 11434)
│ Add-on │ │ llama3.2 │
│ addon.py │ │ gemma3... │
│ (port 9876) │ └─────────────┘
└──────────────┘
│ bpy
▼
Blender Python API
Three independent processes:
- FastMCP Server (server.py): Exposes MCP tools over HTTP or stdio
- Blender Add-on (addon.py): TCP socket server running inside Blender
- Ollama: Local LLM serving natural language queries
---
Installation
Prerequisites
| Dependency | Version | Install |
|-----------|---------|---------|
| Blender | 3.0+ | blender.org |
| Python | 3.10+ | System or python.org |
| Ollama | Latest | ollama.com |
| uv | Latest | pip install uv |
1. Clone and set up
```bash
git clone https://github.com/dhakalnirajan/blender-open-mcp.git
cd blender-open-mcp
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.





