Releases: KyberWolffe/roblox-studio-mcp-multisession
Release list
Roblox Studio MCP Multisession 0.4.0-rc.7
Roblox Studio MCP Multisession 0.4.0-rc.7
0.4.0-rc.7 adds bounded transactional script creation and exact transaction-owned cleanup to the explicit-session Multisession MCP. It corrects the successful-creation cleanup-admission defect found in the rejected, unpublished rc.6 candidate.
Exact release identity
- Tag:
v0.4.0-rc.7 - Commit:
63dd793f385ebb9c992fd325185acae07c27aa21 - Source tree:
f9f4921e779c4d46a4cef8bb1e3af3053337d947 - Platform: native Apple-Silicon macOS
| Release asset | SHA-256 of uploaded file |
|---|---|
roblox-studio-mcp-v2-0.4.0-rc.7-macos-arm64.tar.gz |
2f116b0a072c59513e3a0f63857c2f0559a17ead5a8d06bb9d525ac00d59d7b8 |
roblox-studio-mcp-v2-0.4.0-rc.7-macos-arm64.tar.gz.sha256 |
dfce91f45171396820d49d22a2c5f55b7ccef356bd66069bc7879e2c5612e362 |
roblox-studio-mcp-v2-bootstrap-0.4.0-rc.7.py |
e4f35d878024a3c73d6276bc512236e1cad8637c98894da976b233d556cd346b |
roblox-studio-mcp-v2-bootstrap-0.4.0-rc.7.py.sha256 |
17a3638a5b972532a520a02933c660971ec9799b26b4c369948b39c13df5236e |
SHA256SUMS |
ab023fbab1198c704006287024705cb57a599b478a235c767d398fa9a86ca14e |
Transactional script creation and cleanup
A revision-protected multi-edit transaction can now combine edits to existing exact script paths with expected-absent creation of bounded Script, LocalScript, or ModuleScript instances beneath an existing exact parent. Host and Studio preflight every target before mutation, reject stale revisions, duplicate or ambiguous paths, invalid class/name/source data, and preserve deterministic ordering and identity-bound prepare/apply receipts.
A successful creation returns a separate ten-minute cleanup authorization. studio_cleanup_multi_edit_v2 accepts only the original transaction ID, apply-receipt SHA-256, and cleanup-authorization SHA-256; callers cannot choose paths or deletion targets. Cleanup may remove only exact, unchanged instances proven created by that transaction in the same Studio/client/document/generation. Changed, moved, renamed, replaced, or decorated content is preserved. Expiry, reconnect, replay, wrong-session reuse, or impossible metadata fails closed. Direct and background-job results use the same identity and receipt fences.
Qualification
The exact source and archive passed 540 automated tests, deterministic double-build and archive audit, isolated install lifecycle, native Studio compilation/load/registration, same-session FIFO, concurrent cross-session isolation, adversarial CAS/replay/reconnect/expiry tests, and byte-for-byte rc.5 rollback proof.
The bounded live gate used only Custom MCP Test Place 1 (119127323538055) and Custom MCP Test Place 2 (126199173733750). Mixed edit/create and concurrent peer-job creation, expected-absent rejection, wrong-session reuse rejection before dispatch, exact read-back, source restoration, and transaction-owned cleanup all passed. The durable installed-path sanity then resolved both as distinct client/document identities in Edit with zero pending, uncertainty, recovery, or nonterminal jobs.
Machine-bound Studio plugin
The portable archive contains the exact renderer, template, and operation handlers; installation renders a host-specific .rbxmx with local broker identity and credentials. Its whole-file hash is therefore expected to differ across machines and from the isolated live-gate plugin.
For this qualification, the isolated plugin SHA-256 was fdb7de4e84322e06687736d7fd984f77170f22802bc49456232342ac9aeb4eb7; the installed host-specific plugin SHA-256 was 4b49c55f55df60f94c326e3f5c5b021e41a6041b39c4d1a49de466adb42d662a. The installed doctor and registration gate bound that render to the archive-manifest renderer (deb82a318f692ac0e0dcfeae59ab7e73320df0adabd8538d487669e06663a130), template (2ee26b4f2229ad4f11606ebd3826d6b8b9bfc321bc020a433b92e4fb020a8da7), and handlers (fbb1761fd17d8f55aca0a49101d3de4eab4501fe7bca23d3515f07bb9fea89e6). Neither plugin file is a portable release asset, and another correct installation will normally have a different plugin hash.
Install or upgrade
Fully close Roblox Studio before install, update, or rollback, handling any Save/Don't Save prompts yourself. Restart Codex and reopen Studio afterward.
For a fresh install or reinstall of the same version only, download and verify the exact bootstrap before running it:
/bin/bash -ceu 'd="$(mktemp -d)"; f="$d/roblox-studio-mcp-v2-bootstrap-${3#v}.py"; curl --fail --location --output "$f" "https://github.com/$1/$2/releases/download/$3/${f##*/}"; printf "%s %s\n" "$4" "$f" | shasum -a 256 --check; python3 "$f" --owner "$1" --repo "$2" --tag "$3" --expected-sha256 "$5"; rm -- "$f"; rmdir -- "$d"' -- KyberWolffe roblox-studio-mcp-multisession v0.4.0-rc.7 e4f35d878024a3c73d6276bc512236e1cad8637c98894da976b233d556cd346b 2f116b0a072c59513e3a0f63857c2f0559a17ead5a8d06bb9d525ac00d59d7b8Do not use the bootstrap to replace a different installed Multisession version. Upgrade an installed rc.5 through its canonical manager so rc.5 remains the immediate rollback:
"$HOME/Library/Application Support/RobloxStudioMCPv2/bin/roblox-studio-mcp-multisession-manage" update \
--owner KyberWolffe \
--repo roblox-studio-mcp-multisession \
--tag v0.4.0-rc.7 \
--expected-sha256 2f116b0a072c59513e3a0f63857c2f0559a17ead5a8d06bb9d525ac00d59d7b8Rollback a retained rc.7-to-rc.5 installation with:
"$HOME/Library/Application Support/RobloxStudioMCPv2/bin/roblox-studio-mcp-multisession-manage" rollback \
--to-version 0.4.0-rc.5 \
--accept-current-version 0.4.0-rc.7Experimental boundary
Every operational tool requires an explicit studio_id; discovery is the only exception. There is no active/global/default Studio route and no silent v1 fallback. This feature does not add arbitrary Luau, general instance deletion, or asset operations.
Capability parity remains incomplete: twelve P0 rows remain partial or deferred, and multi_edit remains v2_partial. Roblox Studio provides no cross-script atomic transaction, so rc.7 uses explicit prepare/apply/receipt semantics and quarantines outcomes it cannot prove. Cleanup cannot delete pre-existing or changed content and cannot dispatch new deletion after its original deadline. This is an experimental prerelease, not a full-parity or stable-release claim.
Roblox Studio MCP Multisession 0.4.0-rc.5
Roblox Studio MCP Multisession 0.4.0-rc.5
Version 0.4.0-rc.5 is a public-name migration candidate. It carries forward
the corrected rc.4 Phase 2 behavior while changing the user-facing product and
Codex registration to names that describe the actual multi-window design.
The durable installed 0.4.0-rc.4 integration and its immutable restore
bundle remain the required immediate rollback target. The
0.3.0-rc.4 restore artifact remains older recovery history.
Publication and qualification
This exact candidate is published as an experimental prerelease:
- tag:
v0.4.0-rc.5; - commit:
923422254e95050f0fe66bacc0114e9ace2789c5; - source tree:
3e3713045821412b6a6bbe0a4db9e27ab7bb58e3; - Apple-Silicon archive SHA-256:
d279d1f6c9b3f075b176efd4e98e543053ccd0fff5e99a8be2d7f949012b559d; - bootstrap SHA-256:
e4f35d878024a3c73d6276bc512236e1cad8637c98894da976b233d556cd346b; SHA256SUMSSHA-256:
fa7339b2271f815e7e43bdd7a93008646bf062b701ddcf72f358c99b25924b4f.
The exact rendered plugin compiled in Studio, loaded and registered under the
canonical Codex name, and passed bounded explicit-session state, search, grep,
inspection, same-session serialization, cross-session isolation, and
revision-protected multi-edit routing gates. All 479 automated tests passed.
The retained 0.4.0-rc.4 package remains the immediate guarded rollback for
systems migrated from rc.4.
Canonical names
| Surface | Canonical rc.5 value |
|---|---|
| Human product | Roblox Studio MCP Multisession |
| Display/short name | Studio MCP Multisession |
| Codex server | Roblox_Studio_Multisession |
| Repository/release slug | roblox-studio-mcp-multisession |
The installer migrates only an exactly owned former
[mcp_servers.Roblox_Studio_v2] table. It snapshots and hash-binds the complete
pre-migration Codex configuration, writes
[mcp_servers.Roblox_Studio_Multisession], and verifies that exactly one of
the two registration names is active. An unowned, drifted, dual-active, or
otherwise ambiguous configuration fails closed for review.
Codex must be restarted after install, update, rollback, or repair changes the
registration. Studio windows must be closed before a plugin-file transaction
and reopened afterward; the user remains responsible for any Save or Don't
Save prompt.
Legacy-filename bridge
Rc.5 intentionally does not rename compatibility-sensitive physical or
protocol identities:
- public tool names ending in
_v2and authenticated/v2routes; - Python package and internal wire identifiers;
~/Library/Application Support/RobloxStudioMCPv2;~/Documents/Roblox/Plugins/StudioMCPv2SideBySide.rbxmx;- canonical
roblox-studio-mcp-multisessionlauncher/manager names are added,
while the formerroblox-studio-mcp-v2launcher and
roblox-studio-mcp-v2-managemanager remain compatibility aliases; roblox-studio-mcp-v2-*archive/bootstrap filenames and existing manifest
formats.
This is a deliberate bridge, not incomplete branding. The 0.4.0-rc.4
bootstrap, archive manifests, transaction journal, retained package, and
rollback proof all bind exact legacy filenames. Preserving them allows the
normal guarded update path to activate rc.5 and allows one-step rollback to
restore 0.4.0-rc.4 byte-for-byte. Rc.4 artifacts, tags, hashes, commands,
and provenance records remain immutable.
Functional and safety boundary
This candidate changes public naming and registration ownership only. It does
not add a global/default Studio selector, silently invoke v1, widen the
capability catalog, rename tools or routes, or weaken per-session credentials,
locks, correlation, generation fencing, uncertainty quarantine, or Play
two-phase semantics.
Every operational tool still requires an explicit studio_id; discovery is
the sole exception. Capability parity remains incomplete and the release must
remain marked as a prerelease. The qualification above applies only to the
exact tagged source and fixed release digests; it is not a full-parity claim.
Roblox Studio MCP v2 0.3.0-rc.2
Roblox Studio MCP v2 0.3.0-rc.2
This release candidate packages the validated v2 0.2.0 architecture for
repeatable installation and update from a versioned GitHub Release. It targets
native Apple Silicon macOS only.
This is an experimental prerelease, not a claim that all 25 modern v1 tools are
implemented. The formal matrix records 12 P0 gaps as partial or deferred.
Missing capabilities fail closed and never route through a global v1 active
Studio. See V1 capability parity.
Highlights
- Authenticated Python loopback clients now ignore all ambient HTTP proxy
settings and refuse redirects, so local bearer credentials cannot be routed
through a proxy or forwarded away from the exact broker endpoint. - Broker startup skips reverse-DNS lookup for the already validated literal
loopback address, avoiding resolver-dependent startup delays on macOS. - GitHub CI suppresses Python bytecode for every project command and audits the
source tree before and after tests. - Multiple Studio windows register as distinct authenticated sessions.
- Every operational call names an exact
studio_id; there is no global active
Studio selection or one-Studio fallback. - Work for different sessions can run concurrently. Conflicting writes and
Play/Stop transitions within one session serialize. - The side-by-side Studio plugin uses documented plugin-security lifecycle
APIs and proves return to Edit mode before reporting Stop complete. - Users name a place or project normally. Codex resolves it through v2
discovery and handlesstudio_idinternally, asking only when duplicate or
unsaved windows are genuinely ambiguous. - The installer preserves the existing
Roblox_StudioMCP entry and plugin as
the v1 fallback. - Credentials are generated per machine and are excluded from source and
release archives. - Updates are pinned, checksum-verified, staged, validated, and recoverable.
- Upstream Roblox tool-catalog changes are diffed and review-gated; unknown
operation shapes remain quarantined.
Release assets
roblox-studio-mcp-v2-0.3.0-rc.2-macos-arm64.tar.gzroblox-studio-mcp-v2-0.3.0-rc.2-macos-arm64.tar.gz.sha256roblox-studio-mcp-v2-bootstrap-0.3.0-rc.2.pyroblox-studio-mcp-v2-bootstrap-0.3.0-rc.2.py.sha256SHA256SUMS
The final published digests must match the locally reproduced
SHA256SUMS. Release archives contain source and standard-library Python/Luau,
not machine credentials or native executables.
Upgrade notes
The installed manager accepts a selected version tag:
"$HOME/Library/Application Support/RobloxStudioMCPv2/bin/roblox-studio-mcp-v2-manage" \
update \
--owner KyberWolffe \
--repo roblox-studio-mcp-multisession \
--tag v0.3.0-rc.2 \
--expected-sha256 61c88ef0c582917b3d4606439d027f7c79764b8288a100f1cd7645525fc03328For a private repository, download the archive and checksum through an
authenticated GitHub client, then use the manager's offline --archive,
--checksum-file, and --expected-sha256 options. Tokens are never passed to
or stored by v2.
Restart Codex after an install or version switch so it reloads MCP schemas.
Reload local Studio plugins or restart open Studio windows after plugin
changes. Enable Allow HTTP Requests for each place that should register
with the loopback broker. A disabled place stays safely unregistered.
V1 remains installed for deliberate use when v2 lacks an operation, but v2
never silently falls back. Do not use v1's selection-based routing for
concurrent Studio tasks.
The installed launcher records the Python interpreter used at install time. If
that interpreter is moved by a Python or package-manager update, rerun repair
with a current Python 3.9+ to repin it.
Evidence boundary
The 0.2.0 broker/plugin operation surface and lifecycle behavior were validated
with two explicitly authorized disposable Studio places before this repository
was prepared. The 0.3.0-rc.2 work changes packaging, architecture enforcement,
proxy isolation, update, audit, and CI behavior. Its release proof runs in an
isolated temporary home and does not open Studio or repeat live place edits.
Known limitations
- Intel Macs and Rosetta are unsupported and rejected before installation
mutation. - Session and job state is in memory; after a clean broker restart, callers
rediscover freshstudio_idvalues. - One local MCP principal is installed per user;
studio_idis routing
context, not a multi-user authorization identity. - Studio HTTP requests must be enabled for the local plugin to reach the fixed
loopback broker. - Screenshot and Scriptable
InputBindingoperations remain subject to
Roblox Studio permissions and platform support.