# Stori3D (renamed: use stori3d-mcp) (npm · nexus3d-mcp)

Renamed: use io.github.richy7734/stori3d-mcp. This old name keeps existing setups working.

- Trust score: 70/100 (medium)
- Change this week: +3
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-11-05

## Components

- npm · `nexus3d-mcp`: 70/100 (this document), [markdown](https://verifymcp.io/servers/richy7734-nexus3d-mcp/nexus3d-mcp.md), [page](https://verifymcp.io/servers/richy7734-nexus3d-mcp/nexus3d-mcp)

## Channel facts

- Registry: `npm`
- Package: `nexus3d-mcp`
- Version: `0.4.2`
- 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**: 98/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.
  - 30 of 93 dependencies flagged as unhealthy.
- **Provenance & Transparency**: 0/100
  - Repository check failed: no source repository is declared.
  - Provenance check failed: no build-provenance attestation is published.
  - Licence could not be checked: the licence is shipped as a file inside the package, not declared as a standard (SPDX) licence identifier, so we cannot tell whether it is OSI-approved.
  - Maintenance check failed: the publisher has marked this version as deprecated on the registry, telling users to stop installing it.
  - Security-disclosure policy not yet verified: we couldn't inspect the source repository.
- **Schema Quality & AI Usability**: 78/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).
  - Tool/resource definitions use about 4652 tokens (~101/item across 46 items; 45 tools + 1 resources), lean.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 73/100
  - Stability observed for 22 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 77/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 32% 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.
  - All 4 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.
  - An AI judge read all 47 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 Stori3D (renamed: use stori3d-mcp) server?

Stori3D (renamed: use stori3d-mcp) runs locally as an npm package, launched with npx -y nexus3d-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 richy7734-nexus3d-mcp -- npx -y nexus3d-mcp
```

### Cursor

```json
{
  "mcpServers": {
    "richy7734-nexus3d-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "nexus3d-mcp"
      ]
    }
  }
}
```

### VS Code

```json
{
  "servers": {
    "richy7734-nexus3d-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "nexus3d-mcp"
      ]
    }
  }
}
```

### Codex

```bash
codex mcp add richy7734-nexus3d-mcp -- npx -y nexus3d-mcp
```

### opencode

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

### OpenClaw

```bash
openclaw mcp add richy7734-nexus3d-mcp --command npx --arg -y --arg nexus3d-mcp
```

### Hermes

```yaml
mcp_servers:
  richy7734-nexus3d-mcp:
    command: "npx"
    args: ["-y", "nexus3d-mcp"]
```

### Netclaw

```json
{
  "McpServers": {
    "richy7734-nexus3d-mcp": {
      "Transport": "stdio",
      "Command": "npx",
      "Arguments": [
        "-y",
        "nexus3d-mcp"
      ]
    }
  }
}
```

### Vellum

```bash
assistant mcp add richy7734-nexus3d-mcp -t stdio -c npx -a -y nexus3d-mcp
```

### Other

```json
{
  "mcpServers": {
    "richy7734-nexus3d-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "nexus3d-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-05 (score 70, +1)

No change was recorded against any check on this day. Stability & Change Management went from 70 to 73. That category is still filling its 30-day observation window: 21 days of observed history at the previous scan, 22 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-11-03 (score 69, +1)

No change was recorded against any check on this day. Stability & Change Management went from 63 to 67. That category is still filling its 30-day observation window: 19 days of observed history at the previous scan, 20 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-10-31 (score 68, +1)

No change was recorded against any check on this day. Stability & Change Management went from 53 to 57. That category is still filling its 30-day observation window: 16 days of observed history at the previous scan, 17 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-10-29 (score 67, +1)

No change was recorded against any check on this day. Stability & Change Management went from 47 to 50. That category is still filling its 30-day observation window: 14 days of observed history at the previous scan, 15 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-10-27 (score 66, +1)

No change was recorded against any check on this day. Stability & Change Management went from 40 to 43. That category is still filling its 30-day observation window: 12 days of observed history at the previous scan, 13 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-10-25 (score 65, +1)

No change was recorded against any check on this day. Stability & Change Management went from 33 to 37. That category is still filling its 30-day observation window: 10 days of observed history at the previous scan, 11 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-10-23 (score 64, +1)

No change was recorded against any check on this day. Stability & Change Management went from 27 to 30. That category is still filling its 30-day observation window: 8 days of observed history at the previous scan, 9 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-10-22 (score 63, +3)

- [functional improvement] Stability: unverified → 0.27

## MCP tools (45)

### `connect` (~60 tokens)

Connect to Stori3D

Pair with the Stori3D tab showing this 6-digit code (Stori3D → AI agent → Connect). Needed once per session before the other tools work.

Input parameters:

- `code` (string, required): The 6-digit code shown in Stori3D

### `status` (~20 tokens)

Connection status

Whether Stori3D is connected, and to which project.

### `project_summary` (~81 tokens)

Project summary

Start here. The open project at a glance: levels (id, name, elevation and floor-to-floor height in mm, room count and usable room area in m²), element counts, custom property definitions, site location and sun, the active level and the selection. Units: lengths mm, areas m², angles degrees; plan x east, y north.

### `list_elements` (~201 tokens)

List elements

Elements of the model as plain data, filtered and paged. Kinds: level, wall (start/end points, length, height, thickness, face area m², opening ids), slab, roof, stair, door, window (width, height, sill, host wall id, size limits), furniture (type, position, rotation, size, limits), room (area m², enclosed, tag). Outlines are summarised unless detail is "full". Every element has id, kind, name, level (the level's id) and properties (custom data).

Input parameters:

- `detail` (string): full includes outlines
- `kind`: Only these kinds
- `level` (string): Level id or name
- `limit` (integer): Default 100
- `offset` (integer)
- `property` (object): Only elements with this custom property (set to this value)
- `selected` (boolean): Only what the user has selected

### `get_element` (~27 tokens)

Get element

One element by id, in full (outlines included).

Input parameters:

- `id` (string, required)

### `get_selection` (~35 tokens)

Get selection

What the user has selected in Stori3D right now — use it when they say "this wall" or "these doors".

### `get_schedule` (~99 tokens)

Get schedule

A schedule table: standard columns for the kind plus a column per custom property. openings = doors and windows (type, width, height, sill, wall); rooms (area, gross area, perimeter, enclosed); walls (length, height, thickness, face area, openings); slabs; stairs (risers, riser height, going); furniture.

Input parameters:

- `format` (string): Default json ({ columns, rows })
- `kind` (string, required)

### `list_catalogue` (~104 tokens)

List catalogue

What can be placed: furniture types for place_furniture (with default sizes in mm and category), including about 180 realistic models from the asset library ("ph:…": furniture, Lighting, Decor, Office, plants and trees; ceiling and wall lamps are hung automatically), the user's My library pieces ("custom:…"), and door and window types for place_opening. Filter by category in your own reasoning: the list is long.

Input parameters:

- `kind` (string)

### `list_finishes` (~166 tokens)

List finishes

Finishes for paint_surface: id, name, group (Paint & plaster, Brick & block, Concrete & stone, Timber, Tiles, Flooring, Roofing, Metal & glass, Fabric, Landscape), tile (mm per pattern repeat) and source (built-in, or ambientCG: photographed PBR materials, "acg:…"). Filter with group and/or search words (e.g. "oak", "terrazzo", "white paint"). With element instead: that element's surfaces and the finish on each (a room gives walls, floor and ceiling).

Input parameters:

- `element` (string): An element or room id: list its surfaces and their finishes instead
- `group` (string)
- `search` (string): Words to match in id, name or group

### `list_skies` (~59 tokens)

List skies

Skies for set_sky (HDRI environments: clear, cloudy, sunset, overcast, city, countryside, night, studio) with id, name and group, plus the project's current sky and its settings (null: the default lighting).

### `list_properties` (~35 tokens)

List custom properties

The project's custom property definitions (name, type text/number/boolean/choice, unit, choices, which kinds they apply to).

### `get_plan_svg` (~95 tokens)

Get plan (SVG)

The architectural 2D plan of a level as SVG text (walls cut at 1.2 m, doors and swings, dimensions in mm, room names and areas). For a picture you can look at, use capture_view with mode "plan".

Input parameters:

- `level` (string): Level id or name (default: the active level)
- `scale` (number): Drawing scale denominator, default 100 (1:100)

### `get_drawing_svg` (~170 tokens)

Get elevation or section (SVG)

An elevation (south/north/east/west: the façade seen from that side) or a section (section-ew: an east–west cut looking north; section-ns: a north–south cut looking east) of the whole building as SVG text: hidden-line drawing, cut walls/slabs/roofs solid, level lines with elevations. Drawing units are metres, y down. For a picture, use capture_view with mode "drawing".

Input parameters:

- `flip` (boolean): Sections: look the other way (south / west)
- `offset` (number): Sections: where to cut, mm (north for section-ew, east for section-ns). Default: through the middle
- `scale` (number): Drawing scale denominator, default 100
- `view` (string, required)

### `list_views` (~35 tokens)

List saved views

The project's saved camera views (id and name). Go to one with go_to_view or picture it with capture_view mode "view".

### `list_tours` (~67 tokens)

List walkthrough tours

The project's walkthrough tours: camera paths played like a video (stops with plan positions in mm and heights above the ground in mm, travel and pause seconds, loop, where visitors may walk from, and the player-only share link if shared), plus the project details shown with shared tours.

### `capture_view` (~236 tokens)

Look at the model

A picture, so you can check your work. mode: "overview" (the whole building from the south-east, above; site context hidden), "plan" (the 2D plan drawing of a level, north up, with dimensions), "drawing" (an elevation or section, see get_drawing_svg), "element" (one element framed), "view" (a saved view), "current" (exactly what the user sees). Look after significant changes.

Input parameters:

- `context` (boolean): Include site context (terrain, neighbouring buildings)
- `drawing` (string): For mode "drawing" (default south)
- `element` (string): Element id for mode "element"
- `height` (integer): Pixels, default 768 (plans keep their proportions)
- `level` (string): Level id or name for mode "plan"
- `mode` (string): Default current
- `offset` (number): For a section drawing: where to cut, mm
- `view` (string): Saved view id or name, for mode "view"
- `width` (integer): Pixels, default 1024

### `select` (~47 tokens)

Select

Select elements in Stori3D so the user sees them highlighted and their properties (e.g. the doors that fail a check). Empty ids clears the selection.

Input parameters:

- `ids` (array, required)

### `set_camera` (~81 tokens)

Move the camera

Move the user's view: preset "overview", "top" (plan view of the active level) or "element" (frame one element), or an eye position and target (plan mm plus height in mm above ground).

Input parameters:

- `element` (string)
- `position` (object)
- `preset` (string)
- `target` (object)

### `go_to_view` (~32 tokens)

Go to a saved view

Move the user's camera to a saved view (id or name from list_views).

Input parameters:

- `view` (string, required)

### `set_active_level` (~55 tokens)

Switch level

Make a level the active one (the one being edited and drawn in plan; others show ghosted or hidden). New elements go on the active level unless you name one.

Input parameters:

- `level` (string, required): Level id or name

### `set_section` (~77 tokens)

Section cut

Cut the model to see inside: "plan" (horizontal, height mm above the active floor), "x" (vertical at plan x = offset mm), "y" (vertical at plan y = offset mm), or "off".

Input parameters:

- `height` (number)
- `mode` (string, required)
- `offset` (number)

### `set_sun` (~91 tokens)

Set the sun

Sun and shadows for the site (needs a site location): date YYYY-MM-DD and time in hours local to the site (e.g. 9.5 = 09:30). Returns the sun's azimuth (degrees clockwise from north) and altitude. Use with capture_view for shadow studies.

Input parameters:

- `date` (string)
- `enabled` (boolean)
- `time` (number)

### `update_element` (~208 tokens)

Update element

Change an element. Lengths in mm, angles in degrees. By kind: level {name, elevation, height}; wall {length, height, thickness}; slab {thickness}; roof {roofType flat|shed|gable|hip, pitch, overhang, thickness}; stair {width, going, maxRiser, shape straight|L|U, turn left|right, position, rotation}; door/window {width, height, open 0–1}; furniture {position, rotation, width, depth, height, lamp {on, lumens, kelvin}}; column {shape rect|round, width, depth, height, position, rotation}; room {name}. wall also {attachTop: true} to extend it up to the roof over it. Any: {name}. A size outside the element's limits fails with the allowed range unless clamp is true.

Input parameters:

- `changes` (object, required)
- `clamp` (boolean)
- `id` (string, required)

### `create_walls` (~96 tokens)

Draw walls

Walls along a polyline of plan points (wall centre lines, mm). closed joins the last point back to the first. Corners join automatically. Default height 2700, thickness 200 (mm).

Input parameters:

- `closed` (boolean)
- `height` (number)
- `level` (string): Level id or name (default: the active level)
- `points` (array, required)
- `thickness` (number)

### `create_room` (~147 tokens)

Create room

A room in one step: walls around the outline (wall centre lines; edges that an existing wall already covers are skipped, so rooms can share walls), a floor slab, and a room tag holding its name and custom properties. Returns the room (area = usable floor inside the walls, m²).

Input parameters:

- `height` (number): Wall height mm (default 2700)
- `level` (string)
- `name` (string)
- `outline` (array, required): Wall centre lines in order; closed for you
- `properties` (object)
- `slab` (boolean): Floor slab (default true)
- `thickness` (number): Wall thickness mm (default 200)

### `place_opening` (~162 tokens)

Place door or window

A door or window in a wall. offset = mm from the wall's start point to the opening's centre (get the wall's start/end/length from list_elements). Windows take a sill height (mm above the floor); doors stand on the floor. flip turns it to face the other side (door swing). Fails with the allowed range if it doesn't fit or overlaps another opening, unless clamp is true. Types: list_catalogue.

Input parameters:

- `clamp` (boolean)
- `flip` (boolean)
- `height` (number)
- `name` (string)
- `offset` (number, required)
- `sill` (number)
- `type` (string, required)
- `wall` (string, required)
- `width` (number)

### `place_furniture` (~181 tokens)

Place furniture

A piece of furniture: type from list_catalogue, position (plan mm, its centre) and rotation in degrees counter-clockwise: 0 faces south (back to the north), 90 faces east, 180 north, 270 west. Against a wall, face away from it. Sizes in mm within its limits (fixed dimensions can't change) unless clamp is true. Leave clearances: ~900 mm walkways, 600 mm in front of storage.

Input parameters:

- `clamp` (boolean)
- `depth` (number)
- `height` (number)
- `level` (string)
- `name` (string)
- `position` (object, required): Plan point in mm (x east, y north), relative to its level
- `rotation` (number)
- `type` (string, required)
- `width` (number)

### `place_column` (~148 tokens)

Place column

A structural column standing on its level: position = centre of its foot (plan mm), shape rect (width × depth) or round (width = diameter), default 300 × 300 mm and the level's floor-to-floor height. rotation in degrees counter-clockwise. Cut solid in plans and sections.

Input parameters:

- `clamp` (boolean)
- `depth` (number)
- `height` (number)
- `level` (string)
- `name` (string)
- `position` (object, required): Plan point in mm (x east, y north), relative to its level
- `rotation` (number)
- `shape` (string)
- `width` (number)

### `solid_operation` (~143 tokens)

Solid tools (booleans)

Boolean on closed objects, by id (elements or other objects): union (merge), subtract (the first minus the others, which are removed), trim (the same, the others kept) or intersect (only the overlap). The first id is kept and becomes a plain mesh (it loses parametric data, so walls, slabs, roofs, stairs and columns can only cut, not be cut). A door or window used to cut cuts its rough opening and stays, e.g. to open an imported wall. Objects that aren't closed solids are refused. Returns the result's id.

Input parameters:

- `ids` (array, required): The first is kept
- `operation` (string, required)

### `paint_surface` (~255 tokens)

Paint surfaces

Put a finish (list_finishes) on surfaces of one or more elements, as one undo step. surface by kind: room — walls (every wall face inside the room), floor (its floor slab), ceiling (the underside of the slab above); wall — left, right (seen walking from its start to its end) or both; slab — top or underside; roof — roofing or gables; stair — flights or rails; column, furniture, door, window — all, or a part name (list_finishes with element lists them). Default: a room's walls, a wall's both sides, a slab's top, otherwise all. A wall face is one surface along its whole length: painting one room's walls also colours that face where the wall continues past the room. Asset library models ("ph:…") keep their own materials. scale multiplies the tile size (2 = pattern twice as big); rotation turns the pattern (90 for boards or tiles running the other way).

Input parameters:

- `finish` (string, required): Finish id from list_finishes
- `ids` (required): Element or room id(s)
- `rotation` (number): Degrees
- `scale` (number)
- `surface` (string)

### `set_sky` (~180 tokens)

Set the sky

The project's sky (list_skies): an HDRI environment that lights the model with realistic reflections and ambient light and can show behind it. id "none" goes back to the default lighting. rotation (degrees) turns it, e.g. to put the sunset behind the building; intensity is the lighting strength (1 = as photographed, 0–5); background false lights the model without showing the sky; blur (0–1) softens the background. Settings you leave out keep their current values. Saved with the project; one undo step. Works alongside set_sun (direct sunlight and shadows).

Input parameters:

- `background` (boolean)
- `blur` (number)
- `id` (string): Sky id, or "none"; omit to adjust the current sky
- `intensity` (number)
- `rotation` (number)

### `save_view` (~42 tokens)

Save the current view

Save the user's current camera as a named view (for presenting, image exports and share links). Set it up first with set_camera.

Input parameters:

- `name` (string, required)

### `create_tour` (~285 tokens)

Create walkthrough tour

A walkthrough tour, the way architects draw it: a `path` of points on the plan (mm, x east, y north) that the camera travels through along a smooth curve, at each point's camera `height` above its level's floor and `speed` (m/s) to the next point, pausing where `pause` is set. The camera looks along the path, or turns to a point's `lookAt` near it. Keep paths inside rooms and through door openings (not through walls): a point a metre outside the front door, one just inside, then the middle of each main room; pause 1–2 s where there is something to see. For an opening shot, start with an aerial point (height 15000+, speed 4–8). Alternatively `stops`: saved views or eye/target cameras with travel/hold seconds. `walk`: let visitors walk around from a spot on a floor. Check with list_tours and capture_view.

Input parameters:

- `fov` (number): Field of view for path tours, degrees (default 60)
- `loop` (boolean)
- `name` (string)
- `path` (array): The camera path (preferred)
- `stops` (array): Instead of a path: camera stops
- `walk` (object): Let visitors walk around from here

### `update_tour` (~100 tokens)

Update walkthrough tour

Change a tour (id or name): name, loop, fov, walk (null: no walking), path (replaces all points; same format as create_tour) or stops.

Input parameters:

- `fov` (number)
- `loop` (boolean)
- `name` (string)
- `path` (array)
- `stops` (array)
- `tour` (string, required): Tour id or name
- `walk`

### `delete_tour` (~30 tokens)

Delete walkthrough tour

Delete a tour (id or name). Its share link stops working.

Input parameters:

- `tour` (string, required)

### `share_tour` (~82 tokens)

Share walkthrough tour

Publish a tour as a player-only link (play/pause/speed, optional walking, project details; nothing else) and return it. The user is asked to allow it first, and the project must be signed in to the cloud. The link updates on every cloud save. Set the project details with set_project_details first.

Input parameters:

- `tour` (string, required)

### `set_project_details` (~63 tokens)

Set project details

The details shown with shared tours: architect, client, location, description (plain text). Levels and floor area are added automatically.

Input parameters:

- `architect` (string)
- `client` (string)
- `description` (string)
- `location` (string)

### `create_level` (~50 tokens)

Add level

An empty level on top of the building (or below it). height = floor to floor, mm.

Input parameters:

- `below` (boolean)
- `height` (number)
- `name` (string)

### `copy_level` (~52 tokens)

Copy level above

Copy a level (walls, doors, windows, slabs, furniture, room tags) to a new level on top of the building — the quick way to start the next storey.

Input parameters:

- `level` (string, required)

### `remove_elements` (~56 tokens)

Delete elements

Delete elements by id (a wall takes its doors and windows with it). Deleting a level, or more than 10 elements, asks the user in Stori3D first — tell them why.

Input parameters:

- `ids` (array, required)

### `set_properties` (~62 tokens)

Set custom properties

Set custom property values on an element (null clears one). Values are checked against the project's definitions (types, choices). Setting data on an untagged room tags it and returns its new id.

Input parameters:

- `id` (string, required)
- `values` (object, required)

### `define_property` (~90 tokens)

Define custom property

Add or replace a project property definition: name, type (text, number, boolean, choice), optional unit, choices (for choice), kinds (which element kinds get it; omit for all).

Input parameters:

- `choices` (array)
- `description` (string)
- `kinds` (array)
- `name` (string, required)
- `type` (string, required)
- `unit` (string)

### `remove_property` (~27 tokens)

Remove custom property

Remove a property definition (values already on elements are kept).

Input parameters:

- `name` (string, required)

### `batch` (~131 tokens)

Batch of changes

Several changes as ONE undo step, all or nothing: if any operation fails, none are applied and the error says which. Each operation is { tool, args } using update_element, create_walls, create_room, place_opening, place_furniture, place_column, paint_surface, set_sky, save_view, create_level, copy_level, set_properties, define_property or remove_property. Use it for multi-step edits the user would think of as one change.

Input parameters:

- `label` (string): Short name for the undo step, e.g. "Furnish bedroom"
- `operations` (array, required)

### `undo` (~34 tokens)

Undo

Undo your own last change (only if the latest step in Stori3D's history is an AI change — never the user's).

## Diagnostics

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

## Score history

- 2026-11-05: 70
- 2026-11-04: 69
- 2026-11-03: 69
- 2026-11-02: 68
- 2026-11-01: 68
- 2026-10-31: 68
- 2026-10-30: 67
- 2026-10-29: 67
- 2026-10-28: 66
- 2026-10-27: 66
- 2026-10-26: 65
- 2026-10-25: 65
- 2026-10-24: 64
- 2026-10-23: 64
- 2026-10-22: 63
- 2026-10-21: 60
- 2026-10-20: 60
- 2026-10-19: 60
- 2026-10-18: 60
- 2026-10-17: 60
- 2026-10-16: 60
- 2026-10-15: 60
- 2026-10-14: 60
- 2026-10-13: 29
- 2026-10-12: 29
- 2026-10-11: 29
- 2026-10-07: 14

## Common questions

### What is the Stori3D (renamed: use stori3d-mcp) server?

Stori3D (renamed: use stori3d-mcp) is listed in the public MCP registry as io.github.richy7734/nexus3d-mcp. Renamed: use io.github.richy7734/stori3d-mcp. This old name keeps existing setups working. This page covers its npm package (nexus3d-mcp).

### Is the Stori3D (renamed: use stori3d-mcp) server safe to use?

Stori3D (renamed: use stori3d-mcp) scores 70 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. 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 Stori3D (renamed: use stori3d-mcp) server expose?

Stori3D (renamed: use stori3d-mcp) exposes 45 tools: connect, status, project_summary, list_elements, get_element, and 40 more. Their descriptions and schemas cost roughly 4,497 tokens of context every time the server is loaded.

### Is the Stori3D (renamed: use stori3d-mcp) server still maintained?

Stori3D (renamed: use stori3d-mcp) 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.

## Links

- npm package: https://www.npmjs.com/package/nexus3d-mcp
- Socket report: https://socket.dev/npm/package/nexus3d-mcp
- Website: https://nexus3d-site.web.app/mcp
- Changelog RSS feed: https://verifymcp.io/servers/richy7734-nexus3d-mcp/nexus3d-mcp.xml
- Changelog JSON feed: https://verifymcp.io/servers/richy7734-nexus3d-mcp/nexus3d-mcp.json
- HTML version of this page: https://verifymcp.io/servers/richy7734-nexus3d-mcp/nexus3d-mcp
