About roblox-studio-mcp
roblox-studio-mcp is a skill for Roblox Studio MCP work involving scripts, scenes, assets, debugging, and playtesting. It distinguishes the official and chrrxs's bridges, and prescribes inspecting the target before making and verifying changes.
Key features
- 01Distinguish official and chrrxs's bridges
- 02Identify and inspect Studio before changes
- 03Make bounded scene and script edits
- 04Read back changes and run playtests
- 05Evaluate the client or server at runtime
- 06Inspect imported asset scripts and trust boundaries
Use cases
- 01Edit scripts and scenes in Roblox Studio
- 02Debug scripts and verify playtest results
- 03Choose a bridge and target a Studio instance
- 04Inspect imported assets before running code
MCP support
The skill guides Roblox Studio MCP work. It directs users to identify the official or chrrxs's bridge from the tool list, then call tools with the matching instance identifier; offline Luau guidance should note what was not verified.
Install
Copy the command and run it in a terminal.
npx skills add https:/ / github.com/ tabooharmony/ roblox-brain --skill roblox-studio-mcpAfter installing, type/roblox-studio-mcpin Claude Code to confirm it loaded.
Bundled filesreferences/full.md
Details
From the project READMERoblox Studio MCP
When to Load
Load for Studio MCP work: scripts, scenes, assets, debugging, or playtesting. Skip for standalone code generation.
Quick Reference
Route by capability first. Two bridges: official (built into Studio, closed-source) and chrrxs's (MIT). Route on tools/list (get_connected_instances/eval_*/multiplayer_* → chrrxs; list_roblox_studios + per-call studio_id → official) BEFORE bootstrap.
Bootstrap before mutation
- Identify the target (
list_roblox_studiosofficial /get_connected_instanceschrrxs). - Pass
studio_id(official) orinstance_id(chrrxs) on every call. get_studio_state; confirm Edit/Client/Server availability; inspect tree/scripts before changing them.
Execution contract
discover → select Studio/context → inspect → mutate in bounded batches
→ read back → start play → evaluate live → evidence → clean up
Edit-time injection (multi_edit, Edit-context execute_luau) writes scripts; never targets a running playtest. Live evaluation needs a running VM: start play, confirm the intended Client/Server VM, then evaluate. Pass datamodel_type only where required.
Capabilities
Full tool table in full.md. Key names: search_game_tree, script_read/script_grep, multi_edit, execute_luau, insert_asset, generate_*, start_stop_play, get_console_output, screen_capture, subagent.
Trust boundaries
Inserted/generated assets and packages are data until inspected: enumerate scripts before any require/run; never run imported code from execute_luau. Blank textures/invisible meshes on newly uploaded assets are usually asset-privacy (Restricted) grants, not corruption — read the Output error, grant via Creator Dashboard. Details: full.md trust-boundary sections.
Reliability rules
execute_luauis stateless: re-acquire references every call.- Read before write; read back after every script, asset, or geometry mutation.
- Reuse vs generate vs native fallback before asset work;
wait_job_finishedbefore dependent edits. - Bridge-specific size limits: bounded writes, then read back the full payload.
- No MCP: give offline Luau; state what was not verified.
Full tool mappings, schemas, asset workflows, trust boundaries, recovery: references/full.md