SculptForge
ZBrush-style sculpting for VFX, animation and games. VFX Reference Platform CY2026 and CY2027 builds, OpenUSD, a Python API and Send to Unreal. Free built-in AI: describe a brush and get it, or turn a
翻譯準備中
尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證正在載入完整 README。 以下為已儲存的摘錄。
Gives your AI assistant access to the fonts installed on your machine — so it can write text in Figma with your brand typeface instead of failing on it.
Cloud-based Figma tooling only knows the fonts Figma hosts and the ones shared in your org. Your licensed brand font — Proxima Nova, GT Walsheim, whatever the client bought — is installed locally, so the agent cannot load it. Text edits fail, or land in the wrong typeface.
Figma Desktop can see those fonts. This plugin runs inside it and hands that access to your agent.
Nothing leaves your machine. The bridge is localhost only.檢視完整 README ↗Gives your AI assistant access to the fonts installed on your machine — so it can write text in Figma with your brand typeface instead of failing on it.
Cloud-based Figma tooling only knows the fonts Figma hosts and the ones shared in your org. Your licensed brand font — Proxima Nova, GT Walsheim, whatever the client bought — is installed locally, so the agent cannot load it. Text edits fail, or land in the wrong typeface.
Figma Desktop can see those fonts. This plugin runs inside it and hands that access to your agent.
AI assistant ←MCP→ local server ←WebSocket :3056→ Figma plugin ←Plugin API→ your file
Nothing leaves your machine. The bridge is localhost only.
| Tool | What it does |
|---|---|
list_fonts | Every font family available locally, with its real style names |
audit_fonts | Which fonts a selection, page or file uses — and which are missing or broken |
set_font | Change the family on text nodes, keeping each node's weight (Bold stays Bold) |
replace_font | Swap one family for another across the file, style by style — the missing-font fix |
set_text | Write text into a node, loading its font first |
execute | Run JavaScript in the plugin sandbox for anything else |
Needs Node.js 20+ and Figma Desktop (the browser has no access to your local fonts).
1. Build it
git clone https://github.com/yannicschaer/figma-font-handler.git
cd figma-font-handler
npm install && npm run build
2. Load the plugin in Figma Desktop
Open any file → Plugins → Development → Import plugin from manifest… → pick manifest.json in the root of this folder.
3. Connect your assistant
Claude Code:
claude mcp add figma-fonts -- node /absolute/path/to/figma-font-handler/mcp/dist/mcp-server.mjs
Cursor, Claude Desktop, or any other MCP client — add this to the MCP config:
{
"mcpServers": {
"figma-fonts": {
"command": "node",
"args": ["/absolute/path/to/figma-font-handler/mcp/dist/mcp-server.mjs"]
}
}
}
4. Run it
In Figma: Plugins → Development → Figma Font Handler. The panel shows how many font families it can see, and turns green as soon as your assistant is running. In Claude Code that means a new session after step 3 — the server starts with the session and stops with it. Leave the panel open while you work.
Plain requests are enough once the plugin is running:
Text nodes are addressed by their Figma node ID. Your assistant gets those from audit_fonts, from a Figma link (?node-id=...), or from the official Figma MCP server if you have it connected — this handler is built to sit alongside it, not replace it.
"Unable to load code … ENOENT … code.js" — the plugin is not built yet, or you imported a manifest from somewhere other than the repo root. Run npm run build, then import manifest.json from the root again.
Panel stays red ("Not connected") — no assistant session is running the server. MCP servers load when a session starts, so open a new one after adding figma-fonts. Check the registration with claude mcp get figma-fonts.
"Figma plugin is not connected" — the plugin window is closed, or you are in the browser. Open the file in Figma Desktop and run the plugin. It reconnects on its own within three seconds.
A font is listed but will not load — Figma caches its font list. Quit Figma Desktop completely and reopen it after installing a font. audit_fonts reports any font that is listed but fails to load.
Weights collapse to Regular after a replace — the target family does not carry that weight. replace_font falls back to Regular, and the mapping in the result shows exactly what went where.
Port 3056 in use — another copy of the server is running. It reclaims the port on its own; if not, quit the other MCP client. To change the port, edit it in mcp/src/mcp-server.ts, manifest.json and mcp/figma-plugin/ui.html, then rebuild.
Text in an instance will not change — it is locked by the main component. The error names the node; fix it in the component.
npm run dev # rebuild on change
npm test # font logic against a mock Figma API, no Figma needed
npm run typecheck
After changing plugin code, reload it in Figma: Plugins → Development → Hot reload plugin.
Derived from figma-slides-mcp by Strand AI (MIT) — the MCP ↔ WebSocket ↔ plugin bridge comes from there. The font tooling is new.
MIT licensed. Built by Yannic Schär.