
Nova3D
@RareSense
关于 Nova3D
Structured, part-aware 3D generation for AI agents. Generates named-part GLB assets with intact hierarchy, real joints, and browser-based editing sessions.
基本信息
配置
使用下面的配置,将此服务器添加到你的 MCP 客户端。
{
"mcpServers": {
"nova3d": {
"command": "uvx",
"args": [
"nova3d-mcp"
]
}
}
}工具
9Get setup instructions for Nova3D. Call this if the user asks how to get started or needs the sign-in flow. Returns: instructions: Step-by-step setup guide with URL and install command.
Get the canonical Nova3D onboarding and readiness state. Use this before generation, after sign-in, or after purchasing credits.
Sign in to Nova3D through the browser and establish a local MCP session. This is the preferred onboarding path. It starts a loopback callback flow, opens a browser tab, waits for the local loopback callback, exchanges the one-time session code for an MCP credential, stores it locally, and returns the resulting readiness state. If browser sign-in finishes but local completion is ambiguous, call nova3d_status before falling back to manual NOVA3D_TOKEN setup.
Clear the locally stored MCP session credential. This does not remove an advanced/manual NOVA3D_TOKEN from the MCP config.
Generate a structured, part-aware 3D asset from a text prompt. Initial generation uses Nova3D's paid GraphFlow v2 workflow. The selected model routes to a Nova3D-managed paid tier; this MCP tool does not expose BYOK provider-key generation. Nova3D writes Blender Python construction code, executes it server-side, validates spatial structure, and exports a GLB with named, separately addressable parts — not a fused mesh blob. Args: prompt: Description of the 3D asset. Be specific about parts. Example: "a washing machine with drum, door, control panel, and hose connectors" model: Paid Nova3D routing preset. One of: "gemini" (default), "claude-sonnet", "claude-opus", "claude-opus-latest", "gpt-5.5". image_base64: Optional reference image as plain base64. The MCP server converts this into the v2 image_artifact data-URL format. image_mime: MIME type of the reference image e.g. "image/jpeg". Returns: glb_url: Direct download URL for the structured GLB file. parts: List of named mesh/joint identifiers in the asset. joint_count: Number of articulated joints. code_artifact: Blender Python construction script. Pass this to regenerate_part, add_part, or articulate_model. model_artifact: GLB artifact object. Pass to articulate_model. workflow_id: Workflow identifier for status tracking. conversation_url: Browser URL for the editing session in the Nova3D app. All regenerate/edit calls on this asset link here too. Open this to see the full generation history for this asset. failed: True if generation failed. error_message: Human-readable error if failed is True.
Regenerate a specific named part within an existing 3D asset. Use this after generate_3d when you want to change one component without rebuilding the entire asset. The part name must match a name from the parts list returned by the original generate_3d call, or a part name visible in the conversation viewer. Args: code_artifact: The code_artifact object from a prior generate_3d or edit workflow result. Required — this is how Nova3D knows the current structure of the asset. part_type: Name of the part to regenerate. Must match a part name from the asset. Example: "door", "handle", "drum", "control_panel". Check the conversation URL to identify exact part names. description: Description of what the regenerated part should look like. Be specific. Example: "glass panel door with chrome frame and rubber seal around the edges". model: LLM model. One of: "gemini" (default), "claude-sonnet", "claude-opus", "claude-opus-latest", "gpt-5.5". Returns: glb_url: Updated GLB with the regenerated part. code_artifact: Updated construction script for further edits. workflow_id: Workflow identifier. conversation_url: Browser URL for the editing session. Present only if the original generate_3d call successfully created a conversation. Same URL as returned by generate_3d. failed: True if regeneration failed. error_message: Human-readable error if failed is True.
Add a new named part to an existing 3D asset. Use this to extend an asset with additional components after the initial generation. The new part is integrated into the scene graph alongside the existing parts, preserving all naming and hierarchy. Args: code_artifact: The code_artifact object from a prior generate_3d or edit workflow result. description: Description of the new part to add. Be specific about shape, position relative to existing parts, and any material properties. Example: "add a chrome handle bar to the front face of the door, centered horizontally". model: LLM model. One of: "gemini" (default), "claude-sonnet", "claude-opus", "claude-opus-latest", "gpt-5.5". Returns: glb_url: Updated GLB with the new part added. parts: Updated list of part names including the new part. code_artifact: Updated construction script for further edits. workflow_id: Workflow identifier. conversation_url: Browser URL for the editing session. Present only if the original generate_3d call successfully created a conversation. Same URL as returned by generate_3d. failed: True if the add operation failed. error_message: Human-readable error if failed is True.
Add joints, hinges, or rotational articulation to an existing 3D asset. Use this to make parts of a generated asset physically movable — rotating drums, swinging doors, articulated robot joints, etc. The articulation is real and exported as joint definitions in the GLB, not baked into the mesh. Args: code_artifact: The code_artifact object from a prior generation. articulation_request: Plain language description of the desired articulation. Example: "make the drum rotate around its central axis and the door swing open on a hinge at the left edge". model_url: The glb_url from the prior generation result. Provide this or model_artifact (or both). Must be a direct HTTPS URL, not a blob: URL. model_artifact: The model_artifact object from the prior generation result. Provide this or model_url (or both). model: LLM model. One of: "gemini" (default), "claude-sonnet", "claude-opus", "claude-opus-latest", "gpt-5.5". selected_meshes: Optional list of specific mesh names to articulate. If omitted, the LLM infers which parts to articulate from the articulation_request. Returns: glb_url: Updated GLB with joint definitions embedded. joints: List of joint definition objects. joint_count: Number of joints added. code_artifact: Updated construction script. workflow_id: Workflow identifier. conversation_url: Browser URL for the editing session. Present only if the original generate_3d call successfully created a conversation. Same URL as returned by generate_3d. failed: True if articulation failed. error_message: Human-readable error if failed is True.
Get the current status of a running generation workflow. Use this to check on a long-running generation without waiting for the full result. The generate_3d and edit tools block until completion, but this tool is useful if you have a workflow_id from a prior session. Args: workflow_id: The workflow_id returned by any generation tool. Returns: state: Current state string. is_terminal: True if the workflow has finished (success or failure). progress_label: Human-readable progress description. current_node: Internal pipeline node currently executing.
概览
What is Nova3D?
Nova3D is an MCP server for structured, part-aware 3D generation. Unlike diffusion-style 3D tools that return a fused mesh blob, Nova3D generates blender-compatible, editable GLB assets with named parts, intact hierarchy, and real articulated joints.
How to use Nova3D?
Install the MCP server using the configuration {"mcpServers":{"nova3d":{"command":"uvx","args":["nova3d-mcp"]}}}. On first run, call nova3d_login, complete browser sign-in, then call nova3d_status before using generate_3d. The NOVA3D_TOKEN environment variable is an advanced fallback for environments without browser-based auth.
Key features of Nova3D?
- Generate structured 3D assets from text or reference images
- Regenerate one named part without rebuilding the whole asset
- Add new parts to an existing asset
- Add articulation such as hinges and rotating joints
- Open conversation_url to inspect model and edit history
Use cases of Nova3D?
—
FAQ from Nova3D
How do I get started with Nova3D?
Install the server with uvx nova3d-mcp, then call nova3d_login, complete browser sign-in, call nova3d_status, and begin using generate_3d.
What authentication methods does Nova3D support?
The primary method is browser-based sign-in via nova3d_login. For environments without browser and loopback auth, you can set the NOVA3D_TOKEN environment variable as a manual fallback.
Can I edit individual parts of a generated asset?
Yes, you can regenerate one named part without rebuilding the whole asset and add new parts to an existing asset.
Does Nova3D support articulated joints?
Yes, you can add articulation such as hinges and rotating joints to generated assets.
Where can I find more information about Nova3D?
Visit the web site at https://nova3d.xyz/, the GitHub repository at https://github.com/RareSense/nova3d-mcp, or the PyPI page at https://pypi.org/project/nova3d-mcp/.
其他 分类下的更多 MCP 服务器
🚀 Model Context Protocol (MCP) Curriculum for Beginners
microsoftThis open-source curriculum introduces the fundamentals of Model Context Protocol (MCP) through real-world, cross-language examples in .NET, Java, TypeScript, JavaScript, Rust and Python. Designed for developers, it focuses on practical techniques for building modular, scalable,

Sequential Thinking
modelcontextprotocolModel Context Protocol Servers
Blender
ahujasidOpen-source MCP to use Blender with any LLM
Core Philosophy: Connect, Unify, Respond
mindsdbDelegate anything. It comes back done.
Mcp
browsermcpBrowser MCP is a Model Context Provider (MCP) server that allows AI applications to control your browser
评论