# io.github.Justice219/roblox-studio-mcp (npm · @jamesworkbenchcrm/roblox-studio-mcp)

Connect AI assistants to Roblox Studio — manipulate the DataModel with 14 tools

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

## Components

- npm · `@jamesworkbenchcrm/roblox-studio-mcp`: 70/100 (this document), [markdown](https://verifymcp.io/servers/justice219-roblox-studio-mcp/jamesworkbenchcrm-roblox-studio-mcp.md), [page](https://verifymcp.io/servers/justice219-roblox-studio-mcp/jamesworkbenchcrm-roblox-studio-mcp)

## Channel facts

- Registry: `npm`
- Package: `@jamesworkbenchcrm/roblox-studio-mcp`
- Version: `1.0.1`
- 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-08-03.

- **Supply Chain Security**: 87/100
  - No malware found by supply-chain analysis.
  - Only part of the dependency tree could be resolved (123 of 125), so this covers what we could see, not the whole tree.
  - No install/post-install scripts declared.
  - Only part of the dependency tree could be resolved (123 of 125), so this covers what we could see, not the whole tree.
- **Provenance & Transparency**: 45/100
  - Source repository is publicly reachable at the declared URL.
  - Provenance check failed: no build-provenance attestation is published.
  - Clear OSI-approved license (MIT).
  - Actively maintained (last published 172 days ago).
  - Disclosure check failed: no security disclosure policy was found in the source repository.
- **Schema Quality & AI Usability**: 77/100
  - AI-judged instruction clarity (excellent).
  - Tool/resource definitions use about 747 tokens (~53/item across 14 items; 14 tools + 0 resources), lean.
  - 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**: 100/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 100% of tool parameters carry a description.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

## Install

### Claude

```bash
claude mcp add justice219-roblox-studio-mcp -- npx -y @jamesworkbenchcrm/roblox-studio-mcp
```

### Codex

```bash
codex mcp add justice219-roblox-studio-mcp -- npx -y @jamesworkbenchcrm/roblox-studio-mcp
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "justice219-roblox-studio-mcp": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "@jamesworkbenchcrm/roblox-studio-mcp"
      ],
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add justice219-roblox-studio-mcp --command npx --arg -y --arg @jamesworkbenchcrm/roblox-studio-mcp
```

### Hermes

```yaml
mcp_servers:
  justice219-roblox-studio-mcp:
    command: "npx"
    args: ["-y", "@jamesworkbenchcrm/roblox-studio-mcp"]
```

### Other

```json
{
  "mcpServers": {
    "justice219-roblox-studio-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@jamesworkbenchcrm/roblox-studio-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-08-03 (score 70, +1)

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

### 2026-08-02 (score 69, +48)

- [security regression] Provenance: unverified → fail
- [security improvement] Malware scan: unverified → pass
- [security improvement] Install scripts: unverified → pass
- [security improvement] Known CVEs: unverified → partial
- [functional improvement] MCP protocol: unverified → pass
- [functional improvement] Stability: unverified → 0.23
- [functional improvement] Schema quality: unverified → excellent
- [functional improvement] License: unverified → pass
- [functional improvement] Maintenance: unverified → pass
- [functional improvement] Dependency health: unverified → partial
- [functional] Licence: MIT

### 2026-07-31 (score 21, −7)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-30 (score 28, −18)

- [security regression] Malware scan: pass → unverified

### 2026-07-27 (score 46)

First indexed and scored.

## MCP tools (14)

### `get_descendants` (~72 tokens)

Get all descendants of an instance at the given path, with their classNames and full paths

Input parameters:

- `maxDepth` (number): Maximum depth to traverse (default: unlimited)
- `path` (string, required): Dot-notation path to the instance (e.g. "game.Workspace", "game.ServerStorage.Items")

### `get_children` (~41 tokens)

Get immediate children of an instance at the given path

Input parameters:

- `path` (string, required): Dot-notation path to the parent (e.g. "game.Workspace")

### `get_properties` (~60 tokens)

Get serialized properties of an instance (with _type tags for Vector3, CFrame, etc.)

Input parameters:

- `path` (string, required): Dot-notation path to the instance
- `properties` (array): Specific property names to read (default: all readable properties)

### `find_instances` (~101 tokens)

Search for instances by className and/or name pattern

Input parameters:

- `className` (string): Class name to filter by (e.g. "Part", "RemoteEvent")
- `maxResults` (number): Maximum number of results to return (default: 100)
- `namePattern` (string): Lua pattern to match instance names (e.g. "^Button")
- `searchRoot` (string): Dot-notation path to search from (default: "game")

### `get_services` (~25 tokens)

List all services currently in the DataModel (Workspace, ReplicatedStorage, etc.)

### `get_selection` (~17 tokens)

Get the currently selected objects in Roblox Studio

### `create_instance` (~121 tokens)

Create a new Instance with the given className under the specified parent

Input parameters:

- `className` (string, required): Roblox class name (e.g. "Part", "RemoteEvent", "Folder")
- `parent` (string, required): Dot-notation path to parent (e.g. "game.Workspace", "game.ReplicatedStorage")
- `properties` (object): Map of property names to values. Complex types use _type tags: { Position: { _type: "Vector3", x: 0, y: 5, z: 0 } }

### `set_properties` (~43 tokens)

Set properties on an existing instance

Input parameters:

- `path` (string, required): Dot-notation path to the instance
- `properties` (object, required): Map of property names to new values

### `delete_instance` (~33 tokens)

Destroy an instance (and all its descendants)

Input parameters:

- `path` (string, required): Dot-notation path to the instance to destroy

### `clone_instance` (~52 tokens)

Clone an instance to a new parent location

Input parameters:

- `destinationParent` (string, required): Dot-notation path to the clone's new parent
- `sourcePath` (string, required): Dot-notation path to the instance to clone

### `move_instance` (~52 tokens)

Move (reparent) an instance to a new parent

Input parameters:

- `newParent` (string, required): Dot-notation path to the new parent
- `path` (string, required): Dot-notation path to the instance to move

### `set_selection` (~33 tokens)

Set the Roblox Studio selection to the given instances

Input parameters:

- `paths` (array, required): Array of dot-notation paths to select

### `insert_service` (~51 tokens)

Insert/get a service via game:GetService() (e.g. TeleportService, Teams)

Input parameters:

- `serviceName` (string, required): Service class name (e.g. "TeleportService", "Teams", "Chat")

### `execute_luau` (~46 tokens)

Execute arbitrary Luau code in the Studio plugin context. Returns the result of the last expression.

Input parameters:

- `code` (string, required): Luau source code to execute in the plugin context

## Diagnostics

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

## Score history

- 2026-08-03: 70
- 2026-08-02: 69
- 2026-08-01: 21
- 2026-07-31: 21
- 2026-07-30: 28
- 2026-07-28: 46
- 2026-07-27: 46

## Links

- npm package: https://www.npmjs.com/package/@jamesworkbenchcrm/roblox-studio-mcp
- Socket report: https://socket.dev/npm/package/@jamesworkbenchcrm/roblox-studio-mcp
- Repository: https://github.com/Justice219/roblox-studio-mcp
- Changelog RSS feed: https://verifymcp.io/servers/justice219-roblox-studio-mcp/jamesworkbenchcrm-roblox-studio-mcp/changelog.xml
- Changelog JSON feed: https://verifymcp.io/servers/justice219-roblox-studio-mcp/jamesworkbenchcrm-roblox-studio-mcp/changelog.json
- HTML version of this page: https://verifymcp.io/servers/justice219-roblox-studio-mcp/jamesworkbenchcrm-roblox-studio-mcp
