threenative-blender-mcp
v0.1.2
Published
Drives an installed Blender headlessly so a downloaded .fbx becomes a GLB a ThreeNative game loads. Ships no Blender.
Maintainers
Readme
threenative-blender-mcp
An MCP server that drives an already installed Blender headlessly, so a .fbx, .blend,
.obj or .dae an agent downloaded becomes a GLB a ThreeNative game can load.
It contains no Blender, downloads no Blender, and links against nothing from Blender. Installing it costs zero Blender bytes.
Tools
| Tool | What it answers |
| --- | --- |
| blender_status | Can this machine convert models at all? Never fails — with no Blender it returns available: false and the install command for each platform. |
Finding Blender
In order, first match wins:
THREENATIVE_BLENDER_PATH— an explicit path. Set but unresolvable is its own reported cause, never a silent fallback to a different Blender.PATH.- The platform's conventional install locations (
/usr/bin,/snap/bin, a macOSBlender.app,C:\Program Files\Blender Foundation\…).
A Blender older than 4.2 reports available: false with cause: "blender-too-old" rather
than being driven with scripts written against a newer bpy.
Blender is never installed for the user. npm postinstall has no TTY and cannot ask, and 350 MB
is not an install cost this framework imposes without consent — so the server reports what is
missing and the agent asks in conversation. THREENATIVE_TOOLCHAIN_AUTOINSTALL=0 suppresses even
the offer.
Licensing
Blender is GPLv2-or-later. This package holds the boundary in two places:
- The binary is resolved, never bundled, linked, imported or vendored. ThreeNative spawns
blender --background; it is a separate process. - The Node server is MIT. Every Python file that runs inside Blender against
bpylives undergpl/, carries anSPDX-License-Identifier: GPL-2.0-or-laterheader, and sits besidegpl/LICENSE.GPL.__tests__/licensing.spec.tsfails on agpl/*.pywithout that header and on a.pythat appears anywhere else in this package.
What this is not
ThreeNative drives Blender as a separate process. It never reimplements modelling, sculpting,
shading, rigging or rendering, ships no geometry-authoring UI, and adds no bpy feature. When
Blender is absent the framework says so and does less; it never substitutes.
