Figma Context MCP
Give your coding agent access to your Figma data. Implement designs in any framework in one-shot.
คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)
Edit and render 3D scenes over MCP: rooms, nodes, materials, cameras, and snapshots.
สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน
ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry
เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง
VIBE3D_TOKEN, VIBE3D_HOME, VIBE3D_CHROME, VIBE3D_ROOMค่าที่ติดป้ายความลับคือกุญแจของบัญชีคุณ อย่าส่งให้ใคร และอย่าวางในแชต
ต้องเตรียมก่อน
คุณใช้แอปไหน
เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”
เปิด Claude Desktop → Settings → Developer → Edit Config แล้ววางค่านี้ในไฟล์ claude_desktop_config.json
{
"mcpServers": {
"vibe3d": {
"command": "npx",
"args": [
"-y",
"@vibebyte/vibe3d-mcp"
],
"env": {
"VIBE3D_TOKEN": "ใส่ค่าของคุณ",
"VIBE3D_HOME": "ใส่ค่าของคุณ",
"VIBE3D_CHROME": "ใส่ค่าของคุณ",
"VIBE3D_ROOM": "ใส่ค่าของคุณ"
}
}
}
}พิมพ์คำสั่งนี้ใน Terminal
claude mcp add vibe3d --env VIBE3D_TOKEN='ใส่ค่าของคุณ' --env VIBE3D_HOME='ใส่ค่าของคุณ' --env VIBE3D_CHROME='ใส่ค่าของคุณ' --env VIBE3D_ROOM='ใส่ค่าของคุณ' -- npx -y @vibebyte/vibe3d-mcpเติมค่าที่เว้นว่างไว้ก่อนรัน
วางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json
{
"mcpServers": {
"vibe3d": {
"command": "npx",
"args": [
"-y",
"@vibebyte/vibe3d-mcp"
],
"env": {
"VIBE3D_TOKEN": "ใส่ค่าของคุณ",
"VIBE3D_HOME": "ใส่ค่าของคุณ",
"VIBE3D_CHROME": "ใส่ค่าของคุณ",
"VIBE3D_ROOM": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
วางในไฟล์ .vscode/mcp.json ของโปรเจกต์
{
"servers": {
"vibe3d": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@vibebyte/vibe3d-mcp"
],
"env": {
"VIBE3D_TOKEN": "ใส่ค่าของคุณ",
"VIBE3D_HOME": "ใส่ค่าของคุณ",
"VIBE3D_CHROME": "ใส่ค่าของคุณ",
"VIBE3D_ROOM": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
ตัวนี้รันในเครื่องคุณ แต่ ChatGPT ต่อได้เฉพาะ server บนอินเทอร์เน็ต ลองเลือกแอปอื่น
ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี
VIBE3D_HOME envVIBE3D_CHROME envVIBE3D_ROOM envค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README
รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 6 พ.ย. 2569
ชื่อใน registry ยืนยันด้วยบัญชี GitHub vibebytes ซึ่งเป็นเจ้าของ repo
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต
ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน
รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น
ต้องใส่ค่าเหล่านี้: VIBE3D_TOKEN
รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)
repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (0.2.14) เข้า registry 3 วันที่ผ่านมา
โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต้องมี Node.js ในเครื่องด้วย
ในหมวดเดียวกันมี Figma Context MCP, Claude Real Video, Figma MCP Server
server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว
อ่านการ์ด:★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า 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.
server ทางการของ Figma ส่งข้อมูลงานออกแบบให้ AI อ่าน เพื่อเปลี่ยนแบบเป็นโค้ดหรืออธิบายแบบได้ตรงขึ้น ต่อผ่านคลาวด์ของ Figma
ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ
English | 简体中文
vibe3d is an MCP server for building and rendering 3D scenes. One command starts the protocol server, which launches the local daemon for you.
Requires Node.js >= 20 (same as the MCP TypeScript SDK v2). Licensed under Apache-2.0.
vibe3D + Blender discussion group
| Surface | Value |
|---|---|
| GitHub | github.com/vibebytes/vibe3d |
| npm | @vibebyte/vibe3d-mcp (and other @vibebyte/vibe3d-* packages) |
| MCP Registry | io.github.vibebytes/vibe3d |
npx -y @vibebyte/vibe3d-mcp@latest
The daemon listens on loopback only (127.0.0.1 / localhost).
Client config:
{
"mcpServers": { "vibe3d": { "command": "npx", "args": ["-y", "@vibebyte/vibe3d-mcp@latest"] } } }
GUI apps (Cursor, Claude Desktop) often do not load interactive shell config (~/.zshrc, nvm hooks, etc.). A wrapper like bash -lc "nvm use …" usually fails on macOS: login bash does not load zsh’s nvm. Do not put version-manager wrappers in MCP config.
Keep @latest in the config: without a version tag npx reuses its cache and never picks up new releases, even after you reload the MCP server. A newer MCP also restarts an older local daemon on start.
Make the default node / npx on the PATH those apps actually use >= 20, then use the JSON above:
node is already 20+; or~/.volta/bin). nvm alias default 20 alone does not fix Cursor if nvm is only sourced in zsh.Use the default JSON above in .cursor/mcp.json or the user MCP config. If status stays Error, open MCP Output — a Node < 20 message means fix the default Node on the GUI PATH (options above), not the MCP JSON shape.
Same JSON in claude_desktop_config.json.
claude mcp add vibe3d -- npx -y @vibebyte/vibe3d-mcp@latest
{
"servers": { "vibe3d": { "command": "npx", "args": ["-y", "@vibebyte/vibe3d-mcp@latest"] } } }
npx @modelcontextprotocol/inspector --cli npx -y @vibebyte/vibe3d-mcp@latest --method tools/list
| Variable | Purpose |
|---|---|
VIBE3D_HOME | Daemon data directory |
VIBE3D_CHROME | Chrome or Chromium executable used for rendering |
VIBE3D_ROOM | Room bound when the process starts |
VIBE3D_MCP_LOG | Set to 0 to disable mcp.log |
VIBE3D_RESTART_DAEMON | Set to 1 (or pass --restart-daemon) to restart the local daemon every time the MCP process starts |
When the MCP process starts and finds a local daemon of a different version, it stops that daemon (SIGTERM, data is flushed) and starts a matching one. Restarting the MCP therefore picks up an upgraded daemon. Rooms live only in daemon memory unless it runs with --persist (VIBE3D_PERSIST=1), so restarting a non-persistent daemon discards its rooms. --url remote daemons are never touched.
Rendering uses a system Chrome, Chromium, or Edge. The package does not download a browser. Without one, scene editing still works and vibe3d_status reports that rendering is unavailable.
| Platform | Status |
|---|---|
| macOS | Verified |
| Linux | Expected when Chrome or Chromium is on the default path. Not re-checked here |
| Windows | Not verified. Set VIBE3D_CHROME if you try it |
The vibe3d command line and MCP share one capability spec. Field names are camelCase. The CLI shows them in kebab-case, so rotateStep is --rotate-step and withinBBox is --within-bbox.
Comma-separated text splits into the field's array or tuple: --tags a,b, --offset 1,0,0. A command that has both width and height also accepts --size 1280x720. Objects take JSON, or @file.
vibe3d node create r1 --shape box --size 1,2,3
vibe3d scene query r1 --material m_aaaaaaaa --parent root vibe3d anim gait r1 @runner --style run
vibe3d help prints the same descriptions as vibe3d_help. An unknown flag is an error.
The server exposes a small set of grouped tools. Each call passes op, for example vibe3d_room with op: "create". This keeps tools/list small. Unknown tool names come back as tool errors (isError) so the model can correct itself. Long renders and exports are jobs: poll vibe3d_job.
One MCP process keeps one default room. While it has seen a single room, room tools may omit room_id; results marked "implicit" used that default. Once the process has seen a second room (or several chats share it), calls without room_id are rejected and list the candidates. Pass the room_id returned by your own create call on every call. An explicit room_id routes only that call and never changes the default. vibe3d_room {op:"use"} pins the default room when you know only one chat is active.
npx -y @vibebyte/vibe3d-mcp@latest --doctor --json
This prints the Node version, daemon health, Chrome discovery, schema file, and version match. It does not start an MCP session.
See CONTRIBUTING.md. From this repository, with Node 20+:
CI=true pnpm install
pnpm --filter @vibebyte/vibe3d-editor build pnpm --filter @vibebyte/vibe3d-daemon build pnpm --filter @vibebyte/vibe3d-mcp build
pnpm install may ask to reinstall node_modules from scratch. CI=true accepts that prompt.
Security reports: SECURITY.md.