エージェントのための3Dファクトリーと作業台。
Claude Code、Codex、その他 MCP に対応したエージェントに3Dのツールセットを与えるローカル MCP サーバーです。小さなもの — マグカップ、小屋 — を頼めば、返ってくるものはレシピとして保管されます。それをそのまま作り直す小さなファイルです。すでにお使いのツール — Blender、ゲームエンジン、スライサー — の上流に位置し、標準的なファイルをそれらに渡します。どれも置き換えません。ファクトリーができることの残りは、必要になったときに教えてくれます。
リールタイルにホバーまたはタップすると作り方が見られます
すぐ使えるもの
実寸センチメートルのソリッド — 旋盤、スイープ、パーツグラフを、一文で頼むだけ。
シードから育つレベル — 同じシードは、どこでも同じ場所を再生成します。
作ったものは持ち出せる — 自己完結した HTML ページ1枚、glTF、あるいは印刷用ファイルとして。STL / 3MF は実寸です。開くのに何かをインストールする必要はありません。
それぞれがレシピとして保管される — エージェントが後から開き直し、編集し、再生成できる小さなファイルです。
一行で、どこでも同じレシピをブラウザ、blender、unreal で
mojulo が作るものはすべてレシピとして保管されます。開くたびに同じものを再生成する、読める数行です。一行変えれば、どこへ渡ったコピーもそれに合わせて変わります。このラウンジは12行のレシピです。一行足すと天井のライトが9つ付きました — ブラウザでも、Blender のレンダリングでも、Unreal では9つのライトアクターとして。モデリングツールを開いた人は誰もいません。
{
"title": "One-room house plan — living",
"kind": "floorplan",
"width": 24, "height": 28,
"rooms": [{ "x": 2, "y": 2, "w": 20, "h": 24, "glyph": "L" }],
"doors": [{ "x": 12, "y": 26, "room": 0, "edge": "S" }],
"furnish": true,
"view": "cutaway",
"seed": 7,
"potLights": true
}
これがレシピのすべてです。見えているレンダリングは開くたびにそこから作られ、捨ててかまいません。取っておくのはレシピです。この部屋が3つのツールに渡るまでに何を経たかは、見つかったバグも含めて記録にあります。
行き先ウェブページ · blender · ゲームエンジン · プリンター
作ったものは、すでにお使いのツールがそのまま開けるファイルとして持ち出せます。これらのツールはどれも必須ではありません。ウェブページと印刷用ファイルには、他のソフトウェアは一切要りません。
ウェブページ
3D を内側に収めた自己完結の HTML ファイル1枚。送る、ホストする、スマートフォンで開く。インストールも、開く人のアカウントも不要です。
blender
モデルは標準の glTF として開きます。マシンに Blender があれば、mojulo はウィンドウを開かずに実際の光をモデルにベイクさせることも、アーティストに .blend を渡して手作業で仕上げてもらい、仕上がった表面を取り戻すこともできます。
ゲームエンジン
Godot: 書き出したフォルダをプロジェクトとして開き、再生を押すだけ。Unity と Unreal: 番号付きのガイドがインポート手順を案内します。どちらも各自のエディターとアカウントが必要ですが、それを求めているのは各社であって mojulo ではありません。
3D プリンター
実寸ミリメートルの STL または 3MF ファイル。どのスライサーでも開けます。PrusaSlicer か Bambu Studio が入っていれば、mojulo が先にバックグラウンドでスライスし、レイヤー数、印刷時間、フィラメント量をファイルの横に記します。
各ツールが何のインストールを求めるか、反対側から何が出てくるか、そしてそのうちどれが実際に記録として実行されたか。細目がツールごとに列挙し、実行記録がないものはそう記します。
プリンターへフック1つ、記録として
机の縁用のヘッドホンフックを一文で頼みました。あごの幅 19 mm で返ってきたので、もう一度頼むと同じレシピのまま 25 mm に広がりました。3MF として書き出すと、このマシンの2つのスライサーで開き、どちらも寸法と、きれいにスライスできることで一致しました。
ローカルで動作
サーバーも、レシピも、レンダリングもご自身のマシン上にあります。Mojulo は言語モデルもチャット画面も同梱しません。既存のエージェントが MCP 経由で呼び出すサーバーで、ご自身のトークンをご自身のレートで使います。Apache-2.0、npm からインストール、既定でセルフホスト — 他にホストする先が何もないからです。
STEMタイルにホバーでライブワールド · クリックで解説
同じグリッドを、教える道具として使います。エージェントに概念を一文で頼むだけ — 「降着円盤付きのブラックホールを見せて」、「原子炉の炉心、ただし制御棒は抜いた状態で」、「炭素の軌道」 — すると数行のレシピから、周回して見られるライブな3D世界が生成されます。数値を変えてもう一度生成する。真横から見せてもらう。ページを書き出してクラスに渡す。
はじめる
一行だけ。あとはエージェントに話しかけます。
npx mojulo init