PluginBench
MCP Server
Active
MIT

Nova3D MCP Server

io.github.RareSense/Nova3D

Code-native 3D generation with named, editable parts—assets as executable Blender programs, not opaque meshes.

What is the Nova3D MCP server?

Nova3D is a 3D asset generator that produces structured, part-aware models as executable Blender Python code rather than fused meshes. Each generated asset compiles to a named-part GLB with assembly hierarchy, joint pivots, and PBR materials, making every object inspectable, addressable, editable, and animatable from creation.

Nova3D generates 3D assets as executable construction procedures that compile to structured GLBs with separately addressable named parts, assembly hierarchies, and materials. Unlike diffusion-based generators that output single merged meshes, Nova3D leverages Blender's scene graph to produce assets that remain editable, riggable, and animatable after generation—ideal for AI agents that need to inspect, modify, or articulate 3D structures programmatically.

How to install Nova3D

Copy-paste configuration for popular MCP clients.

transport: stdio
Config generated by PluginBench — verify against the source before use.
Environment / auth
  • NOVA3D_TOKEN
    secret

    Advanced/manual fallback API key from https://app.nova3d.xyz/api-key. Preferred onboarding is browser sign-in via nova3d_login.

  • NOVA3D_APP_URL

    App URL used for conversation links, for example https://app.nova3d.xyz or http://127.0.0.1:5555

Claude Desktop
~/Library/Application Support/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "Nova3D": {
      "command": "uvx",
      "args": [
        "nova3d-mcp"
      ],
      "env": {
        "NOVA3D_TOKEN": "<YOUR_NOVA3D_TOKEN>",
        "NOVA3D_APP_URL": "<YOUR_NOVA3D_APP_URL>"
      }
    }
  }
}
Cursor
~/.cursor/mcp.json
{
  "mcpServers": {
    "Nova3D": {
      "command": "uvx",
      "args": [
        "nova3d-mcp"
      ],
      "env": {
        "NOVA3D_TOKEN": "<YOUR_NOVA3D_TOKEN>",
        "NOVA3D_APP_URL": "<YOUR_NOVA3D_APP_URL>"
      }
    }
  }
}
Windsurf
~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "Nova3D": {
      "command": "uvx",
      "args": [
        "nova3d-mcp"
      ],
      "env": {
        "NOVA3D_TOKEN": "<YOUR_NOVA3D_TOKEN>",
        "NOVA3D_APP_URL": "<YOUR_NOVA3D_APP_URL>"
      }
    }
  }
}
VS Code
.vscode/mcp.json
{
  "servers": {
    "Nova3D": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "nova3d-mcp"
      ],
      "env": {
        "NOVA3D_TOKEN": "<YOUR_NOVA3D_TOKEN>",
        "NOVA3D_APP_URL": "<YOUR_NOVA3D_APP_URL>"
      }
    }
  }
}
Claude Code
claude mcp add Nova3D --env NOVA3D_TOKEN=<YOUR_NOVA3D_TOKEN> --env NOVA3D_APP_URL=<YOUR_NOVA3D_APP_URL> -- uvx nova3d-mcp

Tools & capabilities

Tools this server exposes to the agent.

  • 3D asset generationGenerate 3D models from text prompts as executable Blender Python code
  • Named-part GLB exportCompile generated assets to GLB format with separately addressable named parts and assembly hierarchy
  • Preview URL generationGenerate preview URLs for visualizing generated 3D assets
  • Blender script outputOutput executable Blender Python scripts that define the complete 3D structure, materials, and hierarchy

Use cases

  • Generate structured 3D assets with named, editable parts for game development or CAD workflows
  • Create riggable models with joint pivots and assembly hierarchies for animation and articulation
  • Produce UV-mapped, PBR-textured assets ready for rendering or further editing in Blender
  • Inspect and modify individual components of generated models without regenerating the entire asset
  • Export part-aware 3D structures for kinematic simulation or mechanical assembly workflows

Nova3D MCP server FAQ

What makes Nova3D different from other 3D generators?

Nova3D generates 3D assets as executable Blender Python code with named, separately addressable parts and assembly hierarchies, rather than fused meshes. This makes every generated object inspectable, editable, and animatable—properties that baked meshes cannot natively expose.

What output formats does Nova3D support?

Nova3D outputs named-part GLB files, Blender Python scripts, and preview URLs. Each asset is generated as executable code that compiles to a structured GLB with named parts, joint pivots, and PBR materials.

Is Nova3D free to use?

The README does not specify pricing or free tier details. Check the website (nova3d.xyz) or Discord for current availability and pricing information.

How do I install the Nova3D MCP server?

Install via PyPI: `pip install nova3d-mcp`. The MCP server integrates Nova3D's generation capabilities into Claude and other AI agents supporting the Model Context Protocol.

Do I need a local backend to use Nova3D?

No. The web client connects to Nova3D's hosted service—no local backend is required. The generation backend is currently closed-source and cloud-hosted.

What LLMs does Nova3D support?

Nova3D is model-agnostic and can swap providers via settings, including OpenRouter, OpenAI, Anthropic, and Gemini. The pipeline handles validation and execution regardless of which LLM writes the code.

README (reference)

Source of truth, from the repository.

<div align="center">

Nova3D

Code-native 3D generation — assets are executable programs, not opaque meshes.

website · app · discord · twitter/X · issues

<br/>

<img src="app/assets/gifs/nova3d/0504.gif" width="32%" /> <img src="app/assets/gifs/nova3d/0504(1).gif" width="32%" /> <img src="app/assets/gifs/nova3d/0504(2).gif" width="32%" />

</div>

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 plugin (coming soon)
├── 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 lives in app/.

Demo

Editable parts — quick look

☝️ Prompt: Make a washing machine with detailed internal mechanics

Comparison

Nova3D vs TRELLIS vs Hunyuan3D

☝️ 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.

Nova3D vs PartPacker vs Tripo Segmentation

☝️ 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

<div align="center"><img src="docs/media/comparison_textured.png" width="100%" alt="Textured renders: Nova3D vs Meshy, TRELLIS.2, TripoSG" /></div>

Textured, as delivered — Nova3D vs the mesh-native generators (Meshy, TRELLIS.2, TripoSG).

<div align="center"><img src="docs/media/comparison_wireframe.png" width="100%" alt="Wireframe: Nova3D vs Meshy, TRELLIS.2, TripoSG" /></div>

Wireframe (mesh topology). Nova3D builds clean parts — internal structure is visible; the diffusion models output dense isosurface meshes.

Anatomy of a generation

<div align="center"><img src="docs/media/anatomy_bicycle.png" width="100%" alt="One prompt to a structured, named, constraint-checked asset" /></div>

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

<div align="center"><img src="docs/media/segmentation_explode.gif" width="78%" alt="Four assets exploded into their parts" /></div>

*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

<div align="center"><img src="docs/media/hierarchy_robot_arm.png" width="100%" alt="Robot arm exported as a labeled assembly tree" /></div>

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

<div align="center"><img src="docs/media/articulation_drone.gif" width="55%" alt="Quadcopter drone articulating, geometry frozen" /></div>

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

<div align="center"><img src="docs/media/uv_from_code.png" width="100%" alt="Auto-generated clean, packed UV atlas for a generated asset" /></div>

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.

<p align="center"> <small>Built on the same engine powering <b><a href="https://formanova.ai">FormaNova</a></b> for specialized jewelry CAD.</small> </p>

Related MCP servers

Give your AI agent stealth web scraping with Cloudflare bypass and CSS selection, powered by Scrapling.

67k
Python
BSD-3-Clause
View repository →

Give your AI coding agent full control of a live Chrome browser for automation, debugging, and performance analysis.

45k
TypeScript
Apache-2.0
View repository →

Let AI agents manage your Puter files, websites, and serverless workers over MCP.

43k
TypeScript
AGPL-3.0
View repository →

Browser automation for AI agents via MCP, powering ByteDance's Agent TARS hybrid GUI/DOM browser control.

37k
TypeScript
Apache-2.0
View repository →

Run arbitrary shell commands from an MCP-connected AI agent.

37k
TypeScript
Apache-2.0
View repository →

Filesystem access MCP server from ByteDance's UI-TARS/Agent TARS ecosystem.

37k
TypeScript
Apache-2.0
View repository →