| roblox_get | Read-only queries against the Roblox Studio scene. Use the "action" parameter to select what to retrieve. Actions: "ping": Check plugin connection status and get place info. "tree": Get ASCII hierarchy tree. Params: root (path, default game), maxDepth (number). "search": Find instances by name/class. Params: query (substring), className, root, maxResults. "instance": Get detailed info about one instance. Params: path (required), depth (children levels, default 1). "properties": Get all readable properties. Params: path (required), properties (array of extra names). "descendants_summary": Class-count breakdown under a root. Params: root (default Workspace). "selection": Get the currently selected instances. Params: depth. "output_log": Read recent Output log entries. Params: maxEntries (default 50). "texture_info": Get texture and decal asset IDs for an instance and its descendants. Returns MeshPart TextureIDs, Decal/Texture asset IDs, and materials. Useful for understanding visual appearance without rendering textures in screenshots. Params: path (required), maxDepth (default 2).
|
| roblox_manage | Mutate instances in the Roblox Studio scene. Actions: "create": Create a new instance. Params: className (required), name, parent (path), properties (object). "create_multiple": Batch-create instances. Params: parent (default path), instances (array of {className, name, parent?, properties?}). "update": Update properties on an existing instance. Params: path (required), name, properties (object). "reset_pivot": Reset a Model's WorldPivot to its bounding box center, or a BasePart's PivotOffset to zero. Params: path (required). Use this when positioning/PivotTo is behaving unexpectedly — a stale WorldPivot far from the geometry is a common cause. Automatically done on toolbox insert, but useful for debugging. "delete": Destroy an instance. Params: path (required). "clone": Clone an instance tree. Params: path (required), name, parent. "reparent": Move an instance to a new parent. Params: path (required), newParent (required). "set_selection": Set the Studio selection. Params: paths (array of paths). "undo": Undo last action. "redo": Redo last undone action.
Property format: vectors as {X,Y,Z}, colors as {R,G,B} (0-1 range), booleans, strings, numbers. Example: {"Position": {"X":0,"Y":5,"Z":0}, "Size": {"X":4,"Y":1,"Z":4}, "Anchored": true, "Material": "Neon", "Color": {"R":1,"G":0,"B":0}} |
| roblox_script | Create, read, update, and execute Lua scripts in Roblox Studio. Actions: "create": Create a new script. Params: source (required), scriptType ("Script"|"LocalScript"|"ModuleScript"), name, parent, disabled. "read": Read a script's source. Params: path (required). "update": Update a script's source code. Params: path (required), source (required). "execute": Run a Lua snippet in Studio (server context). Returns the result or error. Params: source (required). Code runs in a function body — use 'return' to get values back.
Common parent locations: "ServerScriptService" (server scripts), "StarterPlayerScripts" (local scripts), "ReplicatedStorage" (modules). |
| roblox_scene | Control the camera and capture rendered viewport screenshots. Actions: "screenshot": Render a PNG image of what the camera currently sees. Returns an image you can analyze visually. Use it to verify placement, scale, orientation, and scene composition. No textures are rendered — use roblox_get action "texture_info" if you need texture/decal context. Params: maxParts (default 2000). "move_camera": Reposition the Studio camera. Two modes:
(A) Auto-frame an object: set focusInstance to an instance path (e.g. "Workspace.GasStation"). The camera automatically positions itself at a good distance and angle to see the entire object. Optional: angle (elevation in degrees, default 35), yaw (horizontal rotation in degrees, default 45).
(B) Explicit placement: set position {X,Y,Z} (where the camera IS in world space) and lookAt {X,Y,Z} (the world point the camera POINTS AT). Both must be provided and must be different points. Example: position {X:50, Y:20, Z:50} lookAt {X:0, Y:0, Z:0} places camera at (50,20,50) aiming at the origin.
Typical workflow: move_camera (frame your subject) → screenshot (see the result) → evaluate → adjust. |
| roblox_toolbox | Search the Roblox Creator Store, insert models, and sanitize them. Actions: "search": Search for free models/decals/audio. Returns AssetId, Name, Creator, HasScripts, IsEndorsed. Params: query (required), category ("FreeModels"|"FreeDecals"|"FreeAudio"), maxResults (default 20). Prefer assets where HasScripts=false or IsEndorsed=true. "insert": Insert an asset by ID. Params: assetId (required), parent (path), position {X,Y,Z}. CRITICAL: Toolbox models often contain far more than their name implies — a "gas station" may bundle pumps, signs, shelving, vehicles, lighting as descendants. Always inspect the returned hierarchy before building additional objects. Check orientation (model axes may not match your scene) and scale (toolbox models vary wildly in size, Roblox studs ≈ 0.28m). "strip_scripts": Remove all scripts from an instance tree. Params: path (required), scriptTypes (array, default all). Always do this after inserting models with HasScripts=true.
|
| roblox_playtest | Control Roblox Studio playtest sessions and interact with the running game. Actions: "start": Begin playtest (RunService:Run). Scripts execute, physics activate. Params: mode ("run"|"play", default "run"). "stop": End playtest, return to Edit mode. "status": Get current mode (Edit/Running/Client/Server). "move_camera": Reposition camera during playtest. Params: position {X,Y,Z}, lookAt {X,Y,Z}. "fire_click": Trigger a ClickDetector. Params: path (instance path). "fire_proximity": Trigger a ProximityPrompt. Params: path (instance path). "get_state": Read game state (player count, leaderstats, runtime info). "execute": Run Lua code in the live game context. Params: code (string).
Workflow: start → interact/observe → screenshot (via roblox_scene) → evaluate → stop → fix → repeat. |