# vibe3d (npm · @vibebyte/vibe3d-mcp)

Edit and render 3D scenes over MCP: rooms, nodes, materials, cameras, and snapshots.

- Trust score: 84/100 (high trust)
- Change this week: +4
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-11-05

## Components

- npm · `@vibebyte/vibe3d-mcp`: 84/100 (this document), [markdown](https://verifymcp.io/servers/vibebytes-vibe3d/vibebyte-vibe3d-mcp.md), [page](https://verifymcp.io/servers/vibebytes-vibe3d/vibebyte-vibe3d-mcp)

## Channel facts

- Registry: `npm`
- Package: `@vibebyte/vibe3d-mcp`
- Version: `0.2.14`
- Transport: `stdio`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-11-05.

- **Supply Chain Security**: 100/100
  - No malware found by supply-chain analysis.
  - No known CVEs affecting this package version or its production dependencies.
  - No install/post-install scripts declared.
  - 0 of 1 dependencies flagged as unhealthy.
- **Provenance & Transparency**: 100/100
  - Source repository is publicly reachable at the declared URL.
  - Cryptographically verified build provenance (signed, bound to vibebytes/vibe3d).
  - Clear OSI-approved license (Apache-2.0).
  - Actively maintained (last published 1 days ago).
  - Publishes a security disclosure policy (SECURITY.md).
- **Schema Quality & AI Usability**: 70/100
  - 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).
  - AI-judged instruction clarity (good).
  - Context-footprint check failed: tool/resource definitions use about 3675 tokens (~216/item across 17 items; 17 tools + 0 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 27/100
  - Stability observed for 8 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 99/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 96% of tool parameters carry a description.
- **Tool Safety**: 100/100
  - No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.
  - We read all 17 captured tool definition(s), and no name or description among them implies an irreversible operation.
  - An AI judge read all 18 captured unit(s) of tool text and found none that tries to manipulate the model reading it.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

## Install

### How do I install the vibe3d MCP server?

vibe3d runs locally as an npm package, launched with npx -y @vibebyte/vibe3d-mcp. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

### Claude

```bash
claude mcp add vibebytes-vibe3d -- npx -y @vibebyte/vibe3d-mcp
```

### Cursor

```json
{
  "mcpServers": {
    "vibebytes-vibe3d": {
      "command": "npx",
      "args": [
        "-y",
        "@vibebyte/vibe3d-mcp"
      ]
    }
  }
}
```

### VS Code

```json
{
  "servers": {
    "vibebytes-vibe3d": {
      "command": "npx",
      "args": [
        "-y",
        "@vibebyte/vibe3d-mcp"
      ]
    }
  }
}
```

### Codex

```bash
codex mcp add vibebytes-vibe3d -- npx -y @vibebyte/vibe3d-mcp
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "vibebytes-vibe3d": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "@vibebyte/vibe3d-mcp"
      ],
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add vibebytes-vibe3d --command npx --arg -y --arg @vibebyte/vibe3d-mcp
```

### Hermes

```yaml
mcp_servers:
  vibebytes-vibe3d:
    command: "npx"
    args: ["-y", "@vibebyte/vibe3d-mcp"]
```

### Netclaw

```json
{
  "McpServers": {
    "vibebytes-vibe3d": {
      "Transport": "stdio",
      "Command": "npx",
      "Arguments": [
        "-y",
        "@vibebyte/vibe3d-mcp"
      ]
    }
  }
}
```

### Vellum

```bash
assistant mcp add vibebytes-vibe3d -t stdio -c npx -a -y @vibebyte/vibe3d-mcp
```

### Other

```json
{
  "mcpServers": {
    "vibebytes-vibe3d": {
      "command": "npx",
      "args": [
        "-y",
        "@vibebyte/vibe3d-mcp"
      ]
    }
  }
}
```

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-11-04 (score 84, +16)

- [security improvement] Malware scan: unverified → pass

### 2026-11-03 (score 68, 0)

- [security improvement] Malware scan: unverified → pass
- [functional] Package version: 0.2.13 → 0.2.14

### 2026-11-02 (score 68, −14)

- [security regression] Malware scan: pass → unverified
- [security regression] Known CVEs: pass → unverified
- [functional regression] Dependency health: 1.00 → unverified
- [functional] Package version: 0.2.10 → 0.2.13
- [functional] Package version: 0.2.10 → 0.2.12

### 2026-10-30 (score 82, +2)

- [functional improvement] Security disclosure: unverified → pass

### 2026-10-29 (score 80, +27)

- [security regression] Stability: 0.00 → unverified
- [security regression] Tool safety: pass → unverified
- [security improvement] Known CVEs: unverified → pass
- [security improvement] Source repository: fail → pass
- [security improvement] Provenance: fail → pass
- [security] The attested source repository moved: vibebytes/vibe3d
- [functional regression] Capabilities: pass → unverified
- [functional regression] Tool coverage: 100 → unverified
- [functional regression] Schema quality: 100 → unverified
- [functional improvement] Dependency health: unverified → 1.00
- [functional] Package version: 0.2.8 → 0.2.10
- [functional] Package version: 0.2.8 → 0.2.9

### 2026-10-28 (score 53)

First indexed and scored.

## MCP tools (17)

### `vibe3d_help` (~92 tokens)

查参数契约：给 tool(+op) 返回该 op 的参数字段/必填/枚举/错误码与示例；不给 tool 则列出全部工具与 op

Input parameters:

- `op` (string): 该工具下的 op；省略则返回该工具全部 op
- `tool` (string): 工具名；省略则列出全部工具与 op

### `vibe3d_status` (~60 tokens)

[status] 能力探测：渲染器是否就绪、能否出 ID 通道、快照上限与载荷上限｜含 id-pass 支持；渲染或导入前先查一次

### `vibe3d_room` (~169 tokens)

[room] 房间：建 / 列 / 切绑定 / 看摘要 / 关 / 时间线｜op: [read] list use get timeline；[write] create close｜必填见 params 描述，字段见 vibe3d_help {tool, op}

Input parameters:

- `op` (string, required): room 下的 op；每个 op 的参数字段用 vibe3d_help {tool, op} 查
- `params` (object): op 与必填字段：create list use{room_id} get close timeline。参数可平铺在顶层（顶层优先），省略 params 时取其顶层字段
- `room_id` (string): 省略用默认房间；多房间/多聊天并行必传

### `vibe3d_scene` (~234 tokens)

[scene] 场景：取整份 / 摘要 / 查询节点 / 统计 / 拾取 / 体检 / 撤销重做 / 差分 / 导入导出 / 检查点 / 当前选中｜op: [read] get summary query stats pick validate diff export checkpoints selection；[write] undo redo import checkpoint restore｜必填见 params 描述，字段见 vibe3d_help {tool, op}｜import 是整场景替换，仅用于初始化或回滚

Input parameters:

- `op` (string, required): scene 下的 op；每个 op 的参数字段用 vibe3d_help {tool, op} 查
- `params` (object): op 与必填字段：get summary query stats pick validate undo redo diff export import{doc} checkpoint checkpoints restore{checkpoint_id} selection。参数可平铺在顶层（顶层优先），省略 params 时取其顶层字段
- `room_id` (string): 省略用默认房间；多房间/多聊天并行必传

### `vibe3d_node` (~292 tokens)

[node] 节点：建 / 改 / 删 / 克隆 / 读 / 换父 / 批量变换 / 阵列 / 吸附 / 编组 / 合并烘焙 / 按画面框拟合 / 导入模型｜op: [read] get；[write] create update delete clone reparent transform array attach group merge fit_screen import｜必填见 params 描述，字段见 vibe3d_help {tool, op}｜create 平铺传 kind+shape+size，material 可省略（自动建）

Input parameters:

- `op` (string, required): node 下的 op；每个 op 的参数字段用 vibe3d_help {tool, op} 查
- `params` (object): op 与必填字段：create{kind} update{node_id,patch} delete{node_id} clone{node_id} get{node_id} reparent{node_id,parent} transform array{node_id,count} attach{node_id,target_id,face} group{ids,name} merge{no…
- `room_id` (string): 省略用默认房间；多房间/多聊天并行必传

### `vibe3d_material` (~242 tokens)

[material] 材质：按预设建 / 局部改 / 贴图与 UV / 批量指派｜op: create patch map assign｜必填见 params 描述，字段见 vibe3d_help {tool, op}｜create 收 {preset}，id 由服务端生成；preset 任意描述词都收（如 matte-white 会归一到 concrete + 浅色），原名回读在 preset/presetNote；patch 用 baseColor（也接受 color 别名）/metalness/roughness/emissive/opacity

Input parameters:

- `op` (string, required): material 下的 op；每个 op 的参数字段用 vibe3d_help {tool, op} 查
- `params` (object): op 与必填字段：create patch{material_id,patch} map{material_id} assign{material_id}。参数可平铺在顶层（顶层优先），省略 params 时取其顶层字段
- `room_id` (string): 省略用默认房间；多房间/多聊天并行必传

### `vibe3d_stage` (~213 tokens)

[stage] 舞台与环境：预设/曝光/后处理/三渲二；雾、背景、环境光、HDRI｜op: set env｜必填见 params 描述，字段见 vibe3d_help {tool, op}｜set/env 的字段平铺在顶层（勿包成 stage:{…}）：env 传 background/ambient/fog，颜色 [r,g,b,a]，fog 是对象 {near,far}、关雾传 false

Input parameters:

- `op` (string, required): stage 下的 op；每个 op 的参数字段用 vibe3d_help {tool, op} 查
- `params` (object): op 与必填字段：set{stage} env。参数可平铺在顶层（顶层优先），省略 params 时取其顶层字段
- `room_id` (string): 省略用默认房间；多房间/多聊天并行必传

### `vibe3d_animation` (~197 tokens)

[animation] 程序化动画：定义轨道 / 播放 / 停止 / 清除 / 批量摆姿势 / 人形步态｜op: define play stop clear pose gait｜必填见 params 描述，字段见 vibe3d_help {tool, op}

Input parameters:

- `op` (string, required): animation 下的 op；每个 op 的参数字段用 vibe3d_help {tool, op} 查
- `params` (object): op 与必填字段：define{node_id,clip} play{node_id} stop{node_id} clear{node_id} pose{targets} gait{node_id,style}。参数可平铺在顶层（顶层优先），省略 params 时取其顶层字段
- `room_id` (string): 省略用默认房间；多房间/多聊天并行必传

### `vibe3d_fx` (~164 tokens)

[fx] 特效：粒子或光柱，建 / 删｜op: create delete｜必填见 params 描述，字段见 vibe3d_help {tool, op}｜id 由服务端生成，不要复用已有 id

Input parameters:

- `op` (string, required): fx 下的 op；每个 op 的参数字段用 vibe3d_help {tool, op} 查
- `params` (object): op 与必填字段：create{type} delete{fx_id}。参数可平铺在顶层（顶层优先），省略 params 时取其顶层字段
- `room_id` (string): 省略用默认房间；多房间/多聊天并行必传

### `vibe3d_mesh` (~239 tokens)

[mesh] 网格构造：布尔 / 管体 / 背板 / 车削 / 有机体 / 倒角 / 树 / 人体 / 贴花｜op: boolean tube backdrop lathe organic bevel tree mannequin decal｜必填见 params 描述，字段见 vibe3d_help {tool, op}｜decal 用真字形/图片；color 用 [r,g,b,a] 或 '#RRGGBB'

Input parameters:

- `op` (string, required): mesh 下的 op；每个 op 的参数字段用 vibe3d_help {tool, op} 查
- `params` (object): op 与必填字段：boolean{target,tool} tube{points,radius} backdrop lathe{profile} organic{radius,seed} bevel{size,radius} tree{height,spread,levels,seed} mannequin decal。参数可平铺在顶层（顶层优先），省略 params 时取其顶层字段
- `room_id` (string): 省略用默认房间；多房间/多聊天并行必传

### `vibe3d_asset` (~167 tokens)

[asset] 资产：解析 glTF / 上传贴图模型 / 列表 / 删除｜op: [read] inspect list；[write] put delete｜必填见 params 描述，字段见 vibe3d_help {tool, op}

Input parameters:

- `op` (string, required): asset 下的 op；每个 op 的参数字段用 vibe3d_help {tool, op} 查
- `params` (object): op 与必填字段：inspect{src} put{src} list delete{sha}。参数可平铺在顶层（顶层优先），省略 params 时取其顶层字段
- `room_id` (string): 省略用默认房间；多房间/多聊天并行必传

### `vibe3d_camera` (~204 tokens)

[camera] 机位：设置 / 保存命名机位 / 删除 / 像素投影与反投影｜op: [read] project unproject；[write] set save delete｜必填见 params 描述，字段见 vibe3d_help {tool, op}｜set 平铺 p/target/fov，勿包成 camera:{…}；save 用命名机位

Input parameters:

- `op` (string, required): camera 下的 op；每个 op 的参数字段用 vibe3d_help {tool, op} 查
- `params` (object): op 与必填字段：set save{name} delete{name} project{points} unproject{points}。参数可平铺在顶层（顶层优先），省略 params 时取其顶层字段
- `room_id` (string): 省略用默认房间；多房间/多聊天并行必传

### `vibe3d_render` (~209 tokens)

[render] 渲染：快照 / 多视角 / 单资产特写 / 像素取色 / ID 通道 / 序列帧｜op: snapshot views node pick assert id_pass sequence video｜必填见 params 描述，字段见 vibe3d_help {tool, op}｜snapshot / views 前先 vibe3d_status 探能力

Input parameters:

- `op` (string, required): render 下的 op；每个 op 的参数字段用 vibe3d_help {tool, op} 查
- `params` (object): op 与必填字段：snapshot views node{node_id} pick assert{anchors} id_pass sequence{from,to,fps} video{from,to,fps}。参数可平铺在顶层（顶层优先），省略 params 时取其顶层字段
- `room_id` (string): 省略用默认房间；多房间/多聊天并行必传

### `vibe3d_export_glb` (~112 tokens)

[export_glb] 导出 GLB（任务制，用 vibe3d_job 查进度）｜拿到 jobId 后轮询 vibe3d_job.get 到 state=done（失败看 error）

Input parameters:

- `include` (array): 额外带上相机 / 灯光；默认不带
- `node_ids` (array): 只导出这些节点（含子树）；省略则导出整场景
- `room_id` (string)

### `vibe3d_job` (~159 tokens)

[job] 导出任务：查询 / 列表 / 取消｜op: [read] get list；[write] cancel｜必填见 params 描述，字段见 vibe3d_help {tool, op}

Input parameters:

- `op` (string, required): job 下的 op；每个 op 的参数字段用 vibe3d_help {tool, op} 查
- `params` (object): op 与必填字段：get{job_id} list cancel{job_id}。参数可平铺在顶层（顶层优先），省略 params 时取其顶层字段
- `room_id` (string): 省略用默认房间；多房间/多聊天并行必传

### `vibe3d_open_editor` (~109 tokens)

[open_editor] 打开房间编辑器（默认弹窗）｜返回 url 与 hint；open:false 只回链接

Input parameters:

- `focus`: 打开后选中并聚焦到该节点
- `open` (boolean): true（默认）直接弹窗；false 只返回 url 不弹
- `reuse` (boolean): 复用已开的同房间编辑页；false 强制新开一个
- `room_id` (string)

### `vibe3d_apply_ops` (~468 tokens)

[apply_ops] 原子批量 op（仅用于跨节点依赖；日常请用专用工具）｜嵌套载荷包在同名字段 {op:"node.create",node:{…}} / {op:"env.set",env:{…}}，不能平铺到 op 顶层（会校验失败）；ops 传数组不是 JSON 字符串。逐条操作请用专用工具

Input parameters:

- `ops` (array, required): 按顺序原子执行；每个元素是 {op:"名字", ...字段}。复合载荷要包在同名字段里，不能平铺在 op 顶层：node.create 传 {op,node:{…}}、env.set 传 {op,env:{…}}、stage.set 传 {op,stage:{…}}、camera.set 传 {op,camera:{…}}、fx.create 传 {op,fx:{…}}。op 与顶层字段：nod…
- `room_id` (string): 省略则用会话默认房间；多房间或多聊天并行时必须显式传

## Diagnostics

Captured diagnostic sections: Provenance, Dependencies. The full working is on the page: https://verifymcp.io/servers/vibebytes-vibe3d/vibebyte-vibe3d-mcp#diagnostics

## Score history

- 2026-11-05: 84
- 2026-11-04: 84
- 2026-11-03: 68
- 2026-11-02: 68
- 2026-11-01: 82
- 2026-10-31: 82
- 2026-10-30: 82
- 2026-10-29: 80
- 2026-10-28: 53

## Common questions

### What is the vibe3d MCP server?

vibe3d is an MCP server listed in the public MCP registry as io.github.vibebytes/vibe3d. Edit and render 3D scenes over MCP: rooms, nodes, materials, cameras, and snapshots. This page covers its npm package (@vibebyte/vibe3d-mcp).

### Is the vibe3d MCP server safe to use?

vibe3d scores 84 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 5 November 2026. It declares no install or post-install scripts. Its build provenance is signed and verified. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

### What tools does the vibe3d MCP server expose?

vibe3d exposes 17 tools: vibe3d_help, vibe3d_status, vibe3d_room, vibe3d_scene, vibe3d_node, and 12 more. Their descriptions and schemas cost roughly 3,330 tokens of context every time the server is loaded.

### Is the vibe3d MCP server still maintained?

vibe3d is still listed as active in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

### What licence is the vibe3d MCP server under?

vibe3d declares the Apache-2.0 licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.

## Links

- npm package: https://www.npmjs.com/package/@vibebyte/vibe3d-mcp
- Socket report: https://socket.dev/npm/package/@vibebyte/vibe3d-mcp
- Repository: https://github.com/vibebytes/vibe3d
- Changelog RSS feed: https://verifymcp.io/servers/vibebytes-vibe3d/vibebyte-vibe3d-mcp.xml
- Changelog JSON feed: https://verifymcp.io/servers/vibebytes-vibe3d/vibebyte-vibe3d-mcp.json
- HTML version of this page: https://verifymcp.io/servers/vibebytes-vibe3d/vibebyte-vibe3d-mcp
