@el4cteo/rbx-studio-mcp 0.4.5 → 0.4.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # Roblox Studio MCP
2
2
 
3
- Let an AI agent drive Roblox Studio: read your place, edit scripts, run playtests, take screenshots. 30 tools. MIT.
3
+ Let an AI agent drive Roblox Studio: read your place, edit scripts, build and generate geometry, run playtests, take screenshots. 30 tools. MIT.
4
4
 
5
5
  ![The Studio MCP panel: a live activity band, a call log with latencies, and the theme drawer open](docs/rbx-studio.png)
6
6
 
@@ -133,6 +133,12 @@ codex mcp add roblox-studio -- npx -y @el4cteo/rbx-studio-mcp
133
133
 
134
134
  Port defaults to **44755** — change with `--port` or `ROBLOX_STUDIO_MCP_PORT`, and match it in the plugin widget. Loopback only.
135
135
 
136
+ If anything looks wrong, run the health check. It reports Node, the plugin install, the bridge, and every connected Studio, and ends each line with the fix:
137
+
138
+ ```bash
139
+ npx -y @el4cteo/rbx-studio-mcp doctor
140
+ ```
141
+
136
142
  ## Multiple agents
137
143
 
138
144
  Register the server in as many clients as you like. No extra configuration.
@@ -151,11 +157,15 @@ Each agent keeps its own target, so two agents can work on two open places. Suba
151
157
  | **Run & debug** | `playtest` `execute_luau` `character` `input` `console` `debug` `performance` |
152
158
  | **Look** | `screenshot` `viewport` `device` |
153
159
 
154
- Gotchas: during a playtest two sessions connect — pass `studioId` explicitly and use the edit session for anything that must persist. `device` emulation persists until `device op="stop"`.
160
+ `geometry` holds every mesh operation: `union`, `subtract`, `intersect`, `fragment`, `segment` (cut a mesh into parts you name) and `sweep` (the volume a part moves through, and what it would hit).
161
+
162
+ `generate` builds 3D models from a prompt using Roblox's Cube model — `Body1` for props, `Car5` for a body and four named wheels a script can drive, or your own part names.
163
+
164
+ Gotchas: during a playtest two sessions connect — pass `studioId` explicitly and use the edit session for anything that must persist. `device` emulation persists until `device op="stop"`. Generated meshes are edit-mode only; their content reads as empty inside a playtest.
155
165
 
156
166
  ## The console panel
157
167
 
158
- Every call is logged with its latency, above a trace of the last forty.
168
+ Every call is logged with its latency, above a trace of the last forty. The badge names which agents are connected, with process id and uptime.
159
169
 
160
170
  Hover the tab on the right edge for eight themes — Lattice, Observatory, Orbit, Void, Nebula, Aurora, Phosphor, Blueprint. Each redraws the activity band, not just its colours. Your pick is remembered.
161
171
 
@@ -182,11 +192,12 @@ Each batch is one **Ctrl+Z**, and all-or-nothing: a failed match leaves the plac
182
192
 
183
193
  - **Push, not poll.** 50 sequential round trips average 13.6 ms, against 25.8 ms polling — reproduce with `node scripts/latency.mjs --count 50 --compare`.
184
194
  - **Safe script edits.** Writes go through `ScriptEditorService:UpdateSourceAsync`, so your unsaved editor buffer survives.
195
+ - **Edits can refuse to be stale.** `script_read` prints a `rev`; pass it back and the write is rejected if anyone changed the script meanwhile, instead of landing on lines that moved.
185
196
  - **One Ctrl+Z per call.** Every batch is a single undo recording.
186
197
  - **Property names are checked** against the running engine's API dump, so a typo comes back as `Anchorred` → `Anchored` instead of a runtime error.
187
198
  - **~16k tokens of schema**, cursor-paged and capped, with `detail: concise | standard | full`.
188
199
 
189
- Not built here: terrain, AI mesh and material generation.
200
+ Not built here: terrain, material generation.
190
201
 
191
202
  ## Security
192
203
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@el4cteo/rbx-studio-mcp",
3
- "version": "0.4.5",
3
+ "version": "0.4.6",
4
4
  "description": "MCP server for Roblox Studio. 29 tools, push-based SSE bridge, editor-safe script edits, one-step undo.",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -9,7 +9,7 @@
9
9
 
10
10
  local Config = {}
11
11
 
12
- Config.PLUGIN_VERSION = "0.4.5"
12
+ Config.PLUGIN_VERSION = "0.4.6"
13
13
 
14
14
  -- Fingerprint of plugin/src, stamped in by scripts/build-plugin.mjs. The server
15
15
  -- computes the same hash from its own copy of the sources and compares, so a