Figma Context MCP
Give your coding agent access to your Figma data. Implement designs in any framework in one-shot.
Description from the maker (original English)
A 3D compiler for coding agents: objects, worlds and games as small recipes. Emits Godot and STL.
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
You need
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 mojuloPaste 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.
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.
Runs on your computer; the tool list appears in your AI app after you install it.
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
The registry name was verified with the GitHub account zombico, which owns the repo
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
This one runs on your computer; there is no internet endpoint
Runs on your computer and uses local settings instead
Runs on your computer; we can only read tool lists from internet endpoints
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
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.
The registry does not list a required key, though some servers ask you to sign in on first use.
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).
The GitHub repo last changed –, and the latest version (3.1.1) reached the registry 21 days ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Node.js on your computer.
In the same category: Figma Context MCP, Claude Real Video, Figma MCP Server
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.
Let any LLM watch a video locally — and search everything it has ever watched.
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.
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 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.
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
[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.
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:
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".
| agent | macOS | Windows | Web 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:
| add | with | what you get |
|---|---|---|
| creative (installed by default) | plain npm install | worlds, 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. |
| recall | mojulo install recall | the 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.
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.
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.
T
Only the beginning is shown; read the rest in the repo