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.
这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。
我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。
选择你使用的 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": "your-value",
"VIBE3D_HOME": "your-value",
"VIBE3D_CHROME": "your-value",
"VIBE3D_ROOM": "your-value"
}
}
}
}在终端中运行这条命令
claude mcp add vibe3d --env VIBE3D_TOKEN=your-value --env VIBE3D_HOME=your-value --env VIBE3D_CHROME=your-value --env VIBE3D_ROOM=your-value -- npx -y @vibebyte/vibe3d-mcp运行前请先填写空着的值。
粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json
{
"mcpServers": {
"vibe3d": {
"command": "npx",
"args": [
"-y",
"@vibebyte/vibe3d-mcp"
],
"env": {
"VIBE3D_TOKEN": "your-value",
"VIBE3D_HOME": "your-value",
"VIBE3D_CHROME": "your-value",
"VIBE3D_ROOM": "your-value"
}
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
粘贴到项目中的 .vscode/mcp.json
{
"servers": {
"vibe3d": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@vibebyte/vibe3d-mcp"
],
"env": {
"VIBE3D_TOKEN": "your-value",
"VIBE3D_HOME": "your-value",
"VIBE3D_CHROME": "your-value",
"VIBE3D_ROOM": "your-value"
}
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
这个服务器在你的电脑上运行,而 ChatGPT 只能连接互联网上的服务器。请选择其他应用。
你的选择通过 Cookie 保存在这台设备上,无需账户。
VIBE3D_HOME envVIBE3D_CHROME envVIBE3D_ROOM env这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。
它在你的电脑上运行;安装后,工具列表会显示在你的 AI 应用中。
我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月7日
注册名称已通过 GitHub 账户 vibebytes 验证,该账户拥有此仓库
我们还没有从 GitHub 读取这个仓库
我们还没有从 GitHub 读取这个仓库
它在你的电脑上运行,没有互联网端点
在你的电脑上运行,改用本地设置
它在你的电脑上运行;我们只能读取互联网端点的工具列表
与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。
它在 1 项适用的基础检查中通过了 1 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。
你需要填写:VIBE3D_TOKEN
它在你的电脑上运行。你的 AI 应用会在需要时启动它,数据不会经过作者的服务器(除非它自己调用在线服务)。
GitHub 仓库最后更新于–,最新版本(0.2.14)于3天前进入注册中心。
支持 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、图片和脚本已被移除。链接会离开本站。
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.