Nova3D について
Nova3Dは、テキストや参照画像から構造化された3Dアセットを生成・編集するMCPサーバーです。名前付きパーツや階層、ジョイントを必要とするエージェント向けで、モデルはホスト型のブラウザーセッションで確認できます。
主な機能
- 01構造化GLBアセットの生成
- 02テキストや参照画像からの生成
- 03名前付きパーツの再生成
- 04既存アセットへのパーツ追加
- 05ジョイントと可動構造の追加
- 06ブラウザーセッションでのモデル確認
活用シーン
- 01ゲームエンジン向けの編集可能な3Dアセット作成
- 02アセット全体を作り直さずに部品を更新
- 03生成モデルへのヒンジや可動構造の追加
MCP 対応
Nova3Dの生成、パーツ編集、関節設定、ワークフロー状態、アカウント準備状況をMCPクライアント向けのツールとして公開します。返されるconversation_urlから、ホスト型のブラウザー編集セッションを開けます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
uvx nova3d-mcpNOVA3D_TOKENシークレットAdvanced/manual fallback API key from https://app.nova3d.xyz/api-key. Preferred onboarding is browser sign-in via nova3d_login.NOVA3D_APP_URLApp URL used for conversation links, for example https://app.nova3d.xyz or http://127.0.0.1:5555ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
9掲載時のツール一覧 · 2 週間前に更新
このツールにパラメーターはありません。
詳細
警告
移転しました: 開発は Nova3D モノレポで継続しています: https://github.com/RareSense/Nova3D/tree/main/mcp
nova3d-mcp
AI エージェント向けの、パーツを認識した構造化 3D 生成。
nova3d-mcp は、Nova3D の生成パイプラインを、Codex、Cursor、VS Code、Visual Studio、Claude Code、その他の MCP 対応エージェント内で呼び出せるツールとして公開する MCP サーバーです。
ツールを 1 回呼び出すだけで、ドラム、ドア、操作パネル、ホースの接続部に名前が付いた洗濯機が生成されます。それぞれ個別に編集でき、ひとつの塊に融合することはありません。
クイックスタート
Claude Code:
claude mcp add nova3d -- uvx nova3d-mcpを実行します- Claude で
nova3d_loginを呼び出します - Nova3D のブラウザーサインインフローを完了します
- 次に
nova3d_statusを呼び出します
その他の MCP クライアント:
Nova3D を選ぶ理由
現在、主要な AI 3D 生成ツールはどれもメッシュの塊を生成します。レンダリングではもっともらしく見える単一の融合オブジェクトですが、編集、リギング、パイプラインへの組み込みを試みると、たちまち破綻します。
Nova3D は異なります。拡散モデル → メッシュではなく、次のように処理します:
prompt / image
↓
LLM writes Blender Python construction code
↓
headless Blender executes + validates + repairs
↓
structured GLB — named parts, intact hierarchy, real joints
その結果、ゲームエンジン、コンフィギュレーター、ロボットシミュレーション、AR シーンなど、実際のワークフローで活用できる 3D アセットが得られます。パーツには名前が付き、階層構造は保たれ、ジョイントは実際に機能します。すべてを再生成することなく、ひとつのコンポーネントを変更できます。
対応クライアント
| クライアント | 状態 | インストール方法 | プレビュー方法 |
|---|---|---|---|
| Codex | 対応 | codex mcp add または Codex MCP 設定 | ブラウザーの conversation_url |
| Cursor | 対応 | .cursor/mcp.json または ~/.cursor/mcp.json | ブラウザーの conversation_url |
| VS Code | 対応 | .vscode/mcp.json、MCP: サーバーの追加、または code --add-mcp | ブラウザーの conversation_url |
| Visual Studio | 対応 | .mcp.json または Visual Studio MCP UI | ブラウザーの conversation_url |
| Claude Code | 対応 | claude mcp add | ブラウザーの conversation_url |
Nova3D は MCP クライアントから実行されますが、モデルの確認には、返される conversation_url からホスト型ブラウザービューアーを使用します。このリポジトリには、現時点で IDE に組み込まれた 3D ビューポートは含まれていません。
インストール
まず、クライアントに MCP サーバーを追加します。これでサーバーが登録されますが、Nova3D アカウントのオンボーディングはまだ完了しません。
Codex
codex mcp add nova3d -- uvx nova3d-mcp
Codex は ~/.codex/config.toml による MCP 設定にも対応しています。CLI より設定ファイルを使いたい場合は、Codex の MCP 設定画面を使い、同じ stdio コマンド uvx nova3d-mcp を指定してください。
Claude Code
claude mcp add nova3d -- uvx nova3d-mcp
Cursor
プロジェクトに .cursor/mcp.json を、グローバルにインストールする場合は ~/.cursor/mcp.json を作成します:
{
"mcpServers": {
"nova3d": {
"command": "uvx",
"args": ["nova3d-mcp"]
}
}
}
VS Code
方法 A:コマンドラインからサーバーを追加します:
code --add-mcp "{\"name\":\"nova3d\",\"command\":\"uvx\",\"args\":[\"nova3d-mcp\"]}"
方法 B:ワークスペースに .vscode/mcp.json を作成します:
{
"servers": {
"nova3d": {
"command": "uvx",
"args": ["nova3d-mcp"]
}
}
}
コマンドパレットから MCP: Add Server を使うこともできます。
Visual Studio
<SOLUTIONDIR>/.mcp.json または %USERPROFILE%/.mcp.json を作成します:
{
"servers": {
"nova3d": {
"command": "uvx",
"args": ["nova3d-mcp"]
}
}
}
stdio コマンド uvx と引数 ["nova3d-mcp"] を指定して、Visual Studio MCP UI からサーバーを追加することもできます。
いずれかのクライアントにサーバーをインストールしたら、次にそのクライアント内から nova3d_login または nova3d_setup を呼び出します。インストールしただけでは、Nova3D のオンボーディングは完了しません。
初回実行
任意のクライアントに MCP サーバーをインストールした後:
nova3d_loginを呼び出します- 開いたブラウザータブで Nova3D のサインインフローを完了します
nova3d_statusを呼び出しますnext_action == "purchase_credits"の場合は、返された購入リンクにアクセスしますauthenticated: trueかつgeneration_ready: trueになったら、generate_3dを使い始めます
重要:
- MCP サーバーのインストールと Nova3D へのサインインは別々の手順です。
nova3d_loginはブラウザータブを開き、ローカル MCP セッションの設定がまだ確認中の場合、login_pending_confirmation: trueを返すことがあります。- ブラウザーでのサインインが完了してもログインの完了が不明確な場合は、再試行したり手動の代替手段を検討したりする前に、
nova3d_statusを呼び出してください。 NOVA3D_TOKENは、ブラウザー/ループバック認証が利用できない環境でのみ使用する、高度な手動代替手段です。
AI アシスタント向け
ユーザーによる Nova3D MCP のセットアップを支援する場合:
- クライアントに
nova3dMCP サーバーがインストールされていることを確認します nova3d_loginを呼び出します- ブラウザータブが開くので、そこでサインインを完了する必要があることをユーザーに伝えます
- ブラウザーでのサインイン後、
nova3d_statusを呼び出します next_action == "purchase_credits"の場合は、返された URL にユーザーを案内しますauthenticated: trueかつgeneration_ready: trueの場合にのみ、generate_3dに進みます- ブラウザー/ループバック認証が利用できない場合にのみ、手動での
NOVA3D_TOKENの設定を提案します
オンボーディングの判断フロー
nova3d_loginがlogin_pending_confirmation: trueを返した場合- ブラウザーでのサインインフローを完了します
- その後、
nova3d_statusを呼び出します
nova3d_status.next_action == "sign_in"の場合nova3d_loginを呼び出します
nova3d_status.next_action == "session_expired"の場合- もう一度
nova3d_loginを呼び出します
- もう一度
nova3d_status.next_action == "purchase_credits"の場合- 返された購入 URL にアクセスします
nova3d_status.next_action == nullかつgeneration_ready == trueの場合generate_3dに進みます
ローカルインストール
uvx ではなくソースからのインストールを希望する場合は、リポジトリをクローンし、
パッケージをローカルにインストールします:
git clone https://github.com/RareSense/nova3d-mcp.git
cd nova3d-mcp
python3.10 -m venv .venv && source .venv/bin/activate
pip install .
その後、上記のクライアント設定例にある uvx nova3d-mcp を、環境内の
ローカルの nova3d-mcp 実行ファイルに置き換えます。
一般的なワークフロー
オンボーディングが完了したら、次のようなプロンプトを AI エージェントに渡します:
Generate a vending machine with separate door, glass panel, coin slot,
button grid, frame, and interior shelving.
エージェントが generate_3d を呼び出します。次の情報が返されます:
{
"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— 生成されたモデルと編集履歴がすでに読み込まれた、Nova3D アプリ内の編集セッションです。このアセットに対する以降のregenerate_part、add_part、articulate_modelの呼び出しは、すべて同じセッションに紐付けられます。
設定に関する注意事項
- 生成したアセットを確認する標準の方法として、
conversation_urlがサポートされています。Nova3D アプリで、必要な情報がすべて読み込まれた編集セッションが開きます。 - 推奨されるオンボーディング手順は、
nova3d_loginからブラウザーでサインインし、続いてnova3d_statusを呼び出してクレジットと準備状況を確認する方法です。 nova3d_loginはブラウザータブを開き、ループバックコールバックを通じてローカル MCP セッションの設定を開始します。nova3d_statusは、認証、クレジット、準備状況を確認するための標準的な後続チェックです。- 可能であれば、チェックイン対象のワークスペース設定にシークレットを含めないでください。 ユーザーごとの設定ファイル、またはクライアントが管理する環境変数を使用してください。
- エディターがソース管理可能な MCP 設定に対応している場合は、サーバーエントリーをコミットし、高度な手動代替手段として使用する場合に限り、ユーザーごとに
NOVA3D_TOKENを注入してください。
トラブルシューティング
| 問題 | 確認する内容 |
|---|---|
| 生成前にサインインを求められる | nova3d_login を呼び出し、その後 nova3d_status で再確認します |
nova3d_login が login_pending_confirmation: true を返す | ブラウザーでのサインイン手順を完了してから、nova3d_status を呼び出します |
ブラウザーでのサインインは完了したが、nova3d_login が完了を確認しなかった | ここで nova3d_status を呼び出します。それでも未サインインと表示される場合は、nova3d_login を再試行します |
| クレジットが必要と表示される | nova3d_status が返す購入リンクに従います |
| 起動時に認証エラーが発生する | nova3d_login で再度サインインするか、https://app.nova3d.xyz/api-key で手動のキーを確認します |
uvx が見つからない | uv をインストールするか、仮想環境のローカル nova3d-mcp 実行ファイルを使用します |
| エディター内に 3D プレビューが表示されない | 返された conversation_url をブラウザーで開きます。サポートされているプレビュー方法はこちらです |
ツール
generate_3d
テキスト(および任意の参照画像)から、構造化された 3D アセットを生成します。 初回の生成は、Nova3D の有料 GraphFlow v2 ワークフローを通じて実行されます。この MCP サーバーは BYOK/プロバイダーキーによる生成を公開していません。
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
prompt | string | ✓ | アセットの説明です。各パーツを具体的に指定してください。 |
model | string | 有料のルーティングプリセット:"gemini"(デフォルト)・"claude-sonnet"・"claude-opus"・"claude-opus-latest"・"gpt-5.5" | |
image_base64 | string | プレーンな base64 形式の参照画像です。サーバーが v2 の image_artifact データ URL 形式に変換します | |
image_mime | string | 例:"image/jpeg" |
戻り値: glb_url、conversation_url、parts、joint_count、code_artifact、model_artifact、workflow_id。code_artifact を任意の編集ツールに渡します。conversation_url を開くと、Nova3D アプリでこのアセットの編集履歴全体を確認できます。
regenerate_part
アセット全体を作り直さずに、名前を指定したパーツを 1 つ再生成します。
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
code_artifact | object | ✓ | 以前の generate_3d の結果から取得します |
part_type | string | ✓ | パーツ名。例:"door"、"handle" |
description | string | ✓ | 新しいパーツの外観を指定します |
model | string | "gemini"(デフォルト)・"claude-sonnet"・"claude-opus"・"claude-opus-latest"・"gpt-5.5" |
パーツ名の確認方法: 生成時の conversation_url を開き、モデルビューアーを確認します。各メッシュにラベルが付いています。その名前をそのまま part_type に指定してください。
add_part
既存のアセットに新しいコンポーネントを追加します。
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
code_artifact | object | ✓ | 以前の生成結果から取得します |
description | string | ✓ | 新しいパーツの説明と追加位置を指定します |
model | string | "gemini"(デフォルト)・"claude-sonnet"・"claude-opus"・"claude-opus-latest"・"gpt-5.5" |
articulate_model
既存のアセットにジョイント、ヒンジ、または回転機構を追加します。
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
code_artifact | object | ✓ | 以前の生成結果から取得します |
articulation_request | string | ✓ | 動かす対象と動かし方を指定します |
model_url | string | 以前の生成結果の glb_url。これか model_artifact のいずれかを指定します。 | |
model_artifact | object | 以前の生成結果の model_artifact。これか model_url のいずれかを指定します。 | |
model | string | "gemini"(デフォルト)・"claude-sonnet"・"claude-opus"・"claude-opus-latest"・"gpt-5.5" | |
selected_meshes | list | 関節を追加する特定のメッシュ名 |
get_generation_status
ID を指定して、実行中のワークフローのステータスを確認します。
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
workflow_id | string | ✓ | 以前に使用した任意の生成ツールから取得します |
nova3d_login
優先ブラウザベースの Nova3D サインインフローを開始し、ローカルの MCP セッションを保存します。
ブラウザーのタブが開きます。ブラウザーフローが完了してもローカルでの完了状態が
不明な場合は、手動でトークンにフォールバックする前に nova3d_status を呼び出してください。
nova3d_status
ID、クレジット、生成の準備状況、次に推奨されるアクションを含む、 標準的な Nova3D のオンボーディング/準備状況を返します。
nova3d_logout
ローカルに保存された MCP セッションを消去します。MCP 設定にある高度な設定/手動指定の
NOVA3D_TOKEN は削除されません。
一般的なワークフロー
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
すべての編集ツールは、以前の結果に含まれる code_artifact を受け付け、更新されたものを返します。編集内容を連携させるセッション状態が保持されるため、常に最新の code_artifact を引き継いでください。
モデルのリファレンス
model の値 | プロバイダー | 備考 |
|---|---|---|
"gemini" (デフォルト) | Google Gemini | 空間推論におすすめです |
"claude-sonnet" | Anthropic | 優れた推論能力 |
"claude-opus" | Anthropic | Anthropic の最も高性能なモデル |
"claude-opus-latest" | Anthropic | 最新の Opus バージョン |
"gpt-5.5" | OpenAI | 最新の GPT モデル |
環境変数
| 変数 | 必須 | 説明 |
|---|---|---|
NOVA3D_TOKEN | 高度な設定/手動フォールバック用の API キー(https://app.nova3d.xyz/api-key) | |
NOVA3D_API_URL | API のベース URL を上書きします(デフォルト:https://nova3d.xyz/api) | |
NOVA3D_APP_URL | 会話リンク用のアプリ URL を上書きします(デフォルト:https://app.nova3d.xyz) |
blender-mcp との違い
blender-mcp(21.9k ★)は、AI エージェントにローカルで実行中の Blender インスタンスを遠隔操作する機能を提供します。Blender のインストールが必要で、 構造化されていない出力を生成し、生の LLM → Blender コード生成に伴う bpy の幻覚問題をすべて引き継ぎます。
nova3d-mcp は性質が異なります。
| blender-mcp | nova3d-mcp | |
|---|---|---|
| Blender が必要 | はい | いいえ |
| 出力 | 構造化されていないシーン | 名前付きの階層型 GLB |
| 検証 | なし | サーバー側の修復ループ |
| パーツの認識 | なし | はい — 名前付きで指定可能 |
| ジョイント | 手動スクリプト | 標準機能として出力 |
| ホスト型バックエンド | なし | はい |
貢献
Issue、PR、ワークフローに関するフィードバックを歓迎します。 github.com/RareSense/nova3d-mcp
コミュニティ Discord: discord.gg/QEH8mzcwdR
ライセンス
MIT — LICENSE を参照
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。