Prototype · Preview: every server in the official registry, synced every 30 minutes. Reviews and accounts come in a later step.
PopNx MCPMCP servers for people who use AI · explained in plain words

Mojulo

by zombicoversion 3.1.1i★ –iRuns on your computer
Registry nameio.github.zombico/mojulo

Install

Overview

Description from the maker (original English)

A 3D compiler for coding agents: objects, worlds and games as small recipes. Emits Godot and STL.

PopNx MCP’s three pillars

These three are never merged into one score: opinions, measurements and popularity are different things.

What you can do with it

We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.

  • Connection: Runs on your computer
  • Transport: stdio
  • Category: Design, images & audio

Install

Pick the AI app you use, then copy the settings.

Before you install

  • Basic checks: 1 of 1 passed
  • Runs on your computer with your user’s permissions (files, network, apps).
  • The registry lists no key to fill in.

You need

  • npmNode.js installed (for the npx command)

Which app do you use?

Pick your app above. We remember it, so next time the button says “Install in …”.

Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json

{
  "mcpServers": {
    "mojulo": {
      "command": "npx",
      "args": [
        "-y",
        "mojulo"
      ]
    }
  }
}

Run this in your terminal

claude mcp add mojulo -- npx -y mojulo

Open in Cursor

Or copy the settings yourself

Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json

{
  "mcpServers": {
    "mojulo": {
      "command": "npx",
      "args": [
        "-y",
        "mojulo"
      ]
    }
  }
}

Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.

Open in VS Code

Or copy the settings yourself

Paste into .vscode/mcp.json in your project

{
  "servers": {
    "mojulo": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "mojulo"
      ]
    }
  }
}

Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.

This one runs on your computer, and ChatGPT can only connect to servers on the internet. Pick another app.

Your choice stays on this device in a cookie; no account needed.

These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.

What it can do

Runs on your computer; the tool list appears in your AI app after you install it.

Basic checksi

We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 7, 2026

  • ✓ Pass

    Maker matches the repo

    The registry name was verified with the GitHub account zombico, which owns the repo

  • … Not checked yet

    Still maintained

    We have not read this repo from GitHub yet

  • … Not checked yet

    Has a licence

    We have not read this repo from GitHub yet

  • – Not applicable

    Endpoint responds

    This one runs on your computer; there is no internet endpoint

  • – Not applicable

    Sign-in with OAuth

    Runs on your computer and uses local settings instead

  • … Not checked yet

    No hidden instructions in tool descriptions

    Runs on your computer; we can only read tool lists from internet endpoints

Compared with others in Design, images & audioi

  • More stars than 0% of the other 2186 servers in this category
  • Published to the registry more recently than 59% of the other 2186 servers in this category
  • Basic checks equal to or better than 100% of the other 2186 servers in this category

Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.

Common questions

Is Mojulo safe?

It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.

What keys or codes does it need?

The registry does not list a required key, though some servers ask you to sign in on first use.

Does it run on my computer or in the cloud?

It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).

Is it still maintained?

The GitHub repo last changed –, and the latest version (3.1.1) reached the registry 21 days ago.

Which apps can use it?

Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Node.js on your computer.

What can I use instead?

In the same category: Figma Context MCP, Claude Real Video, Figma MCP Server

Alternatives

Servers in the same category from other makers, sorted by stars.

Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi

Give your coding agent access to your Figma data. Implement designs in any framework in one-shot.

Runs on your computer★ 16,165MITUpdated 5 months ago
Install

Claude Real Video

by HUANGCHIHHUNGLeo

Let any LLM watch a video locally — and search everything it has ever watched.

Runs on your computer★ 2,284MITUpdated 2 months ago
Install

Figma’s official server gives AI your design data so it can turn designs into code or describe them accurately. Connects to Figma’s cloud.

Runs in the cloud★ 2,152Updated 13 months ago
Install

README from the maker

Open the README

Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.

Mojulo

Mojulo is a 3D factory with a media studio for coding agents: an MCP server that runs wherever your agent runs, on your machine or in the throwaway Linux box it gives itself, where the agent you already run (Claude Code, Codex, any MCP host, or a chat app that can open a Linux box: Claude, ChatGPT with Codex, Grok, Meta Muse, Google AI Studio) builds things to play, print, read, hear and watch (games, objects, walkable worlds, pictures, scores) by conversation, and what gets stored is source, not a mesh. Every artifact is a small deterministic recipe: a few hundred bytes of JSON, or an OpenSCAD program, that a kernel compiles back to the same geometry on every read (byte for byte on the same platform), and that emits to Godot, Blender, Unity, Unreal, glTF, OpenUSD, or print-ready STL / 3MF at true scale. Small enough to carry home from a box and re-mint on your own disk. A compiler, not a generator: you edit and diff the recipe like code, and renders are disposable. No API key, no account, no external telemetry. Your agent does the thinking; mojulo holds the state and does the geometry.

Quickstart

npx mojulo init

Needs Node 22.14+ and an MCP-capable coding agent (Claude Code or Codex; Claude Desktop works too). init finds the hosts on your machine, asks once per host, and opens the dashboard at http://localhost:3001. Everything lands in ~/.mojulo/. Then open a fresh agent session and ask: "what is this?"

In Claude Code you can install the plugin instead: /plugin marketplace add zombico/mojulo, then /plugin install mojulo@mojulo. It starts the same server pinned to one version (plugins/mojulo). The plugin build leaves out the handoff tools for AI image, voice and mesh generators and never downloads a browser, ffmpeg or the search model on its own. Use the plugin or init for Claude Code, not both: two registrations run two servers.

The first install is the big one: npx pulls a ~7 MB package that lands, with its dependencies, at about 227 MB on disk plus about 140 MB of npm cache (about 79 MB downloaded; measured for 3.0.0 on one macOS arm64 machine, where a cold start answered in about 4.5 s, nearly all of it npm's install). The biggest pieces are node-web-audio-api (audio), manifold-3d (exact booleans) and better-sqlite3. The dashboard is a separate package fetched the first time you open it, and the local search model is the opt-in mojulo install recall (semantic_search ranks lexically without it). Nothing in the list reaches the network on its own; the per-dependency sheet is in docs/tech-requirements.md. Verified on macOS (Apple Silicon) and on native Windows under Claude Code (init and a first render). On Linux x64 the test suite runs in CI, and the agent-box path below has been run to a mint and an export from the Claude app and web, ChatGPT work mode with Codex, Grok chat, Meta Muse and Google AI Studio.

Wire it by hand instead

# Claude Code (--scope user makes mojulo available in every project):

claude mcp add --scope user mojulo -- npx -y mojulo

Codex: add to ~/.codex/config.toml

[mcp_servers.mojulo] command = "npx" args = ["-y", "mojulo"]

// Claude Desktop: add under "mcpServers" in claude_desktop_config.json, then restart.

// If it fails with "spawn npx ENOENT", replace "npx" with the absolute path from which npx. "mojulo": { "command": "npx", "args": ["-y", "mojulo"] }

Open the dashboard on its own with npx -y mojulo-ui. It is its own npm package since 3.0.0, so your agent's npx mojulo start never downloads it; npx -y -p mojulo mojulo-ui still works and fetches the matching version from npm on first use. The mojulo bin is also a CLI over the tool registry: npx mojulo tools, npx mojulo help mint_solid, npx mojulo call version.


Where it runs, three things you can add

Mojulo runs wherever your agent runs, and a recipe minted in one place re-mints as the same geometry in the other. Two shapes, one install.

In your agent's box, nothing on your machine. One sentence to the agent installs mojulo in the Linux box it gives itself:

  • The Claude app (macOS, Windows, web, iOS); Grok chat; Google AI Studio; Meta Muse (iOS, web, macOS app, one session across all three): *Open a Linux box and install the mojulo npm package in it.*
  • ChatGPT (Codex included): *In work mode, open a Linux box and install the mojulo npm package in it.*

Each of those has been run this way, from the sentence to a mint and an export handed back. You get the same recipes and the same exports, as files: the export result names this host's door, an artifact page, a PR, a file card or Muse's Library. The box has no dashboard you can reach, a scene-to-PNG bake needs a browser it may not be allowed to fetch, and on most hosts it is gone when the session ends, so ask for the bundle (one zip: world.html, mesh, print STL for literal-scale objects, recipe.json, README) and keep the recipe. Meta Muse is the exception: one VM behind all its clients, where ~/.mojulo stays across conversations. A box with no MCP client never sends initialize, so tell the agent to run npx mojulo orient first: it prints what an MCP client is handed at connect, translated to the shell, and points at the routing index. Claude's box built a 47-part phone at true scale this way and handed back the glTF; Grok chat's sandbox minted a city from the shell. Blender installs in those boxes too.

On your machine: macOS, Windows, Linux. npx mojulo init wires mojulo into the agents it finds, opens the dashboard at localhost:3001, keeps everything under ~/.mojulo/, and probes your PATH for the optional local workers (Blender, a slicer, OpenSCAD, the game engines). This is the whole loop, and where a recipe from a box comes home to.

Who has run it where. persistent (your machine, or a box that keeps ~/.mojulo/) · ephemeral (the web agent's throwaway Linux box; keep the recipe). Blank means not verified yet, not "does not work".

agentmacOSWindowsWeb Agent Linux Box (Headless)
Claude Code
Claude app (macOS, Windows, web, iOS)
ChatGPT (work mode; Codex)Codex
Hermes Agent
Grok (Build; chat)Build
Meta Muse (iOS, web, macOS app; one session across them)
Google AI Studio

Two things are opt-in, and the choice is the same in both places:

addwithwhat you get
creative (installed by default)plain npm installworlds, audio, fonts for wordmarks, exact booleans, OpenSCAD-in-process, sharp for skins and sprite sheets. npm install --omit=optional sheds those helpers (about 115 MB); the studio tools still list and run, and a call that needs a missing helper says so.
recallmojulo install recallthe embedding model behind semantic_search. Without it, search still answers, ranking by the words in your ask (about 480 MB of runtime plus a 130 MB model, kept under ~/.mojulo/ so it survives upgrades). Most sessions never need it: the agent reads the tool index and the vocab cards directly.

mojulo install with no argument prints which of the two are present.

The chatbot factory is no longer part of mojulo as of 3.0 and is moving to its own project. Earlier 2.x versions that include it are unmaintained and have known security issues (SECURITY.md). mojulo install chatbot now installs nothing and prints this notice.

Upgrading from 2.x? Read Upgrading from 2.x first: an unpinned npx mojulo moves to 3.0 on its next start, and 3.0 re-encrypts saved provider keys so 2.x can no longer read them.

Five things to say to it

Each one is a sentence to your agent, the tool it reaches for, and the recipe that gets stored. Every example below runs keyless and offline.

1. "Write me a Raspberry Pi 4 case tray in OpenSCAD"

The agent calls mint_solid { kind: 'scad' } and the program is the recipe, stored verbatim:

board_w = 85; board_d = 56; clear = 1; wall = 2; floor_t = 2; wall_h = 12;

holes = [[3.5, 3.5], [61.5, 3.5], [3.5, 52.5], [61.5, 52.5]]; // the Pi's M2.5 pattern module rounded_box(w, d, h, r) { hull() for (x = [r, w - r], y = [r, d - r]) translate([x, y, 0]) cylinder(r = r, h = h, $fn = 48); } module tray() { color("#3a3f4b") difference() { rounded_box(board_w + 2 * (clear + wall), board_d + 2 * (clear + wall), floor_t + wall_h, 3); translate([wall, wall, floor_t]) rounded_box(board_w + 2 * clear, board_d + 2 * clear, wall_h + 1, 1.5); translate([board_w + 2 * clear + wall - 1, wall + 2, floor_t + 3]) cube([wall + 2, board_d + 2 * clear - 4, wall_h]); // USB / Ethernet translate([wall + clear + 5, -1, floor_t + 3]) cube([55, wall + 2, wall_h]); // USB-C, HDMI, audio } } module standoffs() { color("#c9a227") for (p = holes) translate([wall + clear + p[0], wall + clear + p[1], floor_t]) difference() { cylinder(d = 6, h = 3, $fn = 32); translate([0, 0, -1]) cylinder(d = 2.5, h = 5, $fn = 24); } }

with parts: { tray: 'tray();', standoffs: 'standoffs();' }. OpenSCAD itself meshes it on every read, in-process as WebAssembly with the Manifold backend, so booleans are exact and every edge is sharp. color() is the tint; each named part is a render group a hinge in movers can swing. The same ref serves the orbit view, the .glb, the engine packs and model.stl at 91 × 62 × 14 mm as written; model.scad hands the source back unchanged. Change wall_h with update_sketch and the readout names the one part that moved. For what OpenSCAD cannot say, a blended join, a stroked dent, seeded noise, the source calls mojulo_field(" ") and a field solid from the same recipe is baked in at that spot.

2. "Build a 20 by 24 ft living room with a door on the south wall"

T

Only the beginning is shown; read the rest in the repo

Ask PopNx