Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

io.github.zombico/mojulo

NPM · MOJULO

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

Available components

−1 this week 77 Trust /100

Last scanned (1 hour ago)

Scores higher than 55% of npm servers

Category Design and Media

Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →

Supply Chain Security94
  • No malware found by supply-chain analysis.Pass
  • CVE check failed: a known medium-severity CVE affects minimatch 10.2.6, reached via archiver > readdir-glob > minimatch. A fixed version is available. View diagnostics → Fail
  • No install/post-install scripts declared.Pass
  • 43 of 151 dependencies flagged as unhealthy (1 deprecated). View diagnostics → Partial
Provenance & Transparency48
  • Source repository is publicly reachable at the declared URL. View diagnostics → Pass
  • Provenance check failed: no build-provenance attestation is published. See how to fix → View diagnostics → Fail
  • Clear OSI-approved license (Apache-2.0).Pass
  • Actively maintained (last published 19 days ago).Pass
  • Publishes a security disclosure policy (SECURITY.md).Pass
Schema Quality & AI Usability56
  • AI-judged instruction clarity (good).Pass
  • Context-footprint check failed: tool/resource definitions use about 6427 tokens (~229/item across 28 items; 28 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management93
  • Stability check failed: the tool surface changed between 3.0.0 and 3.1.1: 2 tool removals, 0 breaking changes, 2 additions. See how to fix → Fail
Tool Coverage100
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 99% of tool parameters carry a description.Partial
Tool Safety100
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • We read all 28 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
  • An AI judge read all 29 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities60
  • Spec-recency check failed: implements MCP spec 2025-06-18; the latest is 2026-07-28. See how to fix → Fail
Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 31 Oct 26 −1
    • CVE-2026-118764 affects this package: medium ▼ security
    • Known CVEs: pass → fail ▼ security
  • 29 Oct 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 83 to 86.

  • 28 Oct 26 −2

    No change was recorded against any check on this day. Stability & Change Management went from 93 to 83.

  • 22 Oct 26 0
    • Package version: 2.0.8 → 3.1.1 functional
  • 17 Oct 26 0
    • Package version: 2.0.8 → 3.1.1 functional
  • 16 Oct 26 0
    • Stability: 0.87 → unverified ▼ security
    • Tool safety: pass → unverified ▼ security
    • Stability: 0.87 → fail ▼ security
    • Capabilities: fail → unverified ▼ functional
    • Tool coverage: 100 → unverified ▼ functional
    • Schema quality: excellent → good functional
    • Schema quality: Schema quality not yet verified: we do not have a sandbox capture of the MCP schema this version of the package serves yet. functional
    • Package version: 3.0.0 → 3.1.1 functional
  • 14 Oct 26 −2
    • Stability: pass → 0.83 functional
  • 13 Oct 26 0
    • Stability: 0.97 → pass security
Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 5 Nov 2026 · Analysed npm/mojulo@3.1.1

Provenance No attestation

The registry publishes no build provenance for this version, so there is nothing to verify.

Result No attestation
Ecosystem npm

Background: How many MCP packages publish verified provenance →

Vulnerabilities 1 finding
ID CVE Severity Vector Fix available
GHSA-g3hv-75wg-m249 CVE-2026-118764 medium yes

Background: What a vulnerability scan can and cannot prove →

Dependencies 151 packages
Packages resolved 151
Deprecated 1
Stale 42
No linked repository 1
Tree resolution Complete

Background: SBOMs and build attestations, explained →

MCP tools · 28 exposed · ~5,782 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
check_for_updates ~136

Compare the running control-plane package (`mojulo` on npm) against its latest published version. Returns `{ controlPlane, warnings }` — `current`, `latest`, `updateAvailable`, and a one-line install/update hint when an upgrade exists. Read-only: never installs or restarts anything; surface the hint and let the user run it. Best-effort upstream calls — a registry timeout produces `latest: null` plus a warning, not a tool failure. Call this when the user asks 'am I up to date?', after a long gap between sessions, or before recommending a feature that depends on a recent version.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

forward_context ~319

Forward the agent mojulo's routing index: what it makes, named by use (Play · Print · Read · Hear · Observe) as FORM recognizer rows → the tool to call, the export dispatch, the Workflows row (plans, sweeps, catalysts), the guards, and a drawer directory (`get_creative_toolset`, routing cards, `get_tool_index`, `get_register_kit`, `get_ui_map`, `get_substrate`). Call FIRST when unsure which tool fits. A thin map, not a manual. Optional per-call `register` / `disclosure` override the operator anchor for this read. Read-only, idempotent.

NameTypeReqDescription
disclosurestring–Override the operator's `procedural_disclosure` for this one call. 'terse' (act and report), 'reflective' (default — name each gate), 'pedagogical' (explain what each gate means). Omit to use the ope…
modestring–'studio', the one body (the default). The office wing left in 3.1.0; 'office' still answers with this body and a line saying so.
registerstring–Override the operator's `vocabulary_register` for this one call. 'plain' (everyday tool names, no mojulo jargon to the user), 'mixed' (default), 'mojulo' (full idiom). Omit to use the operator anchor…

No output schema declared.

No examples provided.

get_register_kit ~265

Return just the register-tuning surface — the active communication-settings notice (which `vocabulary_register` / `procedural_disclosure` cell is active and where it came from), the active-cell concept glossary, the refusal legend (one row per family of refusal: what it protects · the next move — pull this when a tool said no and you're unsure what the no means), the active-cell disclosure directive, and the invariant commitment-level floor (the four gates). Resolves the operator anchor the same way `forward_context` does; optional per-call `register` / `disclosure` override it for this one read. Read it to define a term for the operator, after they revise their KYC anchor, or to decode a refusal. Read-only, idempotent.

NameTypeReqDescription
disclosurestring–Override the operator's `procedural_disclosure` for this one call. 'terse', 'reflective' (default), 'pedagogical'. Omit to use the operator anchor's setting or the system default.
registerstring–Override the operator's `vocabulary_register` for this one call. 'plain', 'mixed' (default), 'mojulo'. Omit to use the operator anchor's setting or the system default.

No output schema declared.

No examples provided.

get_substrate ~176

Return what mojulo is and what it can honestly claim — a 3D factory with a media studio: things to Play, Print, Read, Hear and Observe, kept as re-runnable recipes on the operator's machine; the digital (Godot, Unity, Unreal, Blender) and physical (STL / 3MF) pipelines; where inference runs; how outside workers and MCPs are reached — PLUS the SELF-DESCRIPTION facts (process, state, network posture, credentials, costs, uninstall, source) to DERIVE meta-answers from. Call for 'what is this really?' or questions about mojulo ITSELF: 'does it phone home?', 'where does my data live?', 'do I have to pay?', 'how do I uninstall?'. Read-only, no inputs, idempotent.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

get_tool_index ~118

One-line-per-tool index across every ring — call when a `forward_context` row isn't specific enough (the FORM mints live behind `get_creative_toolset`). **~48k**: a host declaring a smaller output cap gets the compact rules card fitted to that cap instead; `full: true` returns the whole index regardless. Read-only, idempotent.

NameTypeReqDescription
budget_bytesinteger–Rules card at this byte budget, any host.
fullboolean–Whole ~48k index even over your cap.

No output schema declared.

No examples provided.

get_tool_ledger ~316

Read the ledger the substrate keeps of its own MCP tool calls — shapes and timings, one row per handler invocation across both call paths (rpc + plan-executor); nothing leaves the machine. Three modes: no args → a per-tool aggregate table (calls, error rate, p50/p95 latency, last-called) over the last `sinceDays` (default 7) plus the most recent errors and timeouts; `{ tool }` → that tool's recent calls newest-first with status + duration; `{ orientation: true }` → the orientation-gap cut (weak semantic searches, vocab-drawer misses, sessions that oriented then made no non-orientation call) — the measurement of whether the ask-and-discover loop is rewarding the question. This is the in-session answer to "which tool broke?" / "what's slow?" / "is the lexicon working?" without leaving the chat. Records SHAPES only — never input values or conversation content. Read-only, idempotent. Mirrors the `/observability` dashboard page.

NameTypeReqDescription
limitnumber–Max recent calls to return in `{ tool }` mode. Default 25.
orientationboolean–true → the orientation-gap cut: weak searches, drawer misses, oriented-then-abandoned sessions.
sinceDaysnumber–Aggregate window in days (no-args and orientation modes). Default 7.
toolstring–Filter to one tool by registration name → its recent calls. Omit for the aggregate summary.

No output schema declared.

No examples provided.

get_ui_map ~144

Return the page-by-page map of the `mojulo-ui` dashboard (the human-shaped face of the same `~/.mojulo/` state this MCP drives): one line per page describing what it's for and when to point the user at it (`/apps`, `/map`, `/graph`, `/plan`, `/research`, `/sketches`, `/maker`, `/settings`, …). You don't drive these pages — call this when the user wants to *look*, *browse*, or *click*, or when a visual scan would beat several rounds of tool output, so you can name the right page. Read-only, no inputs, idempotent.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

get_worked_example ~205

Return one annotated end-to-end trace of a successful flight for a paradigm — the real call sequence with realistic args, abbreviated return shapes, the commitment gates named where they happen (proposed vs made, dry-run vs promoted, machine gate vs eyes gate), and one deliberate refusal + recovery so the first 'no' you meet in the wild is a recognized shape. Paradigms: `game` (the promotion-gate flagship: watch a level get refused, prove it completable, re-mint), `media` (stash → gather → cook). Omit `paradigm` for the index. Pull BEFORE your first build of a paradigm — one read replaces trial-and-error against per-tool descriptions. Traces are illustrative (refs and values will differ) but the call sequence, gate order, and refusal shapes are real. Read-only, idempotent.

NameTypeReqDescription
paradigmstring–Which flight to read. Omit for the index of available traces.

No output schema declared.

No examples provided.

mint_diagram ~341

Mint a flow chart, data chart or standard diagram → { ok, ref, url }. Kernel diagram maker (no creative pack). Flow: stations[] { id, kind, label, items? } + edges[] { from, to, label? }; leave out x/y/w/h and viewBox and the boxes are auto-placed in ranks (layout: { direction: 'LR' | 'TB' }), arrows routed around boxes. Charts: marks[] (rect/circle/wedge/line/text/…) in a viewBox { width, height }. Kinds that lower to marks: kind 'sequence' {actors,messages}, kind 'gantt' {scale,tasks}, lanes[], boundaries[]. Typed arrowheads, self-loops, ERD: card edge-notation. Vocab: semantic_search({kinds:['sketch_vocab']}). Illustration / worlds → create_sketch.

NameTypeReqDescription
folder_refstring–Optional folder ref (`fld_<…>`) to drop this sketch into. Omit to leave it at root.
manifestobjectyesDiagram manifest: title, stations[] (flow) and/or marks[] (charts). viewBox { width, height } is required unless every station is auto-placed. edges[], grid and layout are optional. Recipe/world/beat…
refstring–Optional stable ref (1-64 chars of [A-Za-z0-9_-]). If omitted, a `sk_<…>` ref is generated. Errors if a sketch with this ref already exists.
titlestringyesShort title shown in the page header.

No output schema declared.

No examples provided.

pack_audio ~156

AUDIO — Mojulo Beats: synthesized soundtracks, compositions, grooves and SFX as tiny seeded recipes (never samples): create / get / update / annotate / diff / export beats plus beats-vocab cards; a composition can SING via a voice part. Open for 'background music for the forest level', 'a sting when the boss appears', "tweak bar 2's kick", 'render the tune to a WAV'.

NameTypeReqDescription
argsobject–The member's arguments, as its manual specifies.
manual––A member name, or a list: returns just their manuals (description + inputSchema).
toolstring–Member to call. Omit to open the pack: a menu of its members.

No output schema declared.

No examples provided.

pack_building ~192

BUILDINGS — walkable houses, apartments and furnished rooms, built up in steps: mint_building, then furnishing / storeys, framing / roof / drainage, and IFC for BIM tools (export_model); design_interior fits out and styles one room of a house. Each result's `next` names the next steps' cards. Open for 'design me a two-storey house', 'a 20 by 24 living room', 'frame the house', 'the house as IFC for Revit', 'make my living room Japandi'. An institutional one-off is pack_object (edifice).

NameTypeReqDescription
argsobject–The member's arguments, as its manual specifies.
manual––A member name, or a list: returns just their manuals (description + inputSchema).
toolstring–Member to call. Omit to open the pack: a menu of its members.

No output schema declared.

No examples provided.

pack_catalysts ~201

CATALYSTS, WORKERS & CONNECTED MCPs — for flows that reach past mojulo: curated workflow recipes (get / list / recommend catalysts, mint a custom one) that land as a Skill on this host beside its other MCPs (get / list adapters), what those MCPs can do (declare the inventory, record / read a provider's capabilities), and the agent-task queue an outside worker drains (pull_agent_task → submit_envelope_inference → cancel). Open for 'is there a recipe for X', 'install this workflow as a skill', 'send this mesh to my Blender MCP', 'work the task queue'.

NameTypeReqDescription
argsobject–The member's arguments, as its manual specifies.
manual––A member name, or a list: returns just their manuals (description + inputSchema).
toolstring–Member to call. Omit to open the pack: a menu of its members.

No output schema declared.

No examples provided.

pack_character ~196

CHARACTERS — a body with a rig you can play, print or watch: create_character as a hero (a person by cast word, proportions, face, hair, clothes and armour), a creature (a dragon, a monster, a plush toy, any invented body) or an animal (a real species). Plays its clips on the World page and exports skinned. Open for 'a hero for my game', 'a low-poly knight I can rig', 'a cute plush bear', 'a dragon I can animate', 'a wolf I can 3D print', 'give her a ponytail and broader shoulders'.

NameTypeReqDescription
argsobject–The member's arguments, as its manual specifies.
manual––A member name, or a list: returns just their manuals (description + inputSchema).
toolstring–Member to call. Omit to open the pack: a menu of its members.

No output schema declared.

No examples provided.

pack_diagram ~183

DIAGRAMS & CHARTS + scene sketches viewed in the dashboard: flow charts (stations + edges), data charts (stacked bars, donut / ring, KPI tiles, marks), scene illustrations, keyframe / scene-motion animation of drawn characters; revise a sketch in place, visual-diff two, read sketch-vocab cards and style presets. Open for 'draw / diagram X', 'a bar chart of signups by week', 'sketch our pipeline as boxes and arrows', 'make my drawn character talk and blink', 'update that sketch'.

NameTypeReqDescription
argsobject–The member's arguments, as its manual specifies.
manual––A member name, or a list: returns just their manuals (description + inputSchema).
toolstring–Member to call. Omit to open the pack: a menu of its members.

No output schema declared.

No examples provided.

pack_game ~189

GAMES — the game rail first: design_game designs a game top down (a hero, its powers, gear and systems) and makes it. Then the doors it calls and the rest: create_game (levels are worlds with a game contract), pixelizer 2D games, sprite sheets, the game and play drawers, export_game. Open for 'a game where my hero gains powers', 'a playable dungeon crawler I can walk around in', 'a roguelike where my gear persists', 'a pixel-art game with sprites', 'export my game so a friend can play it'.

NameTypeReqDescription
argsobject–The member's arguments, as its manual specifies.
manual––A member name, or a list: returns just their manuals (description + inputSchema).
toolstring–Member to call. Omit to open the pack: a menu of its members.

No output schema declared.

No examples provided.

pack_illustration ~172

Painted scene & figure ILLUSTRATION + publication covers: the inverse-stable-diffusion knob-resolution loop (sketch_what_possible) that feeds create_sketch recipe families, and create_cover for title art composed under one art direction. Open for 'paint a moody mountain valley', 'illustrate my hero', 'a cover for this book', 'a graphic novel I click through page by page'. Sketch minting is homed in pack_diagram; this pack dispatches it too.

NameTypeReqDescription
argsobject–The member's arguments, as its manual specifies.
manual––A member name, or a list: returns just their manuals (description + inputSchema).
toolstring–Member to call. Omit to open the pack: a menu of its members.

No output schema declared.

No examples provided.

pack_image_render ~189

AI-IMAGE + MESH RENDER pipeline — direct, queue, and gate externally-painted images and externally-sculpted meshes (the mesh quartet parks a greybox for Meshy / Tripo / Hunyuan3D…): render packets for image-outcome / comic / character-sheet sketches, the durable request → pull → submit → accept / reject worker loop, and binding finished PNGs and character sheets back onto their sketches. Open for 'have the image model paint this', 'an AI-painted portrait rendered by an image model', 'run the render queue', 'accept that render'.

NameTypeReqDescription
argsobject–The member's arguments, as its manual specifies.
manual––A member name, or a list: returns just their manuals (description + inputSchema).
toolstring–Member to call. Omit to open the pack: a menu of its members.

No output schema declared.

No examples provided.

pack_motion ~196

MOTION & FILM (+ motion-comic) — add TIME to a static subject: forge_motion (camera moves and performances rendered to flipbook SVG + GIF), stitch_motion (clips → one film), motion-vocab cards, and the click-gated motion-comic authored via update_sketch. Open for 'give me a spinning view of that molecule', 'record the hero clearing the chasm and show me the clip', 'walk to the exit to check the level is beatable' (traversal proof), 'present these charts one after another as a click-through deck', 'merge the clips into a single movie'.

NameTypeReqDescription
argsobject–The member's arguments, as its manual specifies.
manual––A member name, or a list: returns just their manuals (description + inputSchema).
toolstring–Member to call. Omit to open the pack: a menu of its members.

No output schema declared.

No examples provided.

pack_object ~248

3D SOLIDS — objects, posed figures, buildings, wordmarks, vehicles, OpenSCAD: mint_solid (kinds figure / manji-tree / workbench / scad (an OpenSCAD program) / assembler / carved-solid / solid-turntable / edifice / vehicle), edit_solid (skin / emote ops), measure_solid, fabricate_solid (real parts to buy), verify_machina. Open for 'model a wine glass true to size', 'a posed figure to print', 'our logo in shiny chrome', 'a bracket with bolt holes in OpenSCAD', 'put the wheels and the chassis together', 'turn this concept art into a 3D model'. Placing solids IN an environment is pack_world. A rigged character is pack_character. A house is pack_building; edifice is the institutional one-off.

NameTypeReqDescription
argsobject–The member's arguments, as its manual specifies.
manual––A member name, or a list: returns just their manuals (description + inputSchema).
toolstring–Member to call. Omit to open the pack: a menu of its members.

No output schema declared.

No examples provided.

pack_plan ~139

PLAN MODE — the speculative layer over sealed reality: enter plan mode, forge and revise plans, read and list them, compile a plan to a manifest of tool calls and execute it under per-execution operator approval, sketch a plan visual. Open for 'let's plan this out', 'turn this session into a plan', 'execute the plan'.

NameTypeReqDescription
argsobject–The member's arguments, as its manual specifies.
manual––A member name, or a list: returns just their manuals (description + inputSchema).
toolstring–Member to call. Omit to open the pack: a menu of its members.

No output schema declared.

No examples provided.

pack_reference ~141

VISUAL REFERENCE — read a photo YOU can see into mojulo dials: reference_protocol hands the extraction protocol (scene perspective or human pose — you are the vision adapter, no image sent), capture_reference files the read as a reusable cage + insights in a stash. Open for 'recreate the camera angle from this photo', 'match this pose'.

NameTypeReqDescription
argsobject–The member's arguments, as its manual specifies.
manual––A member name, or a list: returns just their manuals (description + inputSchema).
toolstring–Member to call. Omit to open the pack: a menu of its members.

No output schema declared.

No examples provided.

pack_research ~149

RESEARCH MODE — accretive gathering upstream of plans: enter research mode, start a research book, bind items into it, read and list books, synthesize an abstract (with deterministic review), run a parameter experiment sweep with auto-plotted outcomes, sketch the research. Open for 'research this', 'gather sources into a book', 'sweep the parameter and plot the outcome'.

NameTypeReqDescription
argsobject–The member's arguments, as its manual specifies.
manual––A member name, or a list: returns just their manuals (description + inputSchema).
toolstring–Member to call. Omit to open the pack: a menu of its members.

No output schema declared.

No examples provided.

pack_stash ~195

GATHER / STASH / COOK / PUBLISH — typed collection into stashes and their drawers (gather, mint / get / list / rename a stash, mint_drawer, update / archive items, bind / unbind to anchors), then COOK stashes into an Outcome Artifact (agent-authored report + visuals; recommend_kind ranks the kinds) and forge publications; sign_asset / verify_asset: a creator receipt for an exported file. Open for 'save this for later', 'collect these into a stash', 'cook these notes into a report', 'make a zine / picture book / publication'.

NameTypeReqDescription
argsobject–The member's arguments, as its manual specifies.
manual––A member name, or a list: returns just their manuals (description + inputSchema).
toolstring–Member to call. Omit to open the pack: a menu of its members.

No output schema declared.

No examples provided.

pack_view ~183

STUDY VIEWS — animated 3D study objects that teach a phenomenon: create_view kinds across science / math / bio, view-vocab parameter manuals, measure_view for SI-honest time-series read-back from the stored recipe, and save_recipe to KEEP a tuned setup in the operator's cookbook (view and beats recipes alike), recallable by intent later. Open for 'help my kid understand black holes', 'an animated science explainer for my kid', 'animate how DNA copies itself', 'measure the orbit', 'save this setup for my class'.

NameTypeReqDescription
argsobject–The member's arguments, as its manual specifies.
manual––A member name, or a list: returns just their manuals (description + inputSchema).
toolstring–Member to call. Omit to open the pack: a menu of its members.

No output schema declared.

No examples provided.

pack_voice ~143

VOICE — deterministic voice registers (confidence × depth resolved to Kokoro blend weights, pure math): create / read a voice, bind worker-rendered WAV samples, and the voice-vocab drawer. Scope is voiceover and narration, not character acting. Open for 'a warm narrator voice', 'render this line in her voice', 'design how the guide sounds'.

NameTypeReqDescription
argsobject–The member's arguments, as its manual specifies.
manual––A member name, or a list: returns just their manuals (description + inputSchema).
toolstring–Member to call. Omit to open the pack: a menu of its members.

No output schema declared.

No examples provided.

pack_world ~173

WORLDS — traversable three.js environments: compose_world (BASE × THEME × overrides — city, transport-hub, controllable, action, planetary, painted-landscape, math, school, dungeon), theme packs, glTF export (export_model), binding refined meshes back (bind_mesh_render), and modeler-lingo translation. Open for 'build a little town I can wander around', 'an airport', 'a game where I drive', 'export to Blender'. A house is pack_building.

NameTypeReqDescription
argsobject–The member's arguments, as its manual specifies.
manual––A member name, or a list: returns just their manuals (description + inputSchema).
toolstring–Member to call. Omit to open the pack: a menu of its members.

No output schema declared.

No examples provided.

semantic_search ~594

Fuzzy retrieval over durable mojulo state: principles, capability bodies, mcp-orbit components / compositions / provider artifacts, declared MCP tool inventory, the shipped catalyst library, sketch vocabulary cards, the per-knob `sketch_method` capability records, manji-program-bearing cards (mandala-patterns + shot-glyphs whose card declares a `manjiProgram` field), painted-landscape glyph cards, view-vocab cards (one per `create_view` kind / `compose_world` base — the study-object and world parameter manuals), solid-vocab cards (one per `mint_solid` kind / `edit_solid` op — the figure/creature/object/structure parameter manuals), motion-vocab cards (one per `forge_motion` / `stitch_motion` subject family — camera / deck / effect / world / stitch), and routing cards (`kinds:['routing']`: creative recognizer rows → entry tool + forks, returned whole). Use when you have an intent or topic but not a specific ref — for finding which rows in the contextmap / capabilities / composer state are relevant before navigating them structurally, which sketch layout card to read before composing a diagram, which view kind or world base fits an intent, or which shot-glyph / mandala-pattern to pass as `programRef` to `create_manji_tree`. Returns `{ results: [{ source_kind, source_ref, score, snippet }] }`; snippets are capped at ~280 chars and the agent is expected to pair this with the structured readers (`meta_context_brief`, `get_mcp_capabilities`, `get_mcp_orbit_component`, `get_catalyst`, `get_sketch_vocab`, `get_view_vocab`, `get_solid_vocab`, `get_motion_vocab`, ...) to retrieve full bodies — or in the `manji_program` case, pass the `source_ref` straight to `create_manji_tree`, or in the `painted_landscape` case use the card's `id` as a named glyph in `compose_world`'s 'painted-landscape' `overrides`. Optional `kinds` filter restricts to one or more source kinds; default returns all kinds. Capability rows that have been superseded never appear in results — the search filter…

NameTypeReqDescription
kindsarray–Optional filter: restrict results to one or more source kinds. Default returns all kinds. Use when you already know whether you want, say, only principles vs. only mcp_tools.
limitinteger–Number of results to return (1–50). Defaults to 8.
querystringyesFree-text intent in English (translate the operator's ask first), not a SQL predicate. Lexical on a default install, semantic with the optional `recall` group; the result's `mode` says which.

No output schema declared.

No examples provided.

version ~123

Report runtime versions: server name + version (from package.json), how it was installed, MCP protocol version, Node version, platform os/arch, and the active MOJULO_HOME. `workers: true` adds the optional workers this host has (Blender, Godot, Unity, Unreal, a slicer, OpenSCAD, ffmpeg, Chromium): each one's path or null, the env var that points at it, and what still happens without it. Local only, no network call. Read-only, idempotent.

NameTypeReqDescription
workersboolean––

No output schema declared.

No examples provided.

Install

How do I install the io.github.zombico/mojulo MCP server?

io.github.zombico/mojulo runs locally as an npm package, launched with npx -y mojulo. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

npm · mojulo

# add to Claude Code
claude mcp add zombico-mojulo -- npx -y mojulo
Common questions

What is the io.github.zombico/mojulo MCP server?

io.github.zombico/mojulo is an MCP server listed in the public MCP registry as io.github.zombico/mojulo. A 3D compiler for coding agents: objects, worlds and games as small recipes. Emits Godot and STL. This page covers its npm package (mojulo).

Is the io.github.zombico/mojulo MCP server safe to use?

io.github.zombico/mojulo scores 77 out of 100 on VerifyMCP. We recorded 1 known advisory against it as of 5 November 2026. It declares no install or post-install scripts. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the io.github.zombico/mojulo MCP server expose?

io.github.zombico/mojulo exposes 28 tools: forward_context, semantic_search, get_tool_index, get_register_kit, get_worked_example, and 23 more. Their descriptions and schemas cost roughly 5,782 tokens of context every time the server is loaded.

Is the io.github.zombico/mojulo MCP server still maintained?

io.github.zombico/mojulo is still listed as active in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

What licence is the io.github.zombico/mojulo MCP server under?

io.github.zombico/mojulo declares the Apache-2.0 licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.