Talk to Blender: A Conversational Modeling Pipeline from Qoder to Three.js Web Showcase
This workflow makes AI-driven Blender modeling safe and practical for asset production by forcing human approval before any script runs and keeping safe mode enabled, so the risk of destructive operations stays under the developer's control instead of being delegated to the model.
Qoder's MCP integration turns Blender into a conversational modeling tool. The article walks through configuring a Blender plugin, uvx, and the Qoder MCP server so that an AI assistant can create, modify, and validate 3D models entirely in a chat window. The workflow loops through script approval, execution, and render validation before exporting a GLB file and presenting it in a web page built with three.js and GSAP. No step runs automatically; the user confirms each script, and safe mode blocks risky operations.
The setup requires pinning specific versions: Blender 5.2.1, uvx with an absolute path, mcp-for-blender 2.2.7, and an mcp.json that enables safe mode and disables telemetry. The author lays out a project structure with AGENTS.md rules, backup copies per stage, and a clear separation of scripts, renders, and exports. On the web side, GLB goes to object storage with public read and CORS, while three.js 0.169.0 and GSAP 3.12.5 load from jsDelivr with pinned versions.
Pitfalls are practical: metallic materials need IBL environment maps, glTF only preserves PBR materials, ES modules require an HTTP server, and Chinese UI node names break lookups unless you use bl_idname. The result is a repeatable process for producing interactive 3D web assets without leaving the chat interface, as long as the human stays in the approval loop.
The strict approval loop—every script waits for a typed 'confirm execution' and errors are returned verbatim—is what makes this practical for real work; it trades convenience for control, and the author treats that trade as non-negotiable.
Safe mode's block list (os, datetime, nonlocal) shows that the risk isn't the model's intent but its tool reach; limiting the Python surface is a more effective guard than trusting the AI to behave.
The article's web-side troubleshooting (IBL for metals, rebuilding lights in glTF, HTTP requirement for ES modules) reflects a common mismatch between Blender's render environment and the browser's real-time constraints.
Pinning exact versions of Blender, uvx, mcp-for-blender, three.js, and GSAP is presented as the default, which suggests that MCP toolchains still break often enough that reproducibility depends on lockstep upgrades.