[PRO] Execute multiple commands in a single batch. Each command is an object with "tool" name and "args". Commands execute sequentially; optionally continue on error.

Optional Studio target selector for the entire batch. Takes precedence over targetAlias and placeId.

Array of commands to execute sequentially. Each command specifies a tool name and its arguments.

Arguments to pass to the tool, including action and other parameters.

Tool name to invoke (e.g., "mutate_instances", "manage_properties").

Optional Studio target selector for the entire batch. Per-item selectors inside commands[].args are rejected.

If true, stop executing remaining commands when one fails. Default: true.

Optional Studio target selector. Routes this call to the connected WEPPY Studio target alias shown in Dashboard/Plugin, such as studio-1. Takes precedence over placeId.

[PRO] Execute arbitrary Luau code in Roblox Studio sandbox. Blocked services: HttpService, DataStoreService, MessagingService. Cannot access CoreGui/CorePackages.

Optional Studio target selector. Routes this call to the exact connected WEPPY Plugin client. Takes precedence over targetAlias and placeId.

Optional execution context identifier. Used to continue an existing context for mutating actions.

Optional structured execution context attached to this tool call.

script instance property system gameplay ui terrain lighting asset other

Optional Studio target selector. When multiple Studio clients are connected, route this Luau execution to the active client for this Roblox placeId. If no matching active client exists, the call fails instead of falling back to another Place.

Optional replay-ready metadata attached to this tool call.

Luau source code to execute. The code runs in a sandboxed environment with access to game services (except blocked ones). Return values are serialized and sent back as the tool result.

[PRO] Animation: load, play, stop animations. Get animation tracks from humanoid/controller.

[PRO] Animation action. load: load an animation on a Humanoid/AnimationController. play: play a loaded animation track. stop: stop a playing animation. get_tracks: list all loaded animation tracks.

Roblox animation asset ID (e.g., "rbxassetid://1234567"). Used by: load.

Fade time in seconds when starting/stopping. Used by: play, stop. Default: 0.1.

Path to the Humanoid, AnimationController, or Model containing one. Used by: load, play, stop, get_tracks.

Optional Studio target selector. When multiple Studio clients are connected, route this call to the active client for this Roblox placeId. If no matching active client exists, the call fails instead of falling back to another Place.

Animation priority. Used by: play.

Playback speed multiplier. Used by: play. Default: 1.

Animation track identifier returned by load. Used by: play (required), stop (required).

Animation weight (0-1) for blending. Used by: play. Default: 1.

[PRO] Asset management: insert models by ID, get asset info, search creator store, insert free models/packages, export selection JSON, generate/review Roblox models, round-trip .rbxm files through Asset Library, and generate local thumbnails.

[PRO] Asset action. insert: insert model by asset ID. info: get asset metadata. search: search Creator Store. search_insert: search and insert first match. insert_free: insert free model. insert_package: insert package. export_selection_json: JSON snapshot of current selection. export_selection_rbxm/export_path_rbxm: save Studio content to Asset Library .rbxm. review_model: QA a selected/path model and optionally register it in Asset Library. generate_model: generate a Roblox model in Studio via GenerationService only. upload_asset: upload the selected Studio asset through Studio-local AssetService with automatic Model/Mesh/Image type selection. import_rbxm: import Asset Library .rbxm into Studio. generate_thumbnail: create or replace thumbnail.png for an Asset Library .rbxm.

How to anchor generated BaseParts before review/export. Used by: generate_model. Default: all.

Roblox asset ID. Used by: insert (required), info (required), insert_free (required), insert_package (required).

Asset Library asset ID. Used by: import_rbxm, generate_thumbnail.

Roblox Studio-local upload asset type. Used by: upload_asset. Default: auto, which selects Model/Mesh/Image from the selected Studio object.

Asset category filter. Used by: search, export_selection_rbxm, export_path_rbxm, review_model, generate_model, import_rbxm, generate_thumbnail. upload_asset may omit this and use assetType/selection auto-detection.

Optional Studio target selector. Routes this call to the exact connected WEPPY Plugin client. Takes precedence over targetAlias and placeId.

Optional execution context identifier. Used to continue an existing context for mutating actions.

Optional structured execution context attached to this tool call.

Optional Roblox user or group ID for Studio-local temporary asset upload. Used with uploadTemporaryAssets by .rbxm registration actions.

Optional Roblox creator type for Studio-local temporary asset upload. Used with uploadTemporaryAssets by .rbxm registration actions. Omit to use the logged-in Studio user.

Asset Library description or Studio upload description. Used by: export_selection_rbxm, export_path_rbxm, review_model, upload_asset.

Asset Library display name or Studio upload display name. Used by: export_selection_rbxm, export_path_rbxm, review_model, generate_model, upload_asset.

Expected child/group names for generated or reviewed model QA. Used by: review_model, generate_model.

Expected model use for QA heuristics. Used by: review_model, generate_model. Default: unknown.

decorative interactive vehicle character unknown

Whether to register the reviewed model as an Asset Library .rbxm asset. Used by: review_model. Default: false.

Export format. Used by: export_selection_json.

Whether Roblox GenerationService should generate textures. Used by: generate_model. Default: true.

Include children in export. Used by: export_selection_json. Default: false.

Include all properties in export. Used by: export_selection_json. Default: false.

Maximum depth for recursive child export. Used by: export_selection_json. Default: 5.

Maximum descendants to inspect during model QA. Used by: review_model, generate_model. Default: 500.

Maximum search results. Used by: search. Default: 10.

Maximum triangle budget requested from Roblox GenerationService. Used by: generate_model.

Optional name for inserted instance.

Parent path for inserted asset. Used by: insert, search_insert, insert_free, insert_package. Default: "game.Workspace".

Place ID for place-scoped Asset Library .rbxm round-trip operations. For other manage_assets Studio/plugin actions, this also acts as an optional Studio target selector.

Position to place the model. Used by: insert, insert_free.

Roblox predefined model schema. Used by: generate_model when schemaMode=predefined. Default: Body1.

Text prompt for Roblox GenerationService model generation. Used by: generate_model.

Search keyword. Used by: search (required), search_insert (required). E.g., "monster", "tree", "car".

Optional readiness gate for Asset Library registration decisions. Used by: review_model, generate_model.

Optional replay-ready metadata attached to this tool call.

Whether to run post-generation/review QA. Used by: generate_model. Default: true.

Custom schema group names for generated model segmentation. Used by: generate_model when schemaMode=custom.

Generation schema mode. Used by: generate_model. Default: predefined.

Asset Library scope. Used by: export_selection_rbxm, export_path_rbxm, review_model, import_rbxm, generate_thumbnail. Default: place.

Requested approximate generated model bounds in studs. Used by: generate_model.

Sort order for search results. Used by: search.

Studio instance path to export, review, or upload. Used by: export_path_rbxm, review_model, upload_asset.

Studio parent path for imported/generated instances. Used by: import_rbxm, generate_model. Default: game.Workspace.

Thumbnail capture mode. Used by: export_selection_rbxm, export_path_rbxm, review_model. Default: none.

Studio-local upload behavior for .rbxm registration actions. auto uploads the selected object as a Roblox Model asset first, model requires that path, embeddedResources uploads only generated Mesh/Image resources, and localOnly skips Roblox upload. Used by: export_selection_rbxm, export_path_rbxm, review_model. Default: localOnly.

Explicit user approval for Studio-local CreateAssetAsync uploads before .rbxm registration. Used by: export_selection_rbxm, export_path_rbxm, review_model. Default: false; set true only after user approval.

[PRO] Audio management: play, stop, pause, resume sounds. Set audio listener.

[PRO] Audio action. play: play a sound (creates Sound if needed). stop: stop a playing sound. pause: pause a playing sound. resume: resume a paused sound. set_listener: set the audio listener type/target.

Optional Studio target selector. Routes this call to the exact connected WEPPY Plugin client. Takes precedence over targetAlias and placeId.

Optional execution context identifier. Used to continue an existing context for mutating actions.

Optional structured execution context attached to this tool call.

Instance path for ObjectPosition/ObjectCFrame listener type. Used by: set_listener.

Listener type for SoundService. Used by: set_listener.

Camera CFrame ObjectPosition ObjectCFrame

Whether the sound loops. Used by: play. Default: false.

Path to the Sound instance or parent to create Sound in. Used by: play, stop, pause, resume.

Playback speed multiplier. Used by: play. Default: 1.

Optional replay-ready metadata attached to this tool call.

Roblox sound asset ID (e.g., "rbxassetid://1234567"). Used by: play (if creating a new Sound).

Sound volume (0-10). Used by: play. Default: 0.5.

Camera operations: get info, focus on instance/position, suggest view, capture Edit-mode viewport screenshot (Edit mode only; not usable during playtest).

Camera action. info: get current camera position, rotation, FOV, viewport size. focus_path: move camera to focus on instance by path. focus_position: move camera to focus on world position. suggest: get suggested camera view for a target. [PRO] screenshot: **EDIT MODE ONLY — DO NOT call while a playtest is active.** Captures the current Studio Edit-mode viewport as a PNG image (returns MCP image content). If you are uncertain whether a playtest is running, call manage_studio.play_status first and only proceed when state == "edit"; otherwise the call returns an error. Requires Studio Mesh/Image capability. In Studio, open File → Experience Settings → Security and enable "Allow Mesh / Image APIs". Resolution capped by plugin setting screenshotMaxDimension (default 1024px on longest side; kept at full resolution by Claude while reducing token cost ~40% vs 1280). Play-mode capture is not supported in v1 because Roblox platform blocks converting CaptureService temporary contentId into EditableImage from any non-edit-DM context.

Distance from target in studs. Used by: focus_path, focus_position. Auto-calculated if not provided.

Animation duration in seconds. Used by: focus_path, focus_position. Default: 0.5.

Point for camera to look at. Used by: focus_position.

Camera offset direction from target (normalized and scaled by distance). Used by: focus_path, focus_position. Default: {x:1, y:0.5, z:1}.

Instance path to focus on. Used by: focus_path (if not provided, focuses on selection), suggest (if not provided, uses selection).

World position to focus on as Vector3. Used by: focus_position (required).

X coordinate

Y coordinate

Z coordinate

If true, only focus when plugin Auto Focus setting is enabled. Used by: focus_path, focus_position. Default: false.

[PRO] Particle effects: emit particles, clear all particles, toggle effect enabled state.

[PRO] Effects action. emit: emit a burst of particles from a ParticleEmitter. clear: clear all particles from a ParticleEmitter or all emitters under an instance. toggle: enable or disable a ParticleEmitter, Beam, Trail, or other effect.

Optional Studio target selector. Routes this call to the exact connected WEPPY Plugin client. Takes precedence over targetAlias and placeId.

Optional execution context identifier. Used to continue an existing context for mutating actions.

Optional structured execution context attached to this tool call.

Number of particles to emit in a burst. Used by: emit. Default: 16.

Enable or disable the effect. Used by: toggle.

Path to the effect instance (ParticleEmitter, Beam, Trail) or parent containing effects. Used by: emit, clear, toggle.

Optional replay-ready metadata attached to this tool call.

[PRO] Configure environment: lighting, atmosphere, sky, terrain properties, time of day.

[PRO] Environment action. lighting: set Lighting service properties. atmosphere: set Atmosphere properties. sky: set Sky properties. terrain_props: set Terrain water/visual properties. time: set time of day. mood: apply a full environment mood preset with overrides.

lighting atmosphere sky terrain_props time mood

Numeric time in 24-hour format (e.g., 14.5 for 2:30 PM). Used by: time. Provide this OR time.

Create Atmosphere/Sky instance if missing. Used by: atmosphere, sky. Default: true.

Per-section property overrides applied on top of the preset. Used by: mood. Sections: lighting, atmosphere, sky, effects, water. Values follow the same conversion rules as the properties param.

Environment mood preset. Used by: mood. Applies Lighting + Atmosphere + Sky + post effects + Terrain water appearance in one call.

sunny_day golden_hour sunset dawn night moonlit_night overcast foggy stormy eerie

Dictionary of properties to set. Used by: lighting, atmosphere, sky, terrain_props. Supports Color3 {r,g,b} (0-255), numbers, booleans, Enum strings.

Time string in "HH:MM:SS" format (e.g., "14:30:00"). Used by: time. Provide this OR clockTime.

Output logs: get filtered logs, poll incrementally with sinceSeq cursor, clear buffer, get recent errors.

Log action. get: retrieve logs with optional level/limit/since/sinceSeq filters. clear: clear internal log buffer without resetting seq. errors: quick access to recent errors only.

Optional Studio target selector. Routes this call to the exact connected WEPPY Plugin client. Takes precedence over targetAlias and placeId.

Log level filter. Used by: get. Default: "all".

Maximum entries to return. Used by: get (default: 100, max: 500), errors (default: 20, max: 100).

Text pattern to filter log messages. Used by: get.

Unix timestamp in milliseconds. Only logs after this time. Used by: get.

Return only logs after this sequence number. Cursor mode returns logs oldest-to-newest and includes lastSeq/oldestSeq/hasMore/cursorStatus. Used by: get.

[PRO] Roblox Open Cloud asset upload: preflight diagnostics, credential status, category capabilities, Asset Library-backed upload, existing asset linking, updates, metadata reads, and operation polling. Does not expose delete/archive/restore actions.

[PRO] Open Cloud asset action. preflight: diagnose credential, Assets permissions, Creator target, category, and local file readiness without uploading. credential_status: check local API key status. capabilities: list supported upload categories. upload: create a Roblox asset and register it in the Asset Library. link: connect an existing non-Decal Roblox asset ID to a local file without uploading again. update: update an existing asset. info: read asset metadata. operation_status: check upload/update processing.

preflight credential_status capabilities upload link update info operation_status

Roblox asset ID. Used by: link (required), update (required), info (required).

WEPPY asset category. Used by: upload, link, update. The link action does not support decal because it requires the backing Image asset ID.

image decal audio mesh model video animation

Optional execution context identifier. Used to continue an existing context for mutating actions.

Optional structured execution context attached to this tool call.

User ID or group ID for the asset creator. Used by: upload, update. Defaults to saved credential metadata when available.

Asset creator owner type. Used by: upload, update. Defaults to saved credential metadata when available.

Roblox asset description. Used by: upload, link, update.

Roblox asset display name. Used by: upload, link, update.

Expected upload fee in Robux. Used by: upload, update when Roblox requires an expected price.

Local file path on the MCP server machine. Used by: upload, link, update.

Roblox Open Cloud operation ID or operations/{id} path. Used by: operation_status.

Operation polling interval in milliseconds. Used by: upload, update when waitForOperation is true.

Maximum operation polling time in milliseconds. Used by: upload, update when waitForOperation is true.

Asset Library Place ID. Used by: upload, link when scope is place. Defaults to the current runtime Place ID.

Asset metadata fields to retrieve. Used by: info.

Optional replay-ready metadata attached to this tool call.

Asset Library scope. Used by: upload, link. Defaults to place.

Metadata fields to update. Used by: update.

When true, poll the returned Open Cloud operation until done or timeout. Used by: upload, update.

[PRO] Physics collision groups: register, set collidable between groups, list groups.

[PRO] Physics action. register_group: register a new collision group with PhysicsService. set_collidable: set whether two groups can collide. get_groups: list all registered collision groups.

Optional Studio target selector. Routes this call to the exact connected WEPPY Plugin client. Takes precedence over targetAlias and placeId.

Whether the two groups can collide. Used by: set_collidable (required).

Optional execution context identifier. Used to continue an existing context for mutating actions.

Optional structured execution context attached to this tool call.

First collision group name. Used by: set_collidable (required).

Second collision group name. Used by: set_collidable (required).

Collision group name. Used by: register_group (required).

Get/set properties, attributes, and tags on instances. [PRO] set_calculated, set_relative, mass_set, mass_get, modify_children.

Property action. Basic: get, set, get_all, set_multiple, get_attr, set_attr, get_all_attrs, delete_attr, add_tag, remove_tag, check_tag, get_tags, get_tagged. [PRO]: set_calculated, set_relative, mass_set, mass_get, modify_children.

[PRO] Value for relative operation. Can be number, Vector3, etc. Used by: set_relative. Alias for value in set_relative context.

Attribute name. Used by: get_attr, set_attr, delete_attr.

[PRO] Mathematical expression to evaluate. Used by: set_calculated. Example: "baseValue * multiplier".

[PRO] Class name filter for modify_children.

Include read-only properties. Used by: get_all. Default: false.

Maximum results for get_tagged. Default: 100.

[PRO] Properties to set on children. Used by: modify_children. Contains propertyName, propertyValue, filter, recursive.

Optional class name filter for children.

Property name to set on all children.

Value to set on all children.

If true, modifies all descendants. Default: false.

[PRO] Mathematical operation for relative property change. Used by: set_relative.

[PRO] Parent path whose children will be modified. Used by: modify_children.

Instance path. Used by: get, set, get_all, set_multiple, get_attr, set_attr, get_all_attrs, delete_attr, add_tag, remove_tag, check_tag, get_tags, set_calculated, set_relative.

[PRO] Array of instance paths for bulk operations. Used by: mass_set, mass_get.

Dictionary of property names to values. Used by: set_multiple.

Property name (e.g., "Size", "Position", "Anchored"). Used by: get, set.

[PRO] Property name for mass operations or set_calculated/set_relative. Used by: mass_set, mass_get, set_calculated, set_relative, modify_children.

[PRO] Property value for mass_set and modify_children.

[PRO] Modify all descendants, not just immediate children. Used by: modify_children. Default: false.

Optional replay-ready metadata attached to this tool call.

Root path to filter get_tagged results. Used by: get_tagged.

Tag string (case-sensitive). Used by: add_tag, remove_tag, check_tag.

Tag to search for. Used by: get_tagged.

Value to set. Supports primitives, Vector3 {x,y,z}, Color3 {r,g,b} (0-255), CFrame (12-number array), UDim2 {xScale,xOffset,yScale,yOffset}, Enum strings. Used by: set, set_attr, set_relative.

[PRO] Variable name to value/path mapping. Used by: set_calculated. Example: {"baseValue": "workspace.Config.BaseValue", "multiplier": 2}.

Manage script source code: read, write, create, delete, edit lines, search, and validate Luau syntax. [PRO] replace across scripts.

Script action. Basic: get_source, set_source, create, delete, edit_replace, edit_insert, edit_delete, search, get_dependencies, validate. [PRO]: replace.

Line number after which to insert. Used by: edit_insert. Use 0 to insert at beginning.

Case-sensitive search. Used by: search. Default: false.

Optional Studio target selector. Routes this call to the exact connected WEPPY Plugin client. Takes precedence over targetAlias and placeId.

Content to insert. Used by: edit_insert. Can be multi-line.

Optional execution context identifier. Used to continue an existing context for mutating actions.

Optional structured execution context attached to this tool call.

[PRO] Show what would be replaced without making changes. Used by: replace. Default: false.

Ending line number, 1-based inclusive. Used by: get_source (paired with startLine), edit_replace, edit_delete. get_source requires an integer.

Content to insert after afterLine. Used by: edit_insert. Can be multi-line. Alias for content.

Maximum results to return. Used by: search. Default: 100.

Name for new script. Used by: create.

New content to replace specified lines. Used by: edit_replace. Can be multi-line.

Parent path for new script. Used by: create.

Path to the script instance. Used by: get_source, set_source, delete, edit_replace, edit_insert, edit_delete, search, get_dependencies, replace, validate.

Search pattern (plain text or Lua pattern). Used by: search, replace.

[PRO] Replacement text. Used by: replace.

Optional replay-ready metadata attached to this tool call.

Type of script to create. Used by: create.

Script source code. Used by: set_source (required), create (optional initial source), validate (one of source or path is required).

Starting line number, 1-based inclusive. Used by: get_source (paired with endLine), edit_replace, edit_delete. get_source requires an integer.

Optional Studio target selector. Routes this call to the connected WEPPY Studio target alias shown in Dashboard/Plugin, such as studio-1. Takes precedence over placeId.

Treat pattern as Lua pattern instead of plain text. Used by: search, replace. Default: false.

Requests full validation details when Dashboard script write validation is enabled. Used by: set_source, edit_replace, edit_insert, edit_delete.

Match whole words only. Used by: search. Default: false.

Get, set, or clear selection. [PRO] context, details, add/remove items, watch changes.

Selection action. Basic: get (current selection), set (replace selection), clear (deselect all), cached (from cache without round-trip). [PRO]: context (detailed with source/properties), details (hierarchical with ancestors/descendants), add (add to selection), remove (remove from selection), watch (monitor changes).

get set clear cached context details add remove watch

Optional Studio target selector. Routes this call to the exact connected WEPPY Plugin client. Takes precedence over targetAlias and placeId.

[PRO] Include full ancestor chain. Used by: details. Default: false.

[PRO] Include immediate children. Used by: context. Default: false.

[PRO] Include all readable properties. Used by: context. Default: true.

[PRO] Include script source code. Used by: context. Default: true.

Maximum age of cached data in milliseconds. Used by: cached. Default: 30000. Set to 0 for any age.

[PRO] Maximum depth for descendant tree traversal. Used by: details. Default: 1.

Array of instance paths. Used by: set (required), add (required), remove (required).

WEPPY settings management. Read or change whether Dashboard opens automatically when the MCP Server starts.

Settings action. get_dashboard_auto_open: read the saved Dashboard auto-open preference. set_dashboard_auto_open: enable or disable Dashboard auto-open from the next MCP Server start.

Whether Dashboard should open automatically when WEPPY MCP Server starts. Used by: set_dashboard_auto_open.

Control Roblox Studio state for playtest lifecycle, automated test runs, and editor view/rendering QA workflows. Use it for state-changing playtest controls and Studio session-level View settings such as UI preview; it does not edit game UI objects or their properties.

Studio editor action. [PRO]: toggle_ui_preview (toggle StarterGui UI rendering in Edit mode through the Studio UI preview setting), test_profile_get/set/reset (inspect or request Player Emulator test profile state), experience_language_get/set (observe or request the in-experience language), play_start (start Play or Run mode), play_stop (stop active playtest), play_pause (pause active playtest), play_resume (resume paused playtest), play_status (get current playtest state), test_session_start/status/stop (run, inspect, or cancel a structured Play-default test session), run_test (explicit raw_luau opt-in that injects a test script and preserves the legacy report path).

Optional execution context identifier. Used to continue an existing context for mutating actions.

Optional structured execution context attached to this tool call.

Boolean value to set. Omit to toggle the current value.
Used by: toggle_ui_preview (optional).

Optional idempotency key scoped to the pinned Studio target and normalized scenario. Used by: test_session_start.

Normalized locale identifier requested for the active Experience Language. Used by: experience_language_set.

Playtest mode. "play" = Play mode (F5, default), "run" = Run mode (F8). Used by: play_start, run_test.

Optional replay-ready metadata attached to this tool call.

Restore the profile snapshot after the play session or automated test finishes. Defaults to true when testProfile is provided. Used by: play_start, test_session_start, run_test.

Structured protocol v1 scenario. Mode defaults to play and clients defaults to one. Used by: test_session_start.

Luau test body for the explicit legacy opt-in executionKind="raw_luau" path. It is injected into ServerScriptService.__MCP_TestRunner. Used by: run_test only.

Structured test session identifier returned by test_session_start. Used by: test_session_status, test_session_stop.

Optional opaque cursor returned by a previous status page. Used by: test_session_status.

Maximum step evidence entries in one status page. Defaults to 20 and cannot exceed 50. Used by: test_session_status.

Optional Studio target selector. Routes this call to the connected WEPPY Studio target alias shown in Dashboard/Plugin, such as studio-1. Takes precedence over placeId.

Optional Player Emulator test profile patch. Used by: test_profile_set, play_start, test_session_start, run_test.

Optional report display name for the automated playtest run. Used by: run_test.

Timeout in seconds for the automated playtest run. Default: 60. Maximum: 300. Used by: run_test.

[PRO] Project sync management: status, history, effective policy, and synced file access.

[PRO] Sync action. status_current_place: get sync status for the current connected place. history: get change history. policy: get the effective version 2 policy and capabilities. read_file: read a synced file. write_file: write to a synced file. progress: get real-time sync progress and bandwidth.

File content to write. Used by: write_file.

Instance path for file read/write. Used by: read_file, write_file.

Place ID for sync operations. Used by: history, policy, read_file, write_file.

Query parameters for history. Used by: history.

Maximum entries to return.

Number of entries to skip.

[PRO] Terrain operations: fill shapes, clear regions, replace materials, manage colors, read/write voxels, generate procedural terrain, smooth terrain.

[PRO] Terrain action. fill_block/fill_ball/fill_cylinder/fill_wedge: fill shapes with material. clear_region/clear_bounds: clear terrain. replace_material: swap materials in region. colors_get/colors_set: manage material colors. read_voxel: single voxel. read_voxels/write_voxels: bulk voxels. generate: procedural terrain. smooth: smooth terrain.

Height variation amplitude in studs. Used by: generate. Default: 24.

Base terrain height in studs. Used by: generate. Default: 32.

Center position as Vector3. Used by: fill_ball.

Position and rotation for fill shapes. Used by: fill_block, fill_cylinder, fill_wedge.

Optional rotation in degrees.

Optional Studio target selector. Routes this call to the exact connected WEPPY Plugin client. Takes precedence over targetAlias and placeId.

RGB color (0-255). Used by: colors_set.

Optional execution context identifier. Used to continue an existing context for mutating actions.

Optional structured execution context attached to this tool call.

Blend generated heights into existing terrain at region borders. Used by: generate.

Blend falloff width in studs. Default: 32.

Noise frequency (0.001-0.1). Used by: generate. Default: 0.01.

Height in studs. Used by: fill_cylinder.

Smoothing intensity (0-1). Used by: smooth. Default: 0.5.

Material layers by height. Used by: generate. Each: {material, maxHeight}.

Terrain material name (e.g., Grass, Rock, Water, Sand, Slate, Concrete). Used by: fill_*, replace_material, colors_get, colors_set.

Material palette override {surface, cliff, shore, underwater}. Used by: generate.

3D array of material names [x][y][z]. Used by: write_voxels.

Maximum corner for bounds-based clear. Used by: clear_bounds.

Minimum corner for bounds-based clear. Used by: clear_bounds.

3D array of occupancy values [x][y][z] (0-1). Used by: write_voxels.

fBm noise octave count (1-8). Used by: generate. Default: 4.

Amplitude decay between octaves (0-1). Used by: generate. Default: 0.5.

Position as Vector3. Used by: read_voxel.

Biome preset for natural terrain. Used by: generate. Explicit parameters override preset values.

mountains hills plains dunes islands canyon

Radius in studs. Used by: fill_ball, fill_cylinder.

Rectangular region with min/max corners. Used by: clear_region, replace_material, read_voxels, write_voxels, generate, smooth.

Optional replay-ready metadata attached to this tool call.

Voxel resolution (studs per voxel). Used by: read_voxels, write_voxels. Default: 4.

Random seed for terrain generation. Used by: generate.

Size in studs. Used by: fill_block, fill_wedge.

Material to replace. Used by: replace_material.

Optional Studio target selector. Routes this call to the connected WEPPY Studio target alias shown in Dashboard/Plugin, such as studio-1. Takes precedence over placeId.

Replacement material. Used by: replace_material.

Absolute water surface height in studs. Used by: generate. Empty space below this level is filled with Water.

[PRO] Tween service: create, play, pause, cancel tweens for smooth animations.

[PRO] Tween action. create: create a new tween with target properties. play: play a created tween. pause: pause a running tween. cancel: cancel a tween.

Optional Studio target selector. Routes this call to the exact connected WEPPY Plugin client. Takes precedence over targetAlias and placeId.

Optional execution context identifier. Used to continue an existing context for mutating actions.

Optional structured execution context attached to this tool call.

Instance path to tween. Used by: create (required).

Target property values to tween to. Used by: create. Supports Vector3, Color3, numbers, etc.

Tween identifier returned by create. Used by: play, pause, cancel.

Tween configuration. Used by: create.

Delay before tween starts in seconds. Default: 0.

Easing direction. Default: "Out".

Easing style (e.g., "Linear", "Quad", "Cubic", "Sine", "Bounce", "Elastic"). Default: "Quad".

Number of times to repeat. -1 for infinite. Default: 0.

Whether the tween reverses on each repeat. Default: false.

Duration in seconds. Default: 1.

Create / update / verify Roblox in-game UI (ScreenGui / Frame / TextLabel / …). Always start with `design_brief`. For ambiguous input, it inspects Studio context and returns candidate brief patches; Do not dump enum lists at the user. Pass relevant repository evidence in `projectContext`; explicit screen job, visual thesis, forbidden defaults, tokens, and approved assets determine the direction without a built-in subject preset. `design_brief` returns a primary-view-first Design Contract and an advisory Layout Plan with neutral regions, AnchorPoint strategy, and responsive behavior; it is not a hard tree preset or style quota. A calling agent may declare provider-neutral image generation capability through `agentCapabilities`; missing or unavailable capability must use the explicit existing, user-provided, Creator Store, or assetless fallback. Keep the returned `brief_id`, `design_contract`, and `layout_plan` through creation, update, preview, and check. The asset recommendation gate considers user references, project assets, existing UI, and user-approved `manage_assets.search` intent; do not use a recommendation until the user accepts it. After each meaningful create or update, preview the representative primary view and submit a calling-agent critic verdict (`recompose`, `refine`, or `approved`) with `visualReview`. Read `primary_visual_verdict`, `functional_safe`, `responsive_requirement`, `responsive_ready`, `required_dimensions`, and `readiness` separately from mutation success. Responsive evidence blocks readiness only when the Design Contract marks it required. Read `weppy://ui-studio/guide` for the authoring workflow, `weppy://ui-studio/tokens` for optional visual examples, and `weppy://ui-studio/functional-rules` for machine-readable advisory evidence rules. Design Check permits `priority_high` only for observed functional visual failures such as meaningful overlap, unreadable content, invalid geometry, or primary-view occlusion; style-only findings remain medium or low.

UI action. [PRO]: design_brief, create_tree, update, delete, preview, check.

design_brief create_tree update delete preview check

Optional provider-neutral capability declaration from the calling agent after it inspects callable tools and output channels. Do not infer these values from a model or client name. Used by: design_brief.

Short non-secret evidence such as callable tool and local output channel names. Never include provider credentials.

Complete or partial design_brief object. Used by: design_brief (optional; partial allowed).

Use tokens_ref only when source="tokens", and custom only when source="custom". The server accepts the branch selected by source.

Key under `palettes` in `weppy://ui-studio/tokens` (e.g. modern_dark, brutalist_concrete, cottagecore_warm). Read tokens for the full menu and each palette's mood / pairs_with / avoid_for metadata before choosing.

User-provided reference images or Roblox asset IDs. User references outrank existing UI images and Creator Store search candidates in the asset recommendation gate.

modern retro casual dark minimalist playful

Accepted brief identifier returned by design_brief. Used by: create_tree/update (required), preview/check (optional).

Partial update specification: {properties?: {...}, addChildren?: Tree[], removeChildren?: [string]}
properties contains key/value pairs compatible with Instance property assignment. Values follow the Property value encoding documented by tree.

Optional Studio target selector. Routes this call to the exact connected WEPPY Plugin client. Takes precedence over targetAlias and placeId.

Optional execution context identifier. Used to continue an existing context for mutating actions.

Optional structured execution context attached to this tool call.

Selected Design Contract target profile IDs. Used by: preview, check.

Optional project-specific design evidence used by design_brief. Explicit user and experience evidence determines recommendations; WEPPY does not infer a subject preset.

Optional user-approved Creator Store search intent. WEPPY does not synthesize subject queries when omitted.

Project evidence for required, optional, or intentionally absent imagery.

Optional role-specific layout preferences. Explicit user and project evidence outrank WEPPY fallback values.

Optional maximum distance from the declared safe-area edge to painted content.

no_wrap condense reflow paginate collapse

computer phone tablet console vr unknown

Whether responsive profile coverage is advisory or required for readiness. Defaults to recommended.

primary secondary compatibility excluded

id tier viewport_class orientation input_modes evidence

Optional replay-ready metadata attached to this tool call.

Optional Studio target selector. Routes this call to the connected WEPPY Studio target alias shown in Dashboard/Plugin, such as studio-1. Takes precedence over placeId.

Path to existing UI instance. Both `StarterGui.MyGui` and `game.StarterGui.MyGui` are accepted. Used by: update, delete (required).

Declarative UI tree JSON. The root must be ScreenGui.
Schema: {className: string, name?: string, parent?: string, properties?: {...}, layoutMetadata?: {...}, children?: Tree[]}
Omit parent to use StarterGui. className is limited to supported Roblox GUI classes: ScreenGui/Frame/TextLabel/TextButton/ImageLabel/ImageButton/ScrollingFrame/TextBox/UIListLayout/UIGridLayout/UIPadding/UICorner/UIStroke/UIAspectRatioConstraint/UIGradient/UITextSizeConstraint/UISizeConstraint/UIScale/UIFlexItem/UIShadow/UIPageLayout/UITableLayout/CanvasGroup/UIDragDetector.

Default in-game structure for HUD, button, toast, card, and most menu surfaces:
ScreenGui > Frame(BackgroundTransparency=1) > visible UI elements. Reserve a direct full-screen opaque Frame under ScreenGui for modal presentation.

layoutMetadata is optional semantic evidence. When surfaceRole / placementBand / surfaceMode / decisionSource are provided, the plugin preserves them as WeppySurfaceRole / WeppyPlacementBand / WeppySurfaceMode / WeppyDecisionSource attributes.

Property value encoding:
Use {xScale, xOffset, yScale, yOffset} for UDim2, {scale, offset} for UDim, {r, g, b} for Color3, {x,y}/{x,y,z} for Vector2/Vector3, and the item name string for Enum values.

Viewport review mode. selected_profiles uses profileIds from the accepted Design Contract. Used by: preview, check.

Optional provider-neutral visual review written by the calling agent after it inspects one saved manage_ui.preview screenshot. Findings are advisory only and never block UI changes. Used by: check.

Zero or more visual findings. An empty array requires verdict=approved, a non-empty summary, and representative context evidence.

Visible GUI path from the reviewed snapshot metadata.

rule path displayPriority actual expected hint

Declares whether the reviewed snapshot covered interaction states and representative gameplay context. Omitting reviewContext treats both contexts as not reviewed.

Exact saved manage_ui.preview snapshot_id reviewed by the calling agent.

Non-empty critic rationale grounded in the reviewed snapshot and reference evidence.

Primary visual critic verdict for the reviewed snapshot.

Create, delete, clone, move, rename, or pivot instances. [PRO] create_tree, mass_create, mass_delete, mass_duplicate, smart_duplicate, scatter.

Mutation action. Basic: create, create_with_props, delete, clone, move, rename, pivot. [PRO]: create_tree, mass_create, mass_delete, mass_duplicate, smart_duplicate, scatter.

Align instances to the surface normal (yaw jitter always applies). Used by: scatter. Default: false.

Skip points whose ground is Water. Used by: scatter. Default: true.

Target CFrame as 12-number array [x, y, z, r00, r01, r02, r10, r11, r12, r20, r21, r22]. Used by: pivot.

Roblox class name (e.g., Part, Script, Folder). Used by: create, create_with_props.

Optional Studio target selector. Routes this call to the exact connected WEPPY Plugin client. Takes precedence over targetAlias and placeId.

Optional execution context identifier. Used to continue an existing context for mutating actions.

Optional structured execution context attached to this tool call.

[PRO] Number of copies to create. Used by: smart_duplicate, scatter.

[PRO] Array of instance specifications for batch creation. Used by: mass_create. Each item: {className, name, parentPath, properties?}.

Maximum ground slope in degrees for placement. Used by: scatter. Default: 30.

Minimum distance between placements in studs. Used by: scatter.

Name for the instance. Used by: create (optional), create_with_props (required).

New name for instance. Used by: rename (required), clone (optional).

New parent path to move instance to. Used by: move.

Relative offset to move by (ignores position/cframe). Used by: pivot, smart_duplicate.

Parent path for new instance. Used by: create, create_with_props.

Folder name that groups the results. Used by: scatter. Default: WeppyScatter_<seed>.

Instance path to operate on. Used by: delete, clone (as sourcePath), move, rename, pivot, smart_duplicate.

[PRO] Array of instance paths. Used by: mass_delete, mass_duplicate.

Target position as Vector3 {x, y, z}. Used by: pivot.

Properties to set on the instance. Supports Vector3, Color3, CFrame, UDim2, Enum types. Used by: create (optional), create_with_props (required).

Placement region {min, max} in world studs (XZ used for sampling, Y bounds the ground raycast). Used by: scatter.

Optional replay-ready metadata attached to this tool call.

Uniform scale jitter range. Used by: scatter. Default: {min: 0.85, max: 1.25}.

Deterministic placement seed. Used by: scatter.

Optional same Studio/plugin session debug identity for verifying a duplicate-named target. Used by: delete, clone, move, rename, pivot, smart_duplicate.

Optional 1-based same-name sibling index fallback for verifying a duplicate-named target. Used by: delete, clone, move, rename, pivot, smart_duplicate.

Source instance path to clone from. Used by: clone. Alternative to path.

Optional Studio target selector. Routes this call to the connected WEPPY Studio target alias shown in Dashboard/Plugin, such as studio-1. Takes precedence over placeId.

Target parent for cloned/duplicated instances. Used by: clone, mass_duplicate, smart_duplicate.

Template instance paths to clone. Used by: scatter. Multiple templates are picked uniformly at random.

[PRO] Instance tree specification for hierarchical creation. Used by: create_tree.

Query Roblox instances: get, children, find child/descendant, wait for child, class info, search by name/class. [PRO] file_tree, project_structure, descendants, ancestors, search by property/tag.

Query action to perform. Basic: get, children, find_child, find_descendant, wait_for_child, class_info, search_name, search_class. [PRO]: search_property, search_tag, file_tree, project_structure, descendants, ancestors.

Case-sensitive name search. Used by: search_name. Default: false.

Name of the child instance to find. Used by: find_child, wait_for_child.

Roblox class name. Used by: find_child/find_descendant (optional filter), class_info (required), search_class (required).

Optional Studio target selector. Routes this call to the exact connected WEPPY Plugin client. Takes precedence over targetAlias and placeId.

[PRO] Maximum depth for project structure traversal. Used by: project_structure. Default: 3.

Name of the descendant instance to find. Used by: find_descendant.

[PRO] Include Roblox services when root is "game". Used by: file_tree. Default: true.

Include subclasses in class search (e.g., BasePart finds Part, MeshPart). Used by: search_class. Default: true.

Maximum depth for recursive traversal. Used by: children (default: 10), file_tree (default: 5).

Maximum results to return. Used by: search_name, search_class, search_property, search_tag, descendants. Default: 100.

Instance path to query (e.g., "game.Workspace.Part"). Used by: get, children, find_child, find_descendant, wait_for_child, descendants, ancestors.

[PRO] Property name to search by. Used by: search_property.

[PRO] Property value to match. Used by: search_property.

Search pattern for name search (supports * and ? wildcards). Used by: search_name.

If true, returns all descendants instead of just immediate children. Used by: children. Default: false.

Root path to search/scan from. Used by: search_name, search_class, search_property, search_tag, file_tree, project_structure. Default: "game".

Optional same Studio/plugin session debug identity for resolving duplicate-named path targets. Used by: get, children, descendants, ancestors.

Optional 1-based same-name sibling index fallback for resolving duplicate-named path targets. Used by: get, children, descendants, ancestors.

[PRO] Tag string to search by (case-sensitive). Used by: search_tag.

Optional Studio target selector. Routes this call to the connected WEPPY Studio target alias shown in Dashboard/Plugin, such as studio-1. Takes precedence over placeId.

Maximum time to wait in seconds. Used by: wait_for_child. Default: 5. Maximum: 30.

[PRO] Spatial queries: raycast, find ground, check placement, multi-raycast, scan area, find flat areas, find spawn positions, analyze walkable, spatial map, find empty space, get bounds, snap to grid, check collision.

[PRO] Spatial action. raycast: single ray. find_ground: ground below point. check_placement: collision-free placement check. multi_raycast: batch rays. scan_area: heightmap generation. find_flat: flat areas for building. find_spawn: spawn positions. analyze_walkable: walkability grid. spatial_map: all BasePart positions. find_space: empty space for object. bounds: bounding box. snap_grid: snap position to grid. collision: AABB collision check.

Bounding box for analysis. Used by: analyze_walkable. Contains min/max.

Axes to snap. Used by: snap_grid. Default: ["x","y","z"]. Use ["x","z"] for horizontal only.

Center point for area scan. Used by: scan_area.

Character height for clearance checks. Used by: analyze_walkable. Default: 5.

Verify ground support for placement. Used by: check_placement. Default: true.

Optional Studio target selector. Routes this call to the exact connected WEPPY Plugin client. Takes precedence over targetAlias and placeId.

Number of results to find. Used by: find_spawn. Default: 10.

Ray direction and length as Vector3. Used by: raycast.

Instance paths to filter (alias for filterList). Used by: raycast, multi_raycast, find_ground, check_placement, scan_area.

Instance paths to filter. Used by: raycast, multi_raycast, find_ground, check_placement, scan_area. Alias: filterInstances.

Raycast filter type. Used by: raycast, multi_raycast. Default: "Exclude".

Grid snap size in studs. Used by: snap_grid (default: 4), find_space (default: 4).

Grid snap size. Alias for gridSize.

Instance paths to ignore in collision check. Used by: collision.

Ignore terrain water. Used by: raycast, multi_raycast. Default: false.

Include Model bounding boxes. Used by: spatial_map. Default: true.

Maximum distance for ground search. Used by: find_ground. Default: 1000.

Maximum results. Used by: spatial_map (default: 500), scan_area (default: 500), find_flat (default: 10).

Maximum slope in degrees. Used by: find_flat (default: 10), analyze_walkable (default: 45).

Maximum step height. Used by: analyze_walkable. Default: 2.

Minimum flat area size. Used by: find_flat.

Minimum distance between spawn positions. Used by: find_spawn. Default: 10.

Vertical offset for ground position. Used by: find_ground. Default: 0.

Ray origin as Vector3. Used by: raycast.

Minimum distance from other objects. Used by: find_space. Default: 1.

Instance path. Used by: bounds (optional), snap_grid (required), collision (required), spatial_map (rootPath alias).

Multiple instance paths for batch bounds. Used by: bounds.

Position as Vector3. Used by: find_ground (cast from here), check_placement (center), collision (hypothetical position).

Prefer open sky positions. Used by: find_spawn. Default: false.

Array of ray specifications. Used by: multi_raycast. Max 50 rays.

Grid resolution in studs. Used by: scan_area, analyze_walkable. Default: 4.

Root path for spatial map scan. Used by: spatial_map. Default: "game.Workspace".

Rotation in degrees. Used by: check_placement.

Bounding box for search. Used by: find_flat, find_spawn, find_space.

Size as Vector3. Used by: check_placement (object size), find_space (required space size), scan_area (area X/Z dimensions).

Size of spawning entity. Used by: find_spawn. Default: {x:4, y:5, z:4}.

Optional Studio target selector. Routes this call to the connected WEPPY Studio target alias shown in Dashboard/Plugin, such as studio-1. Takes precedence over placeId.

Height variation tolerance in studs. Used by: find_flat.

System info: ping, connection status, usage tier, and read-only Studio preflight diagnostics. [PRO] place info and services list.

System action. Basic: ping (test connection, returns pong), connection (server/plugin connection info with session IDs), usage (current tier: basic/pro), preflight (structured Studio readiness checks without changing Studio or DataStore state). [PRO]: place_info (place ID, name, game ID, creator), services (list all Roblox services).

ping connection usage place_info services preflight

Optional Studio target selector. Routes this call to the exact connected WEPPY Plugin client. Takes precedence over targetAlias and placeId.

Optional message to echo back. Used by: ping.

[PRO] Workspace state: full sync, snapshot, recent changes, viewport info, clear history, metadata, scripts, selection info, clear cache.

[PRO] State action. sync: fetch current Workspace state (hierarchy, history, stats). snapshot: get full instance tree structure. changes: get recent changes (added/removed/modified). viewport: get camera position, FOV, viewport size, selection bounds. clear_history: clear change history. metadata: get workspace metadata. scripts: get script list. selection_info: get selection info. clear_cache: clear state cache.

sync snapshot changes viewport clear_history metadata scripts selection_info clear_cache

Include camera position and settings. Used by: viewport. Default: true.

Include metadata (instance counts, timestamps). Used by: sync. Default: true.

Include current selection bounds info. Used by: viewport. Default: true.

Maximum number of changes to return. Used by: changes. Default: 20.