pypi nova3d-mcpstdioMITupdated 27d ago
Code-native 3D generation: assets are executable programs, not opaque meshes.
¿Qué puedes hacer con Nova3D?
Code-native 3D generation: assets are executable programs, not opaque meshes.
website · app · paper · discord · X · issues
What is Nova3D?
Nova3D generates 3D assets as executable construction procedures. Instead of emitting a single fused mesh, the pipeline writes Blender-native Python that compiles to a structured GLB with named, separately addressable parts, a real assembly hierarchy, joint pivots, and PBR materials.
The asset's source of truth is the program; the mesh is just its compiled output. Because anything coded is programmable, every generated object is born inspectable, addressable, editable, and animatable; properties a baked mesh cannot natively expose.
This is architecturally different from diffusion-based generators (Meshy, Tripo, Rodin), which extract a single merged mesh with no part boundaries, and from CSG/OpenSCAD systems, which guarantee solids but cap out on organic shapes, hierarchy, and materials. Nova3D uses Blender's scene graph as the native representation, a strict superset of both.
Getting started
The web client lives in app/ and connects to the hosted Nova3D service; no local backend required. See app/README.md for prerequisites, setup, features, and troubleshooting.
Repository structure
This repository is the home for Nova3D's open clients and integrations. The hosted generation backend is (currently) closed-source.
Nova3D/
├── app/ # Flutter/Dart web client · see app/README.md
├── mcp/ # Nova3D MCP server · see mcp/README.md
├── blender-plugin/ # Blender add-on · see blender-plugin/README.md
├── claude-skills/ # Claude skills (coming soon)
├── docs/ # architecture & the "3D as code" thesis (coming soon)
└── examples/ # gallery of generated assets + their source programs (coming soon)
Surfaces are being moved in one at a time. Today the client app and Blender add-on live in
app/andblender-plugin/.
Demo
☝️ One shot: 3D models with 4K PBR textures, ready for games, animation, VFX, and more with Nova3D
Comparison
☝️ Side-by-side with TRELLIS and Hunyuan3D. Nova3D is optimized for structured asset generation, but the advantage is not limited to multipart editing; it also shows stronger single-asset fidelity: cleaner silhouette control, sharper feature delineation, and more coherent surface transitions. Explicit part structure is an added capability, not a quality tradeoff.
☝️ Part-aware comparison with NVIDIA PartPacker and Tripo. Nova3D preserves discrete components as independently addressable objects with stable boundaries, clearer instance separation, and better edit locality; assets stay actionable after generation (inspect, regenerate, restyle, articulate, export) without collapsing back into one undifferentiated mesh.
Visual fidelity: same prompt vs the mesh-native generators
Textured, as delivered: Nova3D vs the mesh-native generators (Meshy, TRELLIS.2, TripoSG).
Wireframe (mesh topology). Nova3D builds clean parts; internal structure is visible; the diffusion models output dense isosurface meshes.
Anatomy of a generation
☝️ Prompt: Create a gold engagement ring with an oval center stone measuring 6.82 × 8.75 × 4.40 mm, raised prong setting, and small pavé diamonds along the upper band. Use a 17.00 mm inner diameter (US size 6.5), 6.22 mm crown height, 20.96 mm overall width, and 26.42 mm overall height.
Every visually distinct component is its own named, editable mesh, grouped into named sub-assemblies, and prompt-stated counts and dimensions hold up when measured back from the result.
Built as parts, not segmented after the fact
*Nova3D never builds a fused mesh in the first place; every component is generated as its own named, watertight part, so any piece can be selected, retextured, replaced, or rigged on its own. The others can only approximate this afterward: PartCrafter returns a handful of unnamed chunks, and CubePart must be handed the part names, then slices a finished mesh into capped, approximate regions. *
Assembly hierarchy
Parts don't just have names; they're wired into a labeled assembly tree with a joint pivot at every articulation point. This robot arm exports as a depth-7 kinematic chain: rotating any pivot moves its whole subtree. The program writes that tree itself; mesh generators export a flat list with nothing to grab or rig.
Articulation
Rigging is an additive code pass: joints are added at real pivots referencing parts the program already named; the existing geometry never moves.
UV-ready from the source
Each part gets its own UV chart, auto-packed into one clean, non-overlapping atlas grouped by sub-assembly.
Technical philosophy
1. Script-native, not mesh-native. Most AI 3D generators do image-to-3D diffusion. Nova3D is prompt-to-code / image-to-code, targeting Blender's API, which yields a logical named hierarchy, surgical edits (change the handle without regenerating the cup), and proper PBR materials instead of baked vertex colors.
2. Model-agnostic. Nova3D is a generation harness. Swap providers (OpenRouter, OpenAI, Anthropic, Gemini) via the settings menu; the pipeline handles validation and execution regardless of which LLM writes the code.
3. Precision + organic flow. Unlike pure CSG/OpenSCAD systems that struggle with organic shapes, Nova3D leverages Blender's full modifier suite (subdivision, sculpting, booleans) for high-fidelity models.
License
MIT © RareSense. The clients and integrations in this repository are open-source; the hosted generation backend is proprietary.
Instalación
Añade Nova3D a tu cliente. Elige el que uses.
claude mcp add nova3d-mcp -- uvx nova3d-mcpcodex mcp add nova3d-mcp -- uvx nova3d-mcpamp mcp add nova3d-mcp -- uvx nova3d-mcp{
"mcpServers": {
"nova3d-mcp": {
"command": "uvx",
"args": [
"nova3d-mcp"
]
}
}
}Add to `claude_desktop_config.json`, then restart Claude Desktop.
{
"mcpServers": {
"nova3d-mcp": {
"command": "uvx",
"args": [
"nova3d-mcp"
]
}
}
}Add to `~/.cursor/mcp.json`, or `.cursor/mcp.json` for a single project.
code --add-mcp '{"name":"nova3d-mcp","command":"uvx","args":["nova3d-mcp"]}'Or add the block manually to `.vscode/mcp.json` under `servers`.
{
"mcpServers": {
"nova3d-mcp": {
"command": "uvx",
"args": [
"nova3d-mcp"
]
}
}
}Add to `~/.codeium/windsurf/mcp_config.json`.
{
"mcpServers": {
"nova3d-mcp": {
"command": "uvx",
"args": [
"nova3d-mcp"
]
}
}
}Add to `cline_mcp_settings.json` via the MCP Servers panel.
{
"mcpServers": {
"nova3d-mcp": {
"command": "uvx",
"args": [
"nova3d-mcp"
]
}
}
}Add to `~/.gemini/settings.json`.
{
"mcpServers": {
"nova3d-mcp": {
"type": "local",
"command": "uvx",
"args": [
"nova3d-mcp"
],
"tools": [
"*"
]
}
}
}Add to `~/.copilot/mcp-config.json`, or run `/mcp add` inside the CLI.
{
"context_servers": {
"nova3d-mcp": {
"command": {
"path": "uvx",
"args": [
"nova3d-mcp"
]
}
}
}
}Add to your Zed `settings.json`.
uvx nova3d-mcpRun `goose configure`, choose **Add Extension → Command-line Extension**, and paste this command.
Puntuación
39 / 100
Incompleta
- Documentación16/25
- Mantenimiento19/25
- Confianza16/20
- Capacidad0/15
- Instalación12/15
- Documents what it does and how to connect
- Has a resolvable package or endpoint
- Exposes at least one tool, prompt or resource
- README has substantive content
- Includes a code example
- Documents its configuration
- Mentions credentials or security posture
- Last commit 19 days ago
- Has a release history
- Repository is not archived
- Licensed MIT
- Namespace verified in the official MCP registry
- Claimed by its owner
- Published under an organisation
- 0 tool(s) documented
- Provides prompt templates
- Provides resources
- 12 documented install method(s)
- Published to a package registry
- Offers a hosted endpoint — no local install
Historial de versiones
| Versiones | Publicada |
|---|---|
| 0.4.0Última | 1 jul 2026 |
| 0.3.0 | 28 jun 2026 |

