loading…
Search for a command to run...
loading…
Enables interactive control of Blender for 3D scene manipulation, geometry creation, material application, and viewport rendering via natural language prompts t
Enables interactive control of Blender for 3D scene manipulation, geometry creation, material application, and viewport rendering via natural language prompts through the Model Context Protocol.
Model Context Protocol Blender Python License
An extremely robust, production-grade Model Context Protocol (MCP) server that establishes a live, interactive two-way connection with your active Blender session. Control 3D scenes, construct geometry, modify shaders, and render viewports—all directly using natural language prompts via your favorite AI assistants (such as Antigravity, Claude Desktop, Cursor, or VS Code).
Unlike naive implementations that attempt to invoke the Blender API (bpy) from secondary socket threads (which causes immediate memory access violation crashes), Blender MCP Link employs a thread-safe Message-Queue architecture:
graph TD
subgraph AI Client
LLM[AI Client / Claude / Cursor]
end
subgraph MCP Server [Local CLI Process]
FastMCP[FastMCP Server]
SocketClient[TCP Socket Client]
end
subgraph Blender Session [Active Blender 5.1 GUI]
SocketServer[Background TCP Server Thread]
Queue[Thread-Safe Task Queue]
Timer[Blender App Timer Loop - Main Thread]
bpy[Blender Python API]
end
LLM <-->|Model Context Protocol| FastMCP
FastMCP <-->|Function Calls| SocketClient
SocketClient <-->|TCP Port 5555| SocketServer
SocketServer -->|1. Enqueue Script| Queue
Timer -->|2. Dequeue Script| Queue
Timer -->|3. Run Script| bpy
bpy -->|4. Return Output/Log| Timer
Timer -->|5. Send Response| SocketServer
SocketServer -->|6. Return JSON| SocketClient
N on your keyboard) and navigate to the MCP Link tab.127.0.0.1:5555).Ensure you have the ultra-fast Python package manager uv installed. If not, get it from astral.sh/uv.
Add this to your claude_desktop_config.json (typically located in %APPDATA%\Claude\claude_desktop_config.json):
{
"mcpServers": {
"blender-mcp-link": {
"command": "uv",
"args": [
"run",
"--directory",
"D:\\03_Projects\\AI_Projects\\Competitions\\Robotex\\blender-mcp-link",
"server.py"
]
}
}
}
Add a new MCP server with the following settings:
BlenderMCPcommanduv run --directory "D:\03_Projects\AI_Projects\Competitions\Robotex\blender-mcp-link" server.pyOnce connected, the AI will have access to the following tools:
get_scene_inventoryexecute_script(code: str)stdout (prints) and stderr (exceptions and tracebacks) and returns them as a clean string.create_mesh_primitive(type: str, name: str, location: list, scale: list)CUBE, SPHERE, CYLINDER, CONE, TORUS, PLANE.apply_principled_material(object_name: str, color_hex: str, roughness: float, metallic: float)render_viewport(output_path: str)This project is licensed under the MIT License - see the LICENSE file for details.
We welcome issues, feature requests, and pull requests! For major changes, please open an issue first to discuss what you would like to change.
Run in your terminal:
claude mcp add blender-mcp-link -- npx Security
Low riskAutomated heuristic from public metadata — not a security guarantee.