Releases: EL4CTEO/rbx-studio-mcp
Release list
v0.2.0
A pass on console accuracy and a few real bugs found while doing it.
Fixed
geometry(union/subtract/intersect) could return a path that didn't exist.inspectandmodifylogged an internal probe call as a bare, misleading "Inspect X".debug clearwith just apath(noline) always failed instead of clearing that script.- The console described ~10 ops (
input,device.*,api.*,perf.scene,studio.transport, capture internals) by raw wire name only. playtest stop's teardown poll logged as "Check the playtest" with no "stop" line anywhere.- The plugin's protocol version was sent but never checked; a rejected handshake showed a generic error instead of the real reason.
Added
collisioncan nowremovea group — previously created-only, permanent for the place.create,modify,movedescribe what actually changed (class, properties, rename), not just that something did.
v0.1.8
Found by actually watching the console during a live QA pass, immediately after 0.1.7 shipped: playtest op="stop" polls the surviving session every 400ms while the test tears down, and every one of those polls logged as "Check the playtest" — indistinguishable from an agent asking again for no reason, with no "stop" line anywhere to explain it (the real stop went to the session that is by then gone, and its console went with it).
Fixed
- The teardown poll now logs as "Wait for the playtest to stop", not "Check the playtest".
v0.1.7
The Studio console is the only feedback channel the plugin has — this is about making it tell the truth.
Fixed
- The console showed the raw wire name for ten operations instead of a description.
input.send— the one that fires on every keypress and click during a live playtest — read as "Input send" instead of "Press E" or "Click (320, 480)". Also fixed:device.*,api.*,perf.scene,capture.playtestId/decode,studio.transport. - A rejected handshake showed a generic "handshake failed" instead of the server's actual reason. The bridge already sends a real message on every refusal (
missing header,no Studio connected, etc.); the plugin was discarding it and showing a fallback string for any HTTP response that wasn't a plain success.
Added
- The plugin now announces its wire-protocol version, and a mismatch is reported the same way a stale build already is — through
studio_statusandlist_studios, not a silent failure. Existing plugins are unaffected: the version has never moved, so nothing changes until it does.
v0.1.6
Documentation and error-message corrections. No behaviour change.
Fixed
NO_STUDIOandlist_studioserrors pointed agents at a nonexistent "Plugins tab -> Studio MCP -> Connect" command. The plugin connects automatically on load; the messages now say so and point at the reconnect button in the console.- README called the beta "API debugger Luau" in one place; its real name is "Debugger Luau API".
Changed
- README and package description rewritten shorter. The tagline no longer implies every write is undoable —
execute_luauwrites are not recorded.
v0.1.5
Corrects two things 0.1.4 got wrong about the Debugger Luau API beta.
Fixed
debugno longer refuses breakpoints with a message naming nothing. The engine says onlyFailed to execute AddBreakpoint request. When every breakpoint in a call is refused, the error now points at the beta as the usual cause — it is off by default and needs a Studio restart — and at the other likely cause, a line that never runs, such as areturnor anend.
Removed
studio_statusno longer reportsdebuggerBeta. 0.1.4 added it and it never worked. Two probes were tried and measured, and neither varies with the beta: with it OFF,GetService("ScriptDebuggerService"),FindService, assigningOnStoppedandEnum.DebuggerResumeTypeall still succeed; with it ON,ReflectionServicestill does not list the class. The only reliable test isAddBreakpointitself, which cannot be run speculatively on someone's script to answer a status question. A field that always reads "fine" is worse than no field, so it is gone rather than guessed at a third time.
Changed
- Corrected a claim in the 0.1.4 notes. They said the plugin could fail to load entirely when the beta was off, assuming
GetServicethrows for an unregistered service. It does not — that was written without being checked. The guard added in 0.1.4 stays as insurance on a call that runs before any tool is invoked, but it fixed no observed crash.
v0.1.4
Makes the Debugger Luau API beta impossible to miss, and stops it from being able to break anything else.
Fixed
- The plugin could fail to load entirely when the Debugger beta was off.
ScriptDebuggerServiceis only registered when that beta is on, and the handler asked for it at plugin start with no guard. IfGetServicethrew there, every tool went down with it, not justdebug— and silently, since a plugin that never loads never connects. The lookup is now guarded and a missing service is just a missing feature.
Added
studio_statusreportsdebuggerBeta: "off"when the beta is disabled, so an agent finds out before callingdebugrather than by failing. Absent when it is on, so the usual answer costs nothing.CHANGELOG.md, and the release workflow now builds each release body from it. A tag whose version has no section fails the workflow instead of publishing an empty release.
v0.1.3
v0.1.2
v0.1.1
v0.1.0
Full Changelog: https://github.com/EL4CTEO/roblox-studio-mcp/commits/v0.1.0