nova3d-mcp
This server does not currently have a deployable release on Glama. Follow the repository's setup instructions to install and configure it for your MCP client, including any required credentials and local dependencies.
Moved: Development continues in the Nova3D monorepo: https://github.com/RareSense/Nova3D/tree/main/mcp
nova3d-mcp
Structured, part-aware 3D generation for AI agents.
nova3d-mcp is an MCP server that exposes Nova3D's generation pipeline as a callable tool inside Codex, Cursor, VS Code, Visual Studio, Claude Code, and other MCP-compatible agents.
One tool call. A washing machine comes back with named drum, door, control panel, and hose connectors — separately editable, not fused into a blob.
Quickstart
Claude Code:
Run
claude mcp add nova3d -- uvx nova3d-mcpIn Claude, call
nova3d_loginComplete the Nova3D browser sign-in flow
Then call
nova3d_status
Other MCP clients:
Related MCP server: chisel
Why Nova3D
Every major AI 3D generator today produces mesh blobs — a single fused object that looks plausible in a render and collapses the moment you try to edit, rig, or pipeline it.
Nova3D is different. Instead of diffusion → mesh, it runs:
prompt / image
↓
LLM writes Blender Python construction code
↓
headless Blender executes + validates + repairs
↓
structured GLB — named parts, intact hierarchy, real jointsThe result is a 3D asset that survives contact with real workflows: game engines, configurators, robotics simulations, AR scenes. Parts have names. Hierarchy is intact. Joints are real. You can change one component without regenerating everything.
Supported clients
Client | Status | Install path | Preview path |
Codex | Supported |
| Browser |
Cursor | Supported |
| Browser |
VS Code | Supported |
| Browser |
Visual Studio | Supported |
| Browser |
Claude Code | Supported |
| Browser |
Nova3D runs from your MCP client, but model inspection happens through the
hosted browser viewer returned as conversation_url. This repository does not
currently ship an embedded IDE-native 3D viewport.
Install
Add the MCP server in your client first. This only registers the server. It does not complete Nova3D account onboarding yet.
Codex
codex mcp add nova3d -- uvx nova3d-mcpCodex also supports MCP configuration through ~/.codex/config.toml. If you
prefer config files over the CLI, use Codex's MCP config surface and point it
at the same stdio command: uvx nova3d-mcp.
Claude Code
claude mcp add nova3d -- uvx nova3d-mcpCursor
Create .cursor/mcp.json in your project, or ~/.cursor/mcp.json for a global
install:
{
"mcpServers": {
"nova3d": {
"command": "uvx",
"args": ["nova3d-mcp"]
}
}
}VS Code
Option A: add the server from the command line:
code --add-mcp "{\"name\":\"nova3d\",\"command\":\"uvx\",\"args\":[\"nova3d-mcp\"]}"Option B: create .vscode/mcp.json in your workspace:
{
"servers": {
"nova3d": {
"command": "uvx",
"args": ["nova3d-mcp"]
}
}
}You can also use MCP: Add Server from the Command Palette.
Visual Studio
Create <SOLUTIONDIR>/.mcp.json or %USERPROFILE%/.mcp.json:
{
"servers": {
"nova3d": {
"command": "uvx",
"args": ["nova3d-mcp"]
}
}
}You can also add the server from the Visual Studio MCP UI by providing the
stdio command uvx with args ["nova3d-mcp"].
After the server is installed in any client, the next step is to call
nova3d_login or nova3d_setup from inside that client. Installation alone
does not complete Nova3D onboarding.
First Run
After installing the MCP server in any client:
Call
nova3d_loginComplete the Nova3D sign-in flow in the browser tab that opens
Call
nova3d_statusIf
next_action == "purchase_credits", follow the returned purchase linkWhen
authenticated: trueandgeneration_ready: true, start usinggenerate_3d
Important:
Installing the MCP server and completing Nova3D sign-in are separate steps.
nova3d_loginopens a browser tab and may returnlogin_pending_confirmation: truewhile local MCP session setup is still being confirmed.If browser sign-in finishes but login completion is ambiguous, call
nova3d_statusbefore retrying or considering manual fallback.NOVA3D_TOKENis an advanced/manual fallback only for environments where browser/loopback auth is unavailable.
For AI Assistants
If you are helping a user set up Nova3D MCP:
Ensure the
nova3dMCP server is installed in the clientCall
nova3d_loginTell the user a browser tab will open and they must complete sign-in there
After browser sign-in, call
nova3d_statusIf
next_action == "purchase_credits", direct the user to the returned URLProceed to
generate_3donly whenauthenticated: trueandgeneration_ready: trueOnly suggest manual
NOVA3D_TOKENsetup if browser/loopback auth is unavailable
Onboarding Decision Tree
If
nova3d_loginreturnslogin_pending_confirmation: truecomplete the browser sign-in flow
then call
nova3d_status
If
nova3d_status.next_action == "sign_in"call
nova3d_login
If
nova3d_status.next_action == "session_expired"call
nova3d_loginagain
If
nova3d_status.next_action == "purchase_credits"follow the returned purchase URL
If
nova3d_status.next_action == nullandgeneration_ready == trueproceed to
generate_3d
Local install
If you prefer to install from source instead of uvx, clone the repository and
install the package locally:
git clone https://github.com/RareSense/nova3d-mcp.git
cd nova3d-mcp
python3.10 -m venv .venv && source .venv/bin/activate
pip install .Then replace uvx nova3d-mcp in the client examples above with the local
nova3d-mcp executable from your environment.
Typical workflow
Once onboarding is complete, pass a prompt like this to your AI agent:
Generate a vending machine with separate door, glass panel, coin slot,
button grid, frame, and interior shelving.The agent calls generate_3d. You get back:
{
"glb_url": "https://nova3d.xyz/assets/abc123.glb",
"conversation_url": "https://app.nova3d.xyz/chat/conv-...",
"parts": ["door", "glass_panel", "coin_slot", "button_grid", "frame", "shelf_1", "shelf_2"],
"joint_count": 1,
"code_artifact": { ... },
"workflow_id": "state-..."
}conversation_url— your editing session in the Nova3D app, with the generated model and edit history already hydrated. All subsequentregenerate_part,add_part, andarticulate_modelcalls on this asset link back to the same session.
Configuration notes
conversation_urlis the standard supported way to inspect generated assets — it opens your fully hydrated editing session in the Nova3D app.Preferred onboarding is browser sign-in through
nova3d_login, thennova3d_statusto confirm credits/readiness.nova3d_loginopens a browser tab and starts local MCP session setup through a loopback callback.nova3d_statusis the canonical follow-up check for authentication, credits, and readiness.Keep secrets out of checked-in workspace config when possible. Prefer per-user configuration files or client-managed environment variables.
If your editor supports source-controlled MCP config, commit the server entry and inject
NOVA3D_TOKENper-user only for the advanced/manual fallback path.
Troubleshooting
Problem | What to check |
Prompted to sign in before generation | Call |
| Finish the browser sign-in step, then call |
Browser sign-in finished but | Call |
Told that credits are required | Follow the purchase link returned by |
Auth failure on startup | Sign in again with |
| Install |
No 3D preview inside the editor | Open the returned |
Tools
generate_3d
Generate a structured 3D asset from text (and optional reference image). Initial generation runs through Nova3D's paid GraphFlow v2 workflow. This MCP server does not expose BYOK/provider-key generation.
Parameter | Type | Required | Description |
| string | ✓ | Asset description. Be specific about parts. |
| string | Paid routing preset: | |
| string | Reference image as plain base64; the server converts it to the v2 | |
| string | e.g. |
Returns: glb_url, conversation_url, parts, joint_count, code_artifact, model_artifact, workflow_id. Pass code_artifact to any edit tool. Open conversation_url to see the full edit history for this asset in the Nova3D app.
regenerate_part
Regenerate one named part without rebuilding the whole asset.
Parameter | Type | Required | Description |
| object | ✓ | From prior |
| string | ✓ | Part name e.g. |
| string | ✓ | What the new part should look like |
| string |
|
Finding part names: Open the conversation_url from your generation and
inspect the model viewer — each mesh is labeled. Use that exact name as
part_type.
add_part
Add a new component to an existing asset.
Parameter | Type | Required | Description |
| object | ✓ | From prior generation result |
| string | ✓ | Description of the new part and where it goes |
| string |
|
articulate_model
Add joints, hinges, or rotational articulation to an existing asset.
Parameter | Type | Required | Description |
| object | ✓ | From prior generation result |
| string | ✓ | What should move and how |
| string |
| |
| object |
| |
| string |
| |
| list | Specific mesh names to articulate |
get_generation_status
Check the status of a running workflow by ID.
Parameter | Type | Required | Description |
| string | ✓ | From any prior generation tool |
nova3d_login
Start the preferred browser-based Nova3D sign-in flow and store a local MCP session.
This opens a browser tab. If the browser flow finishes but local completion is
ambiguous, call nova3d_status before using manual token fallback.
nova3d_status
Return the canonical Nova3D onboarding/readiness state, including identity, credits, generation readiness, and the next recommended action.
nova3d_logout
Clear the locally stored MCP session. This does not remove an advanced/manual
NOVA3D_TOKEN from your MCP config.
Typical workflow
1. generate_3d("robot dog with four legs, head, torso, and tail")
→ glb_url, conversation_url, parts, code_artifact
2. Open conversation_url in browser
→ see named parts, identify what needs changing
3. regenerate_part(code_artifact, part_type="head", description="...")
→ updated glb_url, same conversation_url
4. add_part(code_artifact, description="a wagging tail with three segments")
→ updated glb_url, parts list now includes new tail segments
5. articulate_model(code_artifact, model_url, "make legs rotate at hip joints")
→ glb_url with working jointsAll edit tools accept the code_artifact from any prior result and return an updated one. Always pass the most recent code_artifact forward — it carries the session state that links your edits together.
Model reference
| Provider | Notes |
| Google Gemini | Recommended for spatial reasoning |
| Anthropic | Strong reasoning |
| Anthropic | Most capable Anthropic model |
| Anthropic | Latest Opus version |
| OpenAI | Latest GPT model |
Environment variables
Variable | Required | Description |
| Advanced/manual fallback API key from https://app.nova3d.xyz/api-key | |
| Override API base URL (default: | |
| Override app URL for conversation links (default: |
How it differs from blender-mcp
blender-mcp (21.9k ★) gives AI agents a remote control for a locally running Blender instance. It requires Blender installed, produces unstructured output, and inherits all the bpy hallucination problems of raw LLM → Blender code generation.
nova3d-mcp is different in kind:
blender-mcp | nova3d-mcp | |
Blender required | Yes | No |
Output | Unstructured scene | Named, hierarchical GLB |
Validation | None | Server-side repair loop |
Part awareness | No | Yes — named, addressable |
Joints | Manual scripting | First-class output |
Hosted backend | No | Yes |
Contributing
Issues, PRs, and workflow feedback welcome. github.com/RareSense/nova3d-mcp
Community Discord: discord.gg/QEH8mzcwdR
License
MIT — see LICENSE
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
This server cannot be deployed
Maintenance
Related MCP Connectors
Parametric 3D CAD for AI agents: build print-ready parts, check them, export STL, 3MF or STEP.
AI game assets for agents: consistent sprites, 2D animations, tiles, maps, music and engine exports.
Generate and edit images, video, voice, lip-sync and 3D models from your AI agent.
Turn prompts into production-ready game assets: animated characters, textures, terrain, VFX, HUD.
Related MCP Servers
AlicenseAqualityAmaintenanceEnables AI agents to create, manage, and download 3D models, textures, images, rigged characters, and animations through natural conversation.2837,042 npm93MIT- AlicenseNot gradedqualityDmaintenanceEnables AI agents to construct, edit, and export 3D models using geometric primitives and boolean operations, with multi-view rendering to facilitate spatial reasoning.7MIT

Thrixel MCP Serverofficial
AlicenseAqualityBmaintenanceEnables AI agents to create, edit, detail, and download game-ready 3D models through natural conversation, with visual feedback on each result.12596 PyPIMIT- AlicenseAqualityBmaintenanceEnables AI agents to generate game-ready 3D assets from reference images with PBR textures, and to retexture meshes the user already owns, while recording full provenance for every generated file.2013MIT