Nova3D

io.github.RareSense由 GitHub 帳號 RareSense 發布v0.2.6更新於 Oct 25, 2026

Structured, part-aware 3D generation for AI agents. Named-part GLB, preview URL, Blender script.

已驗證STDIO僅桌面媒體與設計AI 與機器學習

概覽

AI 產生的概覽

Nova3D 可依文字或圖片產生結構化、分部件的 3D 資產,回傳具名部件的 GLB、預覽連結與 Blender 腳本。

可以做什麼
依提示詞與選用參考圖產生 3D 資產,回傳 GLB、部件名稱、關節數量以及供後續編輯使用的程式碼成品。編輯既有資產:重新產生某個具名部件、新增部件,或為模型加入關節與轉動結構。依工作流程 ID 查詢產生任務的狀態。透過瀏覽器流程登入 Nova3D、查看帳號與額度就緒狀態,並清除本機工作階段。
適用情境
適合需要讓 AI 助理產出可編輯 3D 模型的情境,例如遊戲引擎、設定器、模擬或 AR 場景,並希望逐部件修改,而不是整份重新產生。
執行需求
以 Python 套件形式透過 uvx 在本機執行(也可本機安裝),需要 uv/Python。需要 Nova3D 帳號:透過登入工具開啟的瀏覽器流程完成登入,再查詢狀態。產生需要已購買的額度。NOVA3D_TOKEN 是選用的備援 API 金鑰;NOVA3D_APP_URL 與 NOVA3D_API_URL 可覆寫預設位址。需要能連線至 Nova3D 託管服務的網路。
安裝前請注意
首次產生走付費流程並消耗額度,狀態工具可能回傳購買連結,會產生費用。伺服器會將提示詞、選用參考圖與模型資料傳送至 Nova3D 託管後端,預覽在託管網頁應用中開啟,而非編輯器內。NOVA3D_TOKEN 屬機密,避免寫入受版本控制的設定,優先使用依使用者設定。登出不會移除手動設定的權杖。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Nova3D,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

[!WARNING] 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:

  1. Run claude mcp add nova3d -- uvx nova3d-mcp
  2. In Claude, call nova3d_login
  3. Complete the Nova3D browser sign-in flow
  4. Then call nova3d_status

Other MCP clients:


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 joints

The 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

ClientStatusInstall pathPreview path
CodexSupportedcodex mcp add or Codex MCP configBrowser conversation_url
CursorSupported.cursor/mcp.json or ~/.cursor/mcp.jsonBrowser conversation_url
VS CodeSupported.vscode/mcp.json, MCP: Add Server, or code --add-mcpBrowser conversation_url
Visual StudioSupported.mcp.json or Visual Studio MCP UIBrowser conversation_url
Claude CodeSupportedclaude mcp addBrowser conversation_url

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
bash
codex mcp add nova3d -- uvx nova3d-mcp

Codex 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
bash
claude mcp add nova3d -- uvx nova3d-mcp
Cursor

Create .cursor/mcp.json in your project, or ~/.cursor/mcp.json for a global install:

json
{  "mcpServers": {    "nova3d": {      "command": "uvx",      "args": ["nova3d-mcp"]    }  }}
VS Code

Option A: add the server from the command line:

bash
code --add-mcp "{\"name\":\"nova3d\",\"command\":\"uvx\",\"args\":[\"nova3d-mcp\"]}"

Option B: create .vscode/mcp.json in your workspace:

json
{  "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:

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:

  1. Call nova3d_login
  2. Complete the Nova3D sign-in flow in the browser tab that opens
  3. Call nova3d_status
  4. If next_action == "purchase_credits", follow the returned purchase link
  5. When authenticated: true and generation_ready: true, start using generate_3d

Important:

  • Installing the MCP server and completing Nova3D sign-in are separate steps.
  • nova3d_login opens a browser tab and may return login_pending_confirmation: true while local MCP session setup is still being confirmed.
  • If browser sign-in finishes but login completion is ambiguous, call nova3d_status before retrying or considering manual fallback.
  • NOVA3D_TOKEN is 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:

  1. Ensure the nova3d MCP server is installed in the client
  2. Call nova3d_login
  3. Tell the user a browser tab will open and they must complete sign-in there
  4. After browser sign-in, call nova3d_status
  5. If next_action == "purchase_credits", direct the user to the returned URL
  6. Proceed to generate_3d only when authenticated: true and generation_ready: true
  7. Only suggest manual NOVA3D_TOKEN setup if browser/loopback auth is unavailable

Onboarding Decision Tree

  • If nova3d_login returns login_pending_confirmation: true
    • complete 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_login again
  • If nova3d_status.next_action == "purchase_credits"
    • follow the returned purchase URL
  • If nova3d_status.next_action == null and generation_ready == true
    • proceed to generate_3d

Local install

If you prefer to install from source instead of uvx, clone the repository and install the package locally:

bash
git clone https://github.com/RareSense/nova3d-mcp.gitcd nova3d-mcppython3.10 -m venv .venv && source .venv/bin/activatepip 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:

json
{  "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 subsequent regenerate_part, add_part, and articulate_model calls on this asset link back to the same session.

Configuration notes

  • conversation_url is 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, then nova3d_status to confirm credits/readiness.
  • nova3d_login opens a browser tab and starts local MCP session setup through a loopback callback.
  • nova3d_status is 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_TOKEN per-user only for the advanced/manual fallback path.

Troubleshooting

ProblemWhat to check
Prompted to sign in before generationCall nova3d_login, then re-check with nova3d_status
nova3d_login returns login_pending_confirmation: trueFinish the browser sign-in step, then call nova3d_status
Browser sign-in finished but nova3d_login did not confirm completionCall nova3d_status now. If it still shows not signed in, retry nova3d_login
Told that credits are requiredFollow the purchase link returned by nova3d_status
Auth failure on startupSign in again with nova3d_login, or confirm the manual key at https://app.nova3d.xyz/api-key
uvx not foundInstall uv or use a local nova3d-mcp executable from a virtualenv
No 3D preview inside the editorOpen the returned conversation_url in the browser; that is the supported preview path

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.

ParameterTypeRequiredDescription
promptstring✓Asset description. Be specific about parts.
modelstringPaid routing preset: "gemini" (default) · "claude-sonnet" · "claude-opus" · "claude-opus-latest" · "gpt-5.5"
image_base64stringReference image as plain base64; the server converts it to the v2 image_artifact data-URL format
image_mimestringe.g. "image/jpeg"

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.

ParameterTypeRequiredDescription
code_artifactobject✓From prior generate_3d result
part_typestring✓Part name e.g. "door", "handle"
descriptionstring✓What the new part should look like
modelstring"gemini" (default) · "claude-sonnet" · "claude-opus" · "claude-opus-latest" · "gpt-5.5"

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.

ParameterTypeRequiredDescription
code_artifactobject✓From prior generation result
descriptionstring✓Description of the new part and where it goes
modelstring"gemini" (default) · "claude-sonnet" · "claude-opus" · "claude-opus-latest" · "gpt-5.5"

articulate_model

Add joints, hinges, or rotational articulation to an existing asset.

ParameterTypeRequiredDescription
code_artifactobject✓From prior generation result
articulation_requeststring✓What should move and how
model_urlstringglb_url from prior generation. Provide this or model_artifact.
model_artifactobjectmodel_artifact from prior generation. Provide this or model_url.
modelstring"gemini" (default) · "claude-sonnet" · "claude-opus" · "claude-opus-latest" · "gpt-5.5"
selected_mesheslistSpecific mesh names to articulate

get_generation_status

Check the status of a running workflow by ID.

ParameterTypeRequiredDescription
workflow_idstring✓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 joints

All 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

model valueProviderNotes
"gemini" (default)Google GeminiRecommended for spatial reasoning
"claude-sonnet"AnthropicStrong reasoning
"claude-opus"AnthropicMost capable Anthropic model
"claude-opus-latest"AnthropicLatest Opus version
"gpt-5.5"OpenAILatest GPT model

Environment variables

VariableRequiredDescription
NOVA3D_TOKENAdvanced/manual fallback API key from https://app.nova3d.xyz/api-key
NOVA3D_API_URLOverride API base URL (default: https://nova3d.xyz/api)
NOVA3D_APP_URLOverride app URL for conversation links (default: https://app.nova3d.xyz)

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-mcpnova3d-mcp
Blender requiredYesNo
OutputUnstructured sceneNamed, hierarchical GLB
ValidationNoneServer-side repair loop
Part awarenessNoYes — named, addressable
JointsManual scriptingFirst-class output
Hosted backendNoYes

Contributing

Issues, PRs, and workflow feedback welcome. github.com/RareSense/nova3d-mcp

Community Discord: discord.gg/QEH8mzcwdR


License

MIT — see LICENSE

來源:README.md,提交 3308c26

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

1
  1. v0.2.6最新Sep 16, 2026

評分

已滿足適用檢查項的 50%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分