A superset
Everything the other Roblox MCP servers offer -- surveyed against six of them -- with the same tool names where they came from.
Won't freeze your playtest
Studio pauses on any eval error, even under pcall. Every input is checked in Python and against the engine's reflection data before Luau runs.
Sees without Studio
A depth-buffered perspective renderer, a UI layout engine and an edit-mode animation sampler: visual checks work on a remote or minimised Studio.
Built on a real game
Prop and in-hand checks, HUD audits, moving-fps tests and seed-pinned A/B profiling came out of shipping one.
Quick start
git clone https://github.com/CosmicCheesee/RobloxForge cd RobloxForge python connect.py
Works with Claude Code and Claude Desktop, Codex CLI and the ChatGPT desktop app, Gemini CLI, VS Code Copilot, Cursor, Devin Desktop / Windsurf, Zed and LM Studio. Step-by-step guide for your app →
All 204 tools
Studio and session 11 · group studio
forge_statusforgeRobloxForge health: Studio bridge, connected Studio instances, Rojo, repo state.
get_connected_instancesbridgeUse to discover standalone Studio Instances and role-suffixed temporary Instances nested within multiplayer groups.
get_handler_healthforgeHealth of the Studio bridge: connected Studio instances and the round-trip time of a trivial eval on each peer that is up.
get_place_infobridgeUse when you need the current place's identity or settings.
instance_idget_request_statusbridgeUse to recover a retained Studio operation outcome after a timeout.
request_idget_roblox_docsbridgeUse to read official Roblox engine or Luau references.
doc_type, name, sectionget_roblox_skillsbridgeUse to read installed Roblox Studio Assistant skills.
action, namemanage_instancebridgeUse to manage Studio processes or list place revisions.
action, instance_id, launch_id, local_place_file, max_page_size, page_token, place_id, place_version, process_environment, require_process_identity, source, studio_executable, studio_working_directory, timeout_ms, wait_for_connectionmanage_monetizationbridgeUse to list, inspect, create, or update developer products and game passes.
action, description, for_sale, id, image_path, instance_id, kind, managed_pricing, name, page_token, price, universe_idstudio_activityforgeWhat is going on in this Studio: open script tabs, the selection, undo/redo availability, the last output lines, and Team Create collaborators when the place is in Team Create.
studio_identityforgeWhich Studio and place this session is talking to: place id/name, game id, the connected instance ids.
Instances, properties, attributes and tags 40 · group instances
add_tagforgeAdd a CollectionService tag.
instancePath, peer, tagNameattribute_schema_validateforgeCheck an instance's attributes against a schema {key: {type, required, min, max, oneOf}}.
peer, schema, targetPathbulk_set_attributesforgeSet several attributes on one instance: attributes = {name: value} (types inferred).
attributes, instancePath, peerclone_objectforgeDeep-copy an instance to a new parent.
instancePath, name, peer, targetParentPathcollision_groupsforgePhysics collision groups: op=list (groups + collision matrix), create, remove, rename, set_collidable (name, other, collidable), assign (paths -> group, BaseParts and every BasePart inside a Model).
collidable, name, newName, op, other, paths, peercompare_instancesforgeDiff two instances property by property (useful when a duplicate behaves differently).
instancePathA, instancePathB, peercreate_objectforgeCreate an instance (any creatable class), optionally with properties.
className, name, parent, peer, propertiesdelete_attributeforgeRemove an attribute.
attributeName, instancePath, peerdelete_objectforgeDelete an instance (undoable).
instancePath, peerdiff_subtreeforgeSnapshot two subtrees (properties of every node down to maxDepth) and report what differs: nodes only in A, only in B, and changed properties.
maxDepth, pathA, pathB, peerget_attributesbridgeUse to inspect every attribute on one instance.
instancePath, instance_idget_class_infoforgeReflection for a class: superclass, every property (type, writable, category), methods and events -- the engine's own API, without docs.
className, peerget_descendantsforgeAll descendants of an instance with depth, optionally filtered by class (IsA).
classFilter, instancePath, limit, maxDepth, peerget_file_treeforgeInstance hierarchy as a nested tree (name, class, children) from a root.
maxDepth, path, peerget_instance_childrenforgeChildren of an instance with their classes.
instancePath, peerget_instance_propertiesbridgeUse to inspect an instance's current properties.
excludeSource, instancePath, instance_idget_project_structurebridgeUse to inspect a DataModel subtree and its hierarchy.
instance_id, maxDepth, path, scriptsOnlyget_selectionforgeThe objects currently selected in Studio.
peerget_servicesforgeList the DataModel's services with their child counts, or the children of one service.
peer, serviceNameget_taggedforgeEvery instance carrying a tag.
peer, tagNameget_tagsforgeCollectionService tags on an instance.
instancePath, peerinsert_serviceforgeGet or create a service by class name (e.g.
name, peermass_create_objectsforgeCreate many instances in one call: objects = [{className, parent, name, properties}].
objects, peermass_duplicateforgeSeveral smart_duplicate operations in one call: duplications = [{instancePath, count, options}].
duplications, peermass_get_propertyforgeRead the same property from many instances.
paths, peer, propertyNamemass_set_propertyforgeSet the same property on many instances.
paths, peer, propertyName, propertyValueredoforgeRedo the last undone change in Studio.
remove_tagforgeRemove a CollectionService tag.
instancePath, peer, tagNamereparent_instanceforgeMove an instance to a new parent (keeps its identity, unlike delete + create).
destinationPath, peer, sourcePathsearch_by_propertyforgeFind instances whose property equals a value (compared after conversion to JSON).
classFilter, limit, peer, propertyName, propertyValue, rootsearch_filesforgeSearch instances by name, by class, or by script CONTENT (plain substring).
limit, peer, query, root, searchTypesearch_objectsbridgeUse to find instances by name, class, or property value.
instance_id, propertyName, query, searchTypeselectionbridgeUse to get, set, or frame selection.
action, angleY, from, instance_id, mode, padding, path, pathsset_attributeforgeSet an attribute.
attributeName, attributeValue, instancePath, peer, valueTypeset_calculated_propertyforgeSet a property on many instances from an arithmetic formula.
formula, paths, peer, propertyNameset_propertiesbridgeUse to update several properties on one instance in a single call.
instancePath, instance_id, operation_id, propertiesset_propertyforgeSet one property; the value is converted to the property's real type (see the value formats).
instancePath, peer, propertyName, propertyValueset_relative_propertyforgeChange a property relative to its current value on many instances: add, subtract, multiply or divide by a number or a per-component vector (Position +[0,5,0], Transparency *0.5...).
operation, paths, peer, propertyName, valuesmart_duplicateforgeDuplicate an instance N times with a name pattern ('{n}'), a cumulative position/rotation offset, cycling property variations and target parents.
count, instancePath, options, peerundoforgeUndo the last change in Studio (ChangeHistoryService).
Scripts, source and repo 19 · group scripts
delete_script_linesbridgeUse to remove a known inclusive line range from one script.
instancePath, instance_id, line_rangeedit_script_linesbridgeUse for an exact, localized replacement in one script.
instancePath, instance_id, line_range, new_string, old_stringexecute_luaubridgeUse for custom Studio traversal, edits, or peer execution.
code, instance_id, operation_id, targetexecute_luau_from_fileforgeRun a .luau / .lua file from disk in Studio (edit, server or client).
file, peerfind_and_replace_in_scriptsbridgeUse to preview or apply one replacement across scripts.
caseSensitive, classFilter, dryRun, instance_id, maxReplacements, path, pattern, replacement, usePatternget_script_sourcebridgeUse to read all or part of a script's source.
instancePath, instance_id, line_rangegrep_scriptsbridgeUse to search script sources.
caseSensitive, classFilter, contextLines, filesOnly, instance_id, maxResults, maxResultsPerScript, path, pattern, usePatterninsert_script_linesbridgeUse to add source after a known line in one script.
afterLine, instancePath, instance_id, newContentlist_scriptsforgeEvery script under a root (default the whole place): path, class, line count, enabled, RunContext.
peer, root, scriptTypeluau_checkforgeSyntax/lint-check a Luau snippet with selene (repo config) without touching Studio -- run it before sending code to an eval, since Studio pauses on any eval error.
codenotes_searchforgeSearch the place's handoff/notes files (HANDOFF, MapGeneratorNotes, LIMINAL_AMBIENCE_HANDOFF, AUDIO_REQUISITION) for prior attempts, rejected ideas and traps before building something.
context, max_hits, queryrepo_driftforgeCompare every script in Studio against the Rojo files on disk (length + Adler-32)
repo_lintforgeRun selene on the Rojo repo (or given paths) from the repo root and summarise: errors in full, warnings grouped by rule.
max_listed, pathsrojo_statusforgeIs `rojo serve` running for the repo? With start=true, start it detached (Studio's Rojo plugin still has to press Connect).
startscript_editorforgeStudio script editor tabs: action=list (open documents), read (the editor's text, unsaved edits included), open (open a script, optionally at a line), edit (apply {old, new} replacements through the editor, so it is undoable and...
action, edits, line, pathset_script_sourcebridgeUse only when replacing a script's entire source.
instancePath, instance_id, sourcesource_pullforgeWrite the place's scripts to disk as a Rojo-layout folder tree (Script .server.lua, LocalScript .client.lua, ModuleScript .lua; a script with script children becomes a folder with init) plus manifest.json, so git, ripgrep and any...
dry_run, exclude, out_dir, rootssource_pushforgeSend edited files from a source_pull folder back into the place.
dry_run, in_dir, onlysource_snapshotforgePull the scripts into a git repository and commit them -- the history a place file cannot keep (diff, blame, revert)
dir, exclude, message, roots
Playtests, tests and debugging 25 · group playtest
breakpointsbridgeUse to trace script execution with breakpoints or logpoints.
action, clear_all, condition, continue_execution, enabled, instance_id, line, log_message, script_path, targetdebug_collisionsforgeRecord every Touched contact on the BaseParts under an instance for 1-15 s during a playtest: which part hit what, when and where.
instancePath, peer, secondsdebug_watchforgeRecord changes on an instance for 1-15 s: property changes (all, or the listed ones), children added/removed, attribute changes -- a timeline of what touched it.
instancePath, peer, properties, secondseval_client_runtimebridgeUse to run Luau in a live client VM with its require cache.
code, instance_id, targeteval_server_runtimebridgeUse to run Luau in the live server VM with its require cache.
code, instance_idgame_selftestforgeRead the place's SelfTest verdict (workspace.SelfTestOut) from a running playtest server.
fullget_device_simulator_statebridgeUse to inspect device simulation or list device presets.
deviceId, includeDeviceList, instance_id, targetget_output_logforgeStudio's output history (LogService), in edit or play.
maxEntries, messageType, peerget_playtest_outputforgeOutput captured since start_playtest (or since the last poll), plus whether a test is running.
filter, tailget_runtime_logsbridgeUse to read merged logs for one Instance or separate Instance logs for a MultiplayerGroup.
cursor, cursor_by_instance, filter, instance_id, multiplayer_group_id, tailget_simulation_statebridgeUse to inspect current network and device simulation.
include, instance_id, targetget_studio_modeforgeWhat Studio is doing: edit, or a playtest (play / run, solo or multiplayer).
multiplayer_playtestbridgeUse to run or inspect a multi-client Studio playtest.
action, instance_id, numPlayers, target, testArgs, timeout, valuereset_simulation_statebridgeUse to clear network and device simulation state.
deviceSimulator, instance_id, network, targetrun_script_in_play_modeforgeStart a playtest, run Luau on the server (or a client), collect what it returned and printed, and stop the test again (unless keep=true)
code, keep, mode, settle, targetrun_testsforgeRun the place's tests in a playtest and summarise pass/fail.
attribute, mode, secondsset_device_simulatorbridgeUse to manage device simulation in edit or a playtest client.
deviceId, instance_id, orientation, pixelDensity, resolution, scalingMode, stopSimulation, targetset_network_profilebridgeUse to simulate client latency, jitter, or packet loss.
instance_id, overrides, profile, targetsimulate_keyboard_inputbridgeUse to send key presses or text to a live playtest client.
action, duration, instance_id, keyCode, target, textsimulate_mouse_inputbridgeUse to click the live playtest viewport at known pixel coordinates.
action, button, instance_id, target, x, ysolo_playtestbridgeUse to start, stop, or inspect a single-player Studio playtest.
action, instance_id, mode, timeoutstart_playtestforgeStart a playtest and begin capturing its output (print/warn/error)
mode, numPlayersstop_playtestforgeStop the playtest and return everything it printed since start_playtest.
viewport_pickforgeWhat 3D object is under a viewport pixel (raycast from the camera)
maxDistance, peer, x, ywait_forforgePoll a Luau condition until it is true (or time runs out)
condition, interval, peer, timeout
Modelling and visual checks 8 · group modelling
map_planforgeTop-down floor plan of the world around a point (default: the first player) as an image: walls/pillars light, floors dim, furniture in its own colour, players in red with facing.
cut_y, peer, radius, size, x, zmodel_auditforgeNumeric visual-pass audit of a built model in Studio: z-fighting faces, floating groups, hidden parts, hover/sink against the ground.
path, peermodel_buildforgeBuild a Model in Studio from a part list (validated first), then run the numeric audit on it.
anchored, audit, name, origin, parent, parts, peermodel_exportforgeExport a Model/BasePart as a part list (pivot space) -- feed it to parts_render / parts_audit, edit it, or rebuild it with model_build.
path, peer, save_tomodel_seatforgeSeat a model by its lowest TRUE corner onto the surface below it (raycast) or onto floor_y.
floor_y, path, peermodel_shotsforgeReal Studio screenshots of a model from several angles, framed automatically, returned as one labelled contact sheet.
fov, light, pad, path, peer, viewsparts_auditforgeOffline z-fight / floating audit of a part list before it is built (no Studio needed).
gap, partsparts_renderforgeRender a part list offline as flat-shaded orthographic views (front/back/left/right/top/iso) -- see a model before it exists, or without Studio.
parts, size, views
UI design, build and audit 17 · group ui
ui_atforgeWhich GUI objects are under a viewport pixel on the playtest client (top-most first) -- debug 'why does my click not land'.
peer, x, yui_auditforgeLive UI audit in Studio on the real layout: OVERFLOW, TINY text, CONTRAST (WCAG vs the actual backdrop), NOBACKDROP, OFFSCREEN, CLIPPED, OVERLAP, TOUCH targets, FIXED pixel layouts, INVISIBLE buttons, plus a census of colours /...
min_text, min_touch, path, peerui_buildforgeBuild a UI spec in Studio (validated against a whitelist checked against the live engine, so it cannot throw)
audit, parent, peer, replace, spec, themeui_clickforgeClick a GUI button BY PATH on the playtest client (finds its centre, clicks it)
button, path, peerui_click_textforgeClick the first visible button whose text contains a phrase (case-insensitive, plain text) on the playtest client -- e.g.
pattern, peerui_codegenforgeTurn a UI spec (or an existing GUI exported from Studio) into a standalone Luau file: build() plus a runtime that animates every control (hover/press, focus rings, toggles, draggable sliders, tabs, click-away dismiss, fade+scale...
from_path, fx, keep_enabled, kind, peer, spec, theme, write_toui_componentsforgeThe UI component library: list every component with its parameters, or expand one into plain spec nodes to see/modify exactly what it builds.
action, component, themeui_destroyforgeDelete a GUI (e.g.
path, peerui_diffforgeVisual regression: compare two images (renders, previews, screenshots saved with save_to)
a, b, thresholdui_exportforgeExport an existing GUI from Studio as a spec (only properties that differ from defaults) -- to restyle it, render it offline, audit it, or codegen it.
path, peer, save_toui_previewforgeReal Studio screenshots of a GUI across device sizes (device simulator), optionally isolated from every other ScreenGui, as one contact sheet.
devices, isolate, path, peerui_renderforgeRender a UI spec OFFLINE (no Studio) at one or more screen sizes, with an automatic audit: text overflow, contrast, off-screen, clipping, overlaps, small tap targets.
audit, save_to, scale, spec, theme, viewportsui_style_scanforgeScan the Rojo repo's Luau for hard-coded UI style: colours (with near-duplicate clusters to merge into tokens), text sizes, fonts, corner radii, and which files hard-code the most -- the map for moving a game onto one theme.
paths, topui_templateforgeComplete, responsive screens to start from: dialog, hud, inventory, leaderboard, loading, notifications, pause_menu, results, settings, shop, title_menu.
action, name, params, theme, viewportsui_themeforgeDesign tokens: list presets, show one, check its contrast (WCAG), or save a custom theme (inline dict, may 'extends' a preset).
action, name, themeui_treeforgeCompact outline of a GUI: class, name, absolute rect, hidden/disabled, text.
depth, path, peerui_typeforgeType into a TextBox by path on the playtest client: clicks it to focus, then types the text (and Enter with submit=true).
path, peer, submit, text
Play like a player 11 · group play
character_navigationforgeWalk the local character to a position or instance with PathfindingService (waypoints, jumps), in a running playtest.
instancePath, peer, position, timeoutplay_focusforgeBring the Roblox Studio window to the front (restoring it if minimised) so keyboard/mouse input reaches the game.
capture, peer, status_onlyplay_gotoforgeWalk the player to a point (or an instance) with real keys and mouse: faces the clearest heading toward the target (ray fan), walks/sprints in short legs, jumps or strafes when stuck.
peer, sprint, timeout, to, toleranceplay_interactforgeInteract like a player: optionally face a target (instance path or point) first, then press the interact key (E by default).
at, key, peerplay_keysforgePress keys like a player: a list of steps run in order.
focus, stepsplay_lookforgeTurn the player's view with the REAL mouse (OS-level, only while Studio is in front)
at, dpitch, drag, dyaw, peer, pitch, yawplay_seeforgeOne call to see the game as the player does: a screenshot plus play_state.
peerplay_startforgeStart a solo playtest and get into the game: waits for the client and character, focuses Studio, and clicks the title-screen button whose text contains `click_text` (default 'play'; '' to skip).
click_text, timeoutplay_stateforgeWhat the player is doing and what they can reach: position, speed, health, camera yaw/pitch, mouse mode, what the crosshair is on, nearby doors / slits / card rooms / prompts / loot / grabbables, and the player's and character's...
attrs, peer, radius, tagsplay_stopforgeStop the running playtest.
studio_filmstripforgeSeveral screenshots in a row as one contact sheet -- check an animation, a transition, a flicker or motion.
count, interval
Animation 10 · group animation
anim_buildforgeAuthor a KeyframeSequence from JSON against a rig's joint tree and save it (ServerStorage.ForgeAnimations by default); it is registered at once so anim_sample / anim_filmstrip / anim_trace can play it with no upload.
peer, rig, save_to, specanim_filmstripforgeRender an animation as a filmstrip WITHOUT Studio rendering: the rig is sampled at N evenly spaced times and every pose is drawn offline (perspective, a floor at the rest foot level), one row per view.
frames, peer, rig, save_to, source, viewsanim_inspectforgeSummarise an animation clip: length, loop, priority, keyframe times, which parts it poses and how often, and its markers.
peer, sourceanim_rigforgeRig utilities for animation work.
at, name, op, path, peeranim_sampleforgePose a rig at given times of an animation (no playtest needed -- a clone is stepped with Animator:StepAnimations in edit mode) and return every part's CFrame relative to the rig's root, plus joint Transforms in degrees.
fps, peer, rig, save_to, source, speed, timesanim_traceforgeCheck a motion numerically: parts going through the floor (below the rest foot level), joints that POP (one step much faster than the rest of the clip), a loop whose last pose does not meet its first, and limbs passing through...
floor_y, fps, peer, rig, source, spike_dpsanimation_list_tracksforgeAnimationTracks playing on a Humanoid / AnimationController.
peer, targetPathanimation_load_keyframesforgeBuild a KeyframeSequence from inline data under parentPath (flat form: keyframes = [{time, poses: {PartName: {cframe}}}]; poses are not nested -- use anim_build for a rig-aware sequence).
keyframes, loop, name, parentPath, peeranimation_playforgePlay an animation on a Humanoid / AnimationController (a running game, or edit mode -- where it is stepped for `seconds` so the pose can be seen)
assetId, fadeTime, peer, seconds, speed, targetPath, weightanimation_stopforgeStop a track started by animation_play.
fadeTime, peer, trackId
Lighting, effects, sound and materials 20 · group world
humanoid_description_applyforgeApply a HumanoidDescription to a Humanoid (server side of a playtest, or a rig in edit mode): description = {HeadColor: '#hex', Shirt: id, Pants: id, HatAccessory: 'id,id', BodyTypeScale: 0.3, ...}.
description, peer, targetPathlighting_getforgeLighting's properties and its post effects (Atmosphere, Bloom, ColorCorrection, Blur, SunRays, DoF, Sky).
peerlighting_list_presetsforgeThe lighting presets lighting_set_preset knows.
peerlighting_setforgeSet Lighting properties in one undoable step: properties = {Brightness: 2, Ambient: '#404040', ClockTime: 14, Technology: 'Future', ...}.
peer, propertieslighting_set_presetforgeApply a lighting preset: day, dusk, night, horror, studio, backrooms.
peer, presetmaterial_create_variantforgeCreate a MaterialVariant (texture maps are asset ids).
baseMaterial, colorMap, materialPattern, metalnessMap, name, normalMap, peer, roughnessMap, studsPerTilematerial_list_variantsforgeEvery MaterialVariant in MaterialService, and which base materials are overridden.
peermaterial_override_baseforgeMake a MaterialVariant the default look of a base material (e.g.
material, peer, variantNameparticle_createforgeCreate a ParticleEmitter with all its properties in one call (sequences as [[t, v], ...], ranges as [min, max], colours as '#hex' or [[t, '#hex'], ...]).
name, parentPath, peer, propertiesparticle_tuneforgeChange properties on an existing ParticleEmitter (same formats as particle_create).
emit, emitterPath, peer, propertiessearch_materialsforgeFind MaterialVariants by name (substring).
maxResults, peer, querysound_load_from_assetidforgeCreate a persistent Sound under a parent from an asset id.
assetId, looped, name, parentPath, peer, volumesound_play_previewforgePlay a sound by asset id through SoundService for a quick listen (removed after 60 s)
assetId, looped, speed, volumesound_set_eqforgeAdd or update an EqualizerSoundEffect on a Sound (gains in dB).
enabled, highGain, lowGain, midGain, peer, soundPathsound_set_reverbforgeAdd or update a ReverbSoundEffect on a Sound.
decayTime, density, diffusion, dryLevel, enabled, peer, soundPath, wetLevelsound_stop_previewforgeStop a preview started by sound_play_preview.
soundIdtextchat_configureforgeConfigure TextChatService: chatVersion, createDefaultCommands, createDefaultTextChannels, bubbleChat {props}, chatWindow {props}.
bubbleChat, chatVersion, chatWindow, createDefaultCommands, createDefaultTextChannels, peertextchat_create_commandforgeCreate a TextChatCommand (e.g.
autocompleteVisible, enabled, name, peer, primaryAlias, secondaryAliastextchat_list_channelsforgeTextChannels (and commands) under TextChatService.
peertween_previewforgeRun a TweenService tween on an instance to judge timing and easing: tweenInfo = {time, style, direction, repeatCount, reverses, delay}, goal = {Property: value}.
goal, peer, revert, targetPath, tweenInfo
Terrain 7 · group terrain
terrain_clearforgeClear ALL terrain in the place (undoable in edit mode).
confirm, peerterrain_fill_ballforgeFill a sphere of terrain.
center, material, peer, radiusterrain_fill_blockforgeFill a block of terrain: cframe ([x,y,z] / 12 numbers / {position, rotation}), size [x,y,z], material (Enum.Material name).
cframe, material, peer, sizeterrain_fill_cylinderforgeFill a cylinder of terrain (axis along the CFrame's Y).
cframe, height, material, peer, radiusterrain_fill_wedgeforgeFill a wedge of terrain (like a WedgePart).
cframe, material, peer, sizeterrain_get_materialsforgeEvery Enum.Material usable as a terrain material.
peerterrain_read_voxelsforgeRead a region of terrain (min, max corners): material histogram and filled volume.
max, min, peer
Measuring performance 13 · group perf
capture_device_matrixbridgeUse to compare viewport screenshots across up to six device settings.
entries, format, instance_id, quality, restoreAfter, settleSeconds, targetcapture_micro_profilerbridgeUse to profile engine and game frame time on a live peer.
baseline, baseline_label, baseline_path, current_label, duration_ms, filter, focus, frame_window, include_comparison_index, include_gpu, include_idle, instance_id, max_comparison_rows, max_events, max_groups, max_related_timers, max_timers, max_timers_per_group, min_total_us, output_path, summary_output_path, targetcapture_screenshotbridgeUse to capture the Studio viewport or map input coordinates.
format, instance_id, qualitycapture_script_profilerbridgeUse to find Luau CPU hotspots on a running server or client.
duration_ms, filter, frequency, include_native, include_plugin, instance_id, max_functions, min_total_us, output_path, targetget_memory_breakdownbridgeUse to compare memory categories across Studio peers.
instance_id, tags, targetget_scene_analysisbridgeUse to attribute scene cost across instances and content.
instance_id, mode, raw, target, topNperf_glideforgeRepeatable moving-fps test: glide the player in a straight line through fresh chunks at a fixed speed and report fps, worst frame, worst second, per-second fps and chunk arrivals.
heading, peer, seconds, speedperf_snapshotforgeClient frame numbers over a window: fps, worst frame, GPU / render-CPU ms, draw and shadow draw calls, triangles, instances, memory -- and a warning if Studio is unfocused (60 fps throttle).
peer, secondsprofile_snapshotforgeOne Stats snapshot: heartbeat / physics ms, instance and primitive counts, total memory and memory by tag, network kbps.
peerprofile_startforgeSample Stats every intervalMs in the background (on that peer) until profile_stop.
intervalMs, peerprofile_stopforgeStop the Stats capture and return the samples with averages.
peerprofile_summaryforgeScript-profile a peer and summarise it: total Lua ms/s, ms/s per script, hottest lines.
seconds, target, topstreamingenabled_auditforgeWorkspace streaming settings, plus every Model's ModelStreamingMode and LevelOfDetail (counts, and the non-default ones listed).
peer
Assets and files 11 · group assets
export_rbxmbridgeUse to save selected DataModel instances as a local .rbxm file.
instance_id, instance_paths, output_path, targetgenerate_modelbridgeUse to stage a Roblox model from text or an image.
generate_textures, image_asset_id, image_base64, image_mime_type, image_path, instance_id, max_triangles, name, prompt, schema, schema_groups, size, timeout_msget_asset_detailsbridgeUse to inspect a shortlisted Creator Store asset.
assetIdget_asset_thumbnailbridgeUse when an asset thumbnail would help with visual review.
assetId, sizeimport_rbxmbridgeUse to load a local, remote, or inline .rbxm under a chosen parent.
instance_id, parent_path, source, targetinsert_assetbridgeUse to sanitize and insert a Creator Store asset into a Studio place.
assetId, instance_id, parentPath, positioninsert_asset_from_fileforgeInsert a local file into the place: .rbxm/.rbxmx models (via SerializationService), or a script file (.lua/.luau; .server.lua -> Script, .client.lua -> LocalScript, else ModuleScript).
file, name, parentPathinsert_modelforgeSearch the Creator Store for a model and insert the best match (what Roblox's own Studio MCP offers)
allowCommunity, parentPath, position, querypreview_assetbridgeUse to inspect an asset's hierarchy and media without inserting it.
assetId, includeAudio, includeProperties, instance_id, maxAudioPreviews, maxDepthsearch_assetsbridgeUse to find public Creator Store assets by type or keyword.
assetType, maxResults, query, robloxCreatedOnly, sortByupload_assetbridgeUse to upload a local asset file to a Roblox user or group.
assetType, description, displayName, filePath, groupId, userId
Build library 7 · group builds
create_buildforgeCreate a build from compact rows and save it to the library: palette = [{color, mat}], parts = [[ox,oy,oz, sx,sy,sz, rx,ry,rz, paletteIndex, shapeIndex(0 Block,1 Cylinder,2 Ball,3 Wedge,4 CornerWedge)]].
bounds, id, palette, parts, styleexport_buildforgeExport a Model into the compact build format and save it in the local build library (library/<style>/<id>.json) for re-use, scenes and diffs.
instancePath, outputId, peer, stylegenerate_buildforgeProcedurally generate a build with JavaScript and save it to the library.
code, id, palette, seed, styleget_buildforgeOne build from the library: metadata, palette, rows, and its generator code if it has one.
idimport_buildforgeBuild a library build (by id, or inline build data) in Studio through model_build (validated first, audited after).
buildData, name, peer, position, targetPathimport_sceneforgePlace several library builds in one call: sceneData = {models: [{id, position [x,y,z], name?}]}, under targetPath.
peer, sceneData, targetPathlist_libraryforgeBuilds in the local library: id, style, part count, bounds.
style
Open Cloud (live game) 5 · group cloud
opencloud_bansforgeExperience bans through Open Cloud user restrictions: op = list | get | ban | unban.
confirm, displayReason, duration, excludeAltAccounts, op, privateReason, universeId, userIdopencloud_datastoreforgeLive standard data stores through Open Cloud: op = list_stores | list_keys | get | set | delete | increment.
confirm, cursor, datastore, incrementBy, key, limit, op, prefix, scope, universeId, valueopencloud_messageforgePublish a MessagingService message to every live server of a universe (needs confirm=true).
confirm, message, topic, universeIdopencloud_universeforgeUniverse info and operations through Open Cloud: op = get | restart_servers (shuts every live server down so players rejoin the latest version; needs confirm=true).
confirm, op, universeIdplace_publishforgePublish (or save) a place file to Roblox through Open Cloud: file = a saved .rbxl or .rbxlx.
confirm, file, placeId, universeId, versionType