Figma Context MCP
Give your coding agent access to your Figma data. Implement designs in any framework in one-shot.
作者提供的说明(英文原文)
A 3D compiler for coding agents: objects, worlds and games as small recipes. Emits Godot and STL.
这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。
我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。
选择你使用的 AI 应用,然后复制设置。
你需要
你用的是哪个应用?
在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。
打开 Claude Desktop → Settings → Developer → Edit Config,把下面的内容粘贴到 claude_desktop_config.json
{
"mcpServers": {
"mojulo": {
"command": "npx",
"args": [
"-y",
"mojulo"
]
}
}
}在终端中运行这条命令
claude mcp add mojulo -- npx -y mojulo粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json
{
"mcpServers": {
"mojulo": {
"command": "npx",
"args": [
"-y",
"mojulo"
]
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
粘贴到项目中的 .vscode/mcp.json
{
"servers": {
"mojulo": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"mojulo"
]
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
这个服务器在你的电脑上运行,而 ChatGPT 只能连接互联网上的服务器。请选择其他应用。
你的选择通过 Cookie 保存在这台设备上,无需账户。
这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。
它在你的电脑上运行;安装后,工具列表会显示在你的 AI 应用中。
我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月7日
注册名称已通过 GitHub 账户 zombico 验证,该账户拥有此仓库
我们还没有从 GitHub 读取这个仓库
我们还没有从 GitHub 读取这个仓库
它在你的电脑上运行,没有互联网端点
在你的电脑上运行,改用本地设置
它在你的电脑上运行;我们只能读取互联网端点的工具列表
与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。
它在 1 项适用的基础检查中通过了 1 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。
注册中心没有列出必需的密钥,不过有些服务器会在首次使用时要求你登录。
它在你的电脑上运行。你的 AI 应用会在需要时启动它,数据不会经过作者的服务器(除非它自己调用在线服务)。
GitHub 仓库最后更新于–,最新版本(3.1.1)于21天前进入注册中心。
支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。你的电脑上还需要有 Node.js。
同一分类中有:Figma Context MCP, Claude Real Video, Figma MCP Server
同一分类中其他作者的服务器,按星标数排序。
如何看卡片:★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i
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.
The Figma MCP server brings Figma design context directly into your AI workflow.
按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。
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
只显示了开头部分;其余内容请在仓库中阅读