@weppy/roblox-mcp 1.4.2 → 1.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (52) hide show
  1. package/.claude-plugin/marketplace.json +2 -2
  2. package/README.md +18 -1
  3. package/docs/en/tools/assets-and-effects.md +104 -0
  4. package/docs/en/tools/instances-and-properties.md +104 -0
  5. package/docs/en/tools/overview.md +20 -0
  6. package/docs/en/tools/playtest.md +140 -0
  7. package/docs/en/tools/scripting.md +66 -0
  8. package/docs/en/tools/system-and-debugging.md +85 -0
  9. package/docs/en/tools/world-and-environment.md +102 -0
  10. package/docs/es/README.md +20 -3
  11. package/docs/es/tools/assets-and-effects.md +104 -0
  12. package/docs/es/tools/instances-and-properties.md +104 -0
  13. package/docs/es/tools/overview.md +20 -0
  14. package/docs/es/tools/playtest.md +140 -0
  15. package/docs/es/tools/scripting.md +66 -0
  16. package/docs/es/tools/system-and-debugging.md +85 -0
  17. package/docs/es/tools/world-and-environment.md +102 -0
  18. package/docs/id/README.md +20 -3
  19. package/docs/id/tools/assets-and-effects.md +104 -0
  20. package/docs/id/tools/instances-and-properties.md +104 -0
  21. package/docs/id/tools/overview.md +20 -0
  22. package/docs/id/tools/playtest.md +140 -0
  23. package/docs/id/tools/scripting.md +66 -0
  24. package/docs/id/tools/system-and-debugging.md +85 -0
  25. package/docs/id/tools/world-and-environment.md +102 -0
  26. package/docs/ja/README.md +20 -3
  27. package/docs/ja/tools/assets-and-effects.md +104 -0
  28. package/docs/ja/tools/instances-and-properties.md +104 -0
  29. package/docs/ja/tools/overview.md +20 -0
  30. package/docs/ja/tools/playtest.md +140 -0
  31. package/docs/ja/tools/scripting.md +66 -0
  32. package/docs/ja/tools/system-and-debugging.md +85 -0
  33. package/docs/ja/tools/world-and-environment.md +102 -0
  34. package/docs/ko/README.md +20 -3
  35. package/docs/ko/tools/assets-and-effects.md +104 -0
  36. package/docs/ko/tools/instances-and-properties.md +104 -0
  37. package/docs/ko/tools/overview.md +20 -0
  38. package/docs/ko/tools/playtest.md +134 -0
  39. package/docs/ko/tools/scripting.md +66 -0
  40. package/docs/ko/tools/system-and-debugging.md +85 -0
  41. package/docs/ko/tools/world-and-environment.md +102 -0
  42. package/docs/pt-br/README.md +20 -3
  43. package/docs/pt-br/tools/assets-and-effects.md +104 -0
  44. package/docs/pt-br/tools/instances-and-properties.md +104 -0
  45. package/docs/pt-br/tools/overview.md +20 -0
  46. package/docs/pt-br/tools/playtest.md +140 -0
  47. package/docs/pt-br/tools/scripting.md +66 -0
  48. package/docs/pt-br/tools/system-and-debugging.md +85 -0
  49. package/docs/pt-br/tools/world-and-environment.md +102 -0
  50. package/package.json +1 -1
  51. package/plugins/weppy-roblox-mcp/.claude-plugin/plugin.json +1 -1
  52. package/plugins/weppy-roblox-mcp/dist/index.js +65 -58
@@ -6,14 +6,14 @@
6
6
  },
7
7
  "metadata": {
8
8
  "description": "Roblox MCP server and tools for AI-powered game development",
9
- "version": "1.4.2"
9
+ "version": "1.5.0"
10
10
  },
11
11
  "plugins": [
12
12
  {
13
13
  "name": "weppy-roblox-mcp",
14
14
  "source": "./plugins/weppy-roblox-mcp",
15
15
  "description": "MCP server for Roblox Studio integration - AI-powered game development with specialized agents and skills",
16
- "version": "1.4.2",
16
+ "version": "1.5.0",
17
17
  "author": {
18
18
  "name": "hope1026"
19
19
  },
package/README.md CHANGED
@@ -67,7 +67,15 @@ AI works from a synchronized local mirror, so multi-file updates stay consistent
67
67
  - Basic: one-way sync (Studio -> Local)
68
68
  - Pro: bidirectional sync + per-type Direction/Apply Mode + history + multi-place
69
69
 
70
- ### 3) Roblox Explorer: Browse Studio hierarchy in VSCode
70
+ ### 3) Playtest: Let AI run and verify tests automatically
71
+
72
+ AI can control Roblox Studio playtests directly. It can start and stop Play (F5) or Run (F8), inject test scripts, collect logs, and generate local reports automatically.
73
+
74
+ - "Start a Run-mode playtest and check whether the NPC reaches the target."
75
+ - "Write a test that verifies the SpawnLocation is above the ground and run it."
76
+ - "Validate that the script I just changed runs without errors in playtest."
77
+
78
+ ### 4) Roblox Explorer: Browse Studio hierarchy in VSCode
71
79
 
72
80
  View the full instance tree of your Roblox Studio place directly inside VSCode. Navigate services, open synced scripts and property files, and track sync status — all without switching to Studio.
73
81
 
@@ -101,6 +109,15 @@ View the full instance tree of your Roblox Studio place directly inside VSCode.
101
109
  - [Compatibility](docs/compatibility.md)
102
110
  - [Troubleshooting](docs/troubleshooting.md)
103
111
 
112
+ ### Workflow Guides
113
+
114
+ - [Instances & Properties](docs/en/tools/instances-and-properties.md) - search, creation, editing, tags
115
+ - [Scripting & Code Execution](docs/en/tools/scripting.md) - script management and Luau execution
116
+ - [World & Environment](docs/en/tools/world-and-environment.md) - lighting, terrain, camera
117
+ - [Assets & Effects](docs/en/tools/assets-and-effects.md) - asset insertion, tweening, effects
118
+ - [Playtest & Automated Tests](docs/en/tools/playtest.md) - playtest control and automated validation
119
+ - [System & Debugging](docs/en/tools/system-and-debugging.md) - connection, logs, batch execution
120
+
104
121
  ## FAQ
105
122
 
106
123
  **How do I let Claude edit my Roblox scripts?**
@@ -0,0 +1,104 @@
1
+ # Assets & Effects
2
+
3
+ > Insert assets and control tweening, audio, particles, animation, and collision groups.
4
+
5
+ ## Included Tools
6
+
7
+ | Tool | Tier | Description |
8
+ |------|:----:|-------------|
9
+ | `manage_assets` | Pro | Search Creator Store, insert models and packages, inspect asset info |
10
+ | `manage_tween` | Pro | Create, play, pause, and cancel tweens |
11
+ | `manage_animation` | Pro | Load, play, stop, and inspect animation tracks |
12
+ | `manage_audio` | Pro | Play, stop, pause, and resume sounds; set the audio listener |
13
+ | `manage_effects` | Pro | Emit particles, clear effects, and toggle effect state |
14
+ | `manage_physics` | Pro | Register collision groups and configure collisions |
15
+
16
+ ## Key Workflows
17
+
18
+ ### Build a scene with assets
19
+
20
+ ```
21
+ "Search Creator Store for a tree model and place three of them in Workspace."
22
+ ```
23
+
24
+ Use `manage_assets.search_insert` to search and insert in a single step.
25
+
26
+ ### Create interactive set pieces
27
+
28
+ ```
29
+ "Make the door open with a 3-second tween when clicked."
30
+ ```
31
+
32
+ Use `manage_tween.create` to define the motion, then `manage_tween.play` to trigger it. Pair it with `manage_audio.play` for a matching sound effect.
33
+
34
+ ### Combine particles and audio
35
+
36
+ ```
37
+ "Play an explosion sound and emit burst particles when the boss appears."
38
+ ```
39
+
40
+ Use `manage_effects.emit` for the particles and `manage_audio.play` for the sound in the same workflow.
41
+
42
+ ## Action Reference
43
+
44
+ ### Manage Assets (Pro)
45
+
46
+ | Action | Description | Tier |
47
+ |--------|-------------|------|
48
+ | `insert` | Insert a model by asset ID | Pro |
49
+ | `info` | Get asset metadata | Pro |
50
+ | `search` | Search Creator Store | Pro |
51
+ | `search_insert` | Search and insert the first match | Pro |
52
+ | `insert_free` | Insert a free model | Pro |
53
+ | `insert_package` | Insert a package | Pro |
54
+ | `export` | Export the current selection | Pro |
55
+
56
+ ### Manage Tween (Pro)
57
+
58
+ | Action | Description | Tier |
59
+ |--------|-------------|------|
60
+ | `create` | Create a tween with target properties | Pro |
61
+ | `play` | Play a created tween | Pro |
62
+ | `pause` | Pause a running tween | Pro |
63
+ | `cancel` | Cancel a tween | Pro |
64
+
65
+ ### Manage Animation (Pro)
66
+
67
+ | Action | Description | Tier |
68
+ |--------|-------------|------|
69
+ | `load` | Load animation on a Humanoid or AnimationController | Pro |
70
+ | `play` | Play a loaded animation track | Pro |
71
+ | `stop` | Stop a playing animation | Pro |
72
+ | `get_tracks` | List all loaded animation tracks | Pro |
73
+
74
+ ### Manage Audio (Pro)
75
+
76
+ | Action | Description | Tier |
77
+ |--------|-------------|------|
78
+ | `play` | Play a sound and create `Sound` if needed | Pro |
79
+ | `stop` | Stop a playing sound | Pro |
80
+ | `pause` | Pause a playing sound | Pro |
81
+ | `resume` | Resume a paused sound | Pro |
82
+ | `set_listener` | Set the audio listener type or target | Pro |
83
+
84
+ ### Manage Effects (Pro)
85
+
86
+ | Action | Description | Tier |
87
+ |--------|-------------|------|
88
+ | `emit` | Emit particles from a `ParticleEmitter` | Pro |
89
+ | `clear` | Clear all particles | Pro |
90
+ | `toggle` | Enable or disable an effect | Pro |
91
+
92
+ ### Manage Physics (Pro)
93
+
94
+ | Action | Description | Tier |
95
+ |--------|-------------|------|
96
+ | `register_group` | Register a collision group | Pro |
97
+ | `set_collidable` | Set whether two groups can collide | Pro |
98
+ | `get_groups` | List all registered collision groups | Pro |
99
+
100
+ ## Related Docs
101
+
102
+ - [Instances & Properties](instances-and-properties.md) - create and place objects
103
+ - [World & Environment](world-and-environment.md) - lighting, terrain, and camera
104
+ - [Tools Reference](overview.md)
@@ -0,0 +1,104 @@
1
+ # Instances & Properties
2
+
3
+ > Search, create, and edit Roblox Studio instances while managing properties, attributes, and tags.
4
+
5
+ ## Included Tools
6
+
7
+ | Tool | Tier | Description |
8
+ |------|:----:|-------------|
9
+ | `query_instances` | Mixed | Search instances, traverse hierarchy, inspect class info |
10
+ | `mutate_instances` | Mixed | Create, delete, clone, move, and rename instances |
11
+ | `manage_properties` | Mixed | Read and write properties, attributes, and tags |
12
+
13
+ ## Key Workflows
14
+
15
+ ### Understand scene structure
16
+
17
+ ```
18
+ "Find every Part under Workspace and tell me its position and size."
19
+ ```
20
+
21
+ Use `query_instances.search_class` to find the parts, then `manage_properties.mass_get` to read `Position` and `Size` in bulk.
22
+
23
+ ### Place objects in bulk
24
+
25
+ ```
26
+ "Place 4 SpawnLocations in a square at the center of the map and give each one a different TeamColor."
27
+ ```
28
+
29
+ Use `mutate_instances.mass_create` to create them in one request, then `manage_properties.mass_set` to assign their properties together.
30
+
31
+ ### Manage tagged objects
32
+
33
+ ```
34
+ "Find every object tagged Collectible and set Anchored to true."
35
+ ```
36
+
37
+ Use `manage_properties.get_tagged` to collect the tagged instances, then `manage_properties.mass_set` to update them.
38
+
39
+ ## Action Reference
40
+
41
+ ### Query Instances (Mixed)
42
+
43
+ | Action | Description | Tier |
44
+ |--------|-------------|------|
45
+ | `get` | Get instance properties by path | Basic |
46
+ | `children` | Get immediate children or all descendants | Basic |
47
+ | `find_child` | Find first child by name and optional class filter | Basic |
48
+ | `find_descendant` | Find first descendant by name | Basic |
49
+ | `wait_for_child` | Wait for child to appear (with timeout) | Basic |
50
+ | `class_info` | Get class information and valid properties | Basic |
51
+ | `search_name` | Search instances by name pattern (supports wildcards) | Basic |
52
+ | `search_class` | Search instances by class name | Basic |
53
+ | `file_tree` | Get file tree structure from root | Pro |
54
+ | `project_structure` | Get complete project structure | Pro |
55
+ | `descendants` | Get all descendants of an instance | Pro |
56
+ | `ancestors` | Get all ancestors of an instance | Pro |
57
+ | `search_property` | Search instances by property value | Pro |
58
+ | `search_tag` | Search instances by tag | Pro |
59
+
60
+ ### Mutate Instances (Mixed)
61
+
62
+ | Action | Description | Tier |
63
+ |--------|-------------|------|
64
+ | `create` | Create a new instance | Basic |
65
+ | `create_with_props` | Create instance with initial properties | Basic |
66
+ | `delete` | Delete an instance | Basic |
67
+ | `clone` | Clone an instance | Basic |
68
+ | `move` | Move instance to a new parent | Basic |
69
+ | `rename` | Rename an instance | Basic |
70
+ | `pivot` | Set pivot position or CFrame | Basic |
71
+ | `create_tree` | Create a hierarchical instance tree | Pro |
72
+ | `mass_create` | Create multiple instances at once | Pro |
73
+ | `mass_delete` | Delete multiple instances | Pro |
74
+ | `mass_duplicate` | Duplicate multiple instances | Pro |
75
+ | `smart_duplicate` | Duplicate with spacing and count | Pro |
76
+
77
+ ### Manage Properties (Mixed)
78
+
79
+ | Action | Description | Tier |
80
+ |--------|-------------|------|
81
+ | `get` | Get a single property value | Basic |
82
+ | `set` | Set a single property value | Basic |
83
+ | `get_all` | Get all properties of an instance | Basic |
84
+ | `set_multiple` | Set multiple properties at once | Basic |
85
+ | `get_attr` | Get attribute value | Basic |
86
+ | `set_attr` | Set attribute value | Basic |
87
+ | `get_all_attrs` | Get all attributes | Basic |
88
+ | `delete_attr` | Delete an attribute | Basic |
89
+ | `add_tag` | Add a tag to an instance | Basic |
90
+ | `remove_tag` | Remove a tag from an instance | Basic |
91
+ | `check_tag` | Check whether an instance has a tag | Basic |
92
+ | `get_tags` | Get all tags on an instance | Basic |
93
+ | `get_tagged` | Get all instances with a specific tag | Basic |
94
+ | `set_calculated` | Set a property using a mathematical expression | Pro |
95
+ | `set_relative` | Set a property relative to its current value | Pro |
96
+ | `mass_set` | Set a property on multiple instances | Pro |
97
+ | `mass_get` | Get a property from multiple instances | Pro |
98
+ | `modify_children` | Modify all children of a parent | Pro |
99
+
100
+ ## Related Docs
101
+
102
+ - [Scripting & Code Execution](scripting.md) - add or update scripts on instances
103
+ - [Assets & Effects](assets-and-effects.md) - insert models, tween objects, add effects
104
+ - [Tools Reference](overview.md)
@@ -2,6 +2,20 @@
2
2
 
3
3
  For detailed parameters, check MCP tool definitions directly.
4
4
 
5
+ ## Workflow Guides
6
+
7
+ Use these workflow-oriented guides to navigate the toolset:
8
+
9
+ | Category | Description | Included tools |
10
+ |----------|-------------|----------------|
11
+ | [Instances & Properties](instances-and-properties.md) | Instance search, creation, editing, and tags | `query_instances`, `mutate_instances`, `manage_properties` |
12
+ | [Scripting & Code Execution](scripting.md) | Script management and Luau execution | `manage_scripts`, `execute_luau` |
13
+ | [World & Environment](world-and-environment.md) | Lighting, terrain, spatial queries, and camera | `manage_lighting`, `manage_terrain`, `spatial_query`, `manage_camera` |
14
+ | [Assets & Effects](assets-and-effects.md) | Asset insertion, tweening, animation, audio, and effects | `manage_assets`, `manage_tween`, `manage_animation`, `manage_audio`, `manage_effects`, `manage_physics` |
15
+ | [Playtest & Automated Tests](playtest.md) | Playtest control and automated validation | `system_info` (`play`, `stop`, `pause`, `resume`, `play_status`, `run_test`) |
16
+ | [Sync](../sync/overview.md) | Studio and local file synchronization | `manage_sync`, `workspace_state` |
17
+ | [System & Debugging](system-and-debugging.md) | Connection checks, logs, selection, and batch execution | `system_info` (`ping`, `connection`, `usage`, ...), `manage_logs`, `manage_selection`, `batch_execute` |
18
+
5
19
  Related docs:
6
20
  - [Sync Deep Dive](../sync/overview.md)
7
21
 
@@ -248,6 +262,12 @@ Sync policy:
248
262
  | `place_info` | Get place ID, name, creator | Pro |
249
263
  | `services` | List all Roblox services | Pro |
250
264
  | `studio_settings` | Get Studio preferences | Pro |
265
+ | `play` | Start playtest in Play (F5) or Run (F8) mode | Pro |
266
+ | `stop` | Stop the active playtest | Pro |
267
+ | `pause` | Pause the active Run-mode playtest | Pro |
268
+ | `resume` | Resume the paused Run-mode playtest | Pro |
269
+ | `play_status` | Get playtest state and available actions | Pro |
270
+ | `run_test` | Inject a temporary test script, run playtest, collect logs, and write local report files | Pro |
251
271
 
252
272
  ## Batch Execute (Pro)
253
273
 
@@ -0,0 +1,140 @@
1
+ # Playtest & Automated Tests
2
+
3
+ > Control Roblox Studio playtests with AI, inject test scripts, and automatically generate logs and local reports.
4
+
5
+ ## Included Tools
6
+
7
+ | Tool | Tier | Description |
8
+ |------|:----:|-------------|
9
+ | `system_info` | Pro | `play`, `stop`, `pause`, `resume`, `play_status`, `run_test` actions |
10
+
11
+ > For the other `system_info` actions such as `ping`, `connection`, and `usage`, see [System & Debugging](system-and-debugging.md).
12
+
13
+ ## Key Workflows
14
+
15
+ ### Manual playtest control
16
+
17
+ ```
18
+ "Start the game in Play mode (F5)."
19
+ "Stop the current playtest."
20
+ ```
21
+
22
+ Typical flow: `play` -> `play_status` -> `stop`.
23
+
24
+ ### Run an automated test
25
+
26
+ ```
27
+ "Write and run a test that checks whether the SpawnLocation is positioned correctly."
28
+ ```
29
+
30
+ `run_test` injects the test script, starts the playtest automatically, collects logs, and cleans up.
31
+
32
+ ### CI-style verification
33
+
34
+ ```
35
+ "Run a Run-mode (F8) test that verifies the NPC reaches the target, and show me the logs if it fails."
36
+ ```
37
+
38
+ Use `run_test` with `mode: "run"` for server-focused validation.
39
+
40
+ ## Playtest State Machine
41
+
42
+ ```text
43
+ Edit --play--> Running --stop--> Edit
44
+ | ^
45
+ pause |
46
+ | |
47
+ v |
48
+ Paused --resume--> Running
49
+ ```
50
+
51
+ | State | Available actions |
52
+ |-------|-------------------|
53
+ | `edit` | `play` |
54
+ | `running` | `stop`, `pause` (Run mode only) |
55
+ | `paused` | `resume`, `stop` |
56
+
57
+ - Play mode (F5): client + server simulation, no pause or resume
58
+ - Run mode (F8): server-only simulation, supports pause and resume
59
+
60
+ ## `run_test` Pipeline
61
+
62
+ `run_test` orchestrates these steps automatically:
63
+
64
+ ### 1. Prepare
65
+
66
+ - Read place information with `place_info`
67
+ - Clear the existing log buffer
68
+
69
+ ### 2. Inject the script
70
+
71
+ - Create `ServerScriptService.__MCP_TestRunner` with a wrapped test script
72
+ - The wrapper handles `START` and `FINISHED` signals plus error tracebacks
73
+
74
+ ### 3. Execute and monitor
75
+
76
+ - Start the playtest in Play or Run mode
77
+ - Poll logs every 500 ms
78
+ - Finish when `[WEPPY_TEST]:FINISHED` is detected
79
+ - Stop automatically on timeout (default 60 seconds, maximum 300)
80
+
81
+ ### 4. Clean up
82
+
83
+ - Stop the playtest automatically
84
+ - Delete the injected test script
85
+ - Collect final logs
86
+
87
+ ### 5. Write reports
88
+
89
+ Reports and logs are written to local files:
90
+
91
+ ```text
92
+ roblox-project-sync/place_XXXXX/tests/YYYYMMDD-HHmmss/
93
+ ├── test-report.md
94
+ └── test-log.txt
95
+ ```
96
+
97
+ Example `test-report.md`:
98
+
99
+ ```markdown
100
+ # Test Report
101
+
102
+ - Status: passed
103
+ - Test Name: spawn_location_test
104
+ - Mode: run
105
+ - Place ID: 123456
106
+ - Duration (ms): 1523
107
+ - Total Logs: 12
108
+ - Signal Count: 2
109
+
110
+ ## Signals
111
+
112
+ - START: 2026-03-12T10:30:00.000Z
113
+ - FINISHED: 2026-03-12T10:30:01.523Z
114
+ ```
115
+
116
+ ## Action Reference
117
+
118
+ | Action | Description | Parameters | Tier |
119
+ |--------|-------------|------------|------|
120
+ | `play` | Start a playtest in Play (F5) or Run (F8) mode | `mode`: `"play"` \| `"run"` | Pro |
121
+ | `stop` | Stop the current playtest | - | Pro |
122
+ | `pause` | Pause a Run-mode playtest | - | Pro |
123
+ | `resume` | Resume a paused Run-mode playtest | - | Pro |
124
+ | `play_status` | Get playtest state and available actions | - | Pro |
125
+ | `run_test` | Inject a test script, run playtest, collect logs, and write reports | `script` (required), `test_name`, `mode`, `timeout` | Pro |
126
+
127
+ ### `run_test` Parameters
128
+
129
+ | Parameter | Type | Required | Description |
130
+ |-----------|------|:--------:|-------------|
131
+ | `script` | string | ✅ | Luau test code body to execute |
132
+ | `test_name` | string | - | Display name used in the report |
133
+ | `mode` | `"play"` \| `"run"` | - | Playtest mode, defaults to `"play"` |
134
+ | `timeout` | number | - | Timeout in seconds, default 60, maximum 300 |
135
+
136
+ ## Related Docs
137
+
138
+ - [System & Debugging](system-and-debugging.md) - connection actions and log management
139
+ - [Scripting & Code Execution](scripting.md) - write scripts and run Luau
140
+ - [Tools Reference](overview.md)
@@ -0,0 +1,66 @@
1
+ # Scripting & Code Execution
2
+
3
+ > Manage script source code and run arbitrary Luau inside Roblox Studio.
4
+
5
+ ## Included Tools
6
+
7
+ | Tool | Tier | Description |
8
+ |------|:----:|-------------|
9
+ | `manage_scripts` | Mixed | Create, read, edit, search, and analyze script dependencies |
10
+ | `execute_luau` | Pro | Run arbitrary Luau in the Roblox Studio sandbox |
11
+
12
+ ## Key Workflows
13
+
14
+ ### Edit a script
15
+
16
+ ```
17
+ "Change maxPlayers from 12 to 24 in the GameManager script under ServerScriptService."
18
+ ```
19
+
20
+ Use `manage_scripts.search` to find the relevant line, then `manage_scripts.edit_replace` to update it.
21
+
22
+ ### Refactor multiple scripts (Pro)
23
+
24
+ ```
25
+ "Replace OldModule with NewModule across every script."
26
+ ```
27
+
28
+ Use `manage_scripts.replace` to apply the change across multiple scripts in one request.
29
+
30
+ ### Inspect runtime data (Pro)
31
+
32
+ ```
33
+ "Calculate the average Health of every Humanoid currently in Workspace."
34
+ ```
35
+
36
+ Use `execute_luau` to run custom Luau and read live runtime data.
37
+
38
+ ## Action Reference
39
+
40
+ ### Manage Scripts (Mixed)
41
+
42
+ | Action | Description | Tier |
43
+ |--------|-------------|------|
44
+ | `get_source` | Get script source code | Basic |
45
+ | `set_source` | Set script source code | Basic |
46
+ | `create` | Create a new script | Basic |
47
+ | `delete` | Delete a script | Basic |
48
+ | `edit_replace` | Replace specific lines in a script | Basic |
49
+ | `edit_insert` | Insert lines at a position | Basic |
50
+ | `edit_delete` | Delete specific lines | Basic |
51
+ | `search` | Search for text in scripts | Basic |
52
+ | `get_dependencies` | Get script dependencies | Basic |
53
+ | `replace` | Batch replace across scripts | Pro |
54
+
55
+ ### Execute Luau (Pro)
56
+
57
+ Run arbitrary Luau inside the Roblox Studio sandbox.
58
+
59
+ - Blocked services: `HttpService`, `DataStoreService`, `MessagingService`
60
+ - Inaccessible APIs: `CoreGui`, `CorePackages`
61
+
62
+ ## Related Docs
63
+
64
+ - [Instances & Properties](instances-and-properties.md) - create or move script instances
65
+ - [Playtest & Automated Tests](playtest.md) - inject and run test scripts
66
+ - [Tools Reference](overview.md)
@@ -0,0 +1,85 @@
1
+ # System & Debugging
2
+
3
+ > Check connection state, manage logs, control Studio selection, and batch commands for debugging workflows.
4
+
5
+ ## Included Tools
6
+
7
+ | Tool | Tier | Description |
8
+ |------|:----:|-------------|
9
+ | `system_info` | Mixed | `ping`, `connection`, `usage`, `place_info`, `services`, `studio_settings` |
10
+ | `manage_logs` | Basic | Query logs, clear buffers, and filter recent errors |
11
+ | `manage_selection` | Mixed | Read, replace, and monitor Studio selection |
12
+ | `batch_execute` | Pro | Execute multiple commands in one batch |
13
+
14
+ > For the playtest actions on `system_info` such as `play`, `stop`, and `run_test`, see [Playtest & Automated Tests](playtest.md).
15
+
16
+ ## Key Workflows
17
+
18
+ ### Check the connection
19
+
20
+ ```
21
+ "Check whether Studio is connected correctly."
22
+ ```
23
+
24
+ Use `system_info.ping` for a quick health check.
25
+
26
+ ### Debug recent errors
27
+
28
+ ```
29
+ "Show me the most recent error logs."
30
+ ```
31
+
32
+ Use `manage_logs.errors` to filter only recent errors. `manage_logs.get` also supports incremental polling with a `sinceSeq` cursor.
33
+
34
+ ### Run a batch workflow (Pro)
35
+
36
+ ```
37
+ "Turn every Part in Workspace red, then focus the camera on the first one."
38
+ ```
39
+
40
+ Use `batch_execute` to bundle multiple commands into one request.
41
+
42
+ ## Action Reference
43
+
44
+ ### System Info (Mixed)
45
+
46
+ | Action | Description | Tier |
47
+ |--------|-------------|------|
48
+ | `ping` | Test the connection | Basic |
49
+ | `connection` | Get server and plugin connection info | Basic |
50
+ | `usage` | Get the current tier (`basic` or `pro`) | Basic |
51
+ | `place_info` | Get place ID, name, and creator | Pro |
52
+ | `services` | List all Roblox services | Pro |
53
+ | `studio_settings` | Get Studio preferences | Pro |
54
+
55
+ ### Manage Logs (Basic)
56
+
57
+ | Action | Description | Tier |
58
+ |--------|-------------|------|
59
+ | `get` | Get filtered logs with optional `sinceSeq` cursor support | Basic |
60
+ | `clear` | Clear the log buffer | Basic |
61
+ | `errors` | Get recent errors only | Basic |
62
+
63
+ ### Manage Selection (Mixed)
64
+
65
+ | Action | Description | Tier |
66
+ |--------|-------------|------|
67
+ | `get` | Get the current selection | Basic |
68
+ | `set` | Replace the current selection | Basic |
69
+ | `clear` | Clear the selection | Basic |
70
+ | `cached` | Get cached selection without a round trip | Basic |
71
+ | `context` | Get detailed context with source and properties | Pro |
72
+ | `details` | Get hierarchical details with ancestors and descendants | Pro |
73
+ | `add` | Add items to the selection | Pro |
74
+ | `remove` | Remove items from the selection | Pro |
75
+ | `watch` | Monitor selection changes | Pro |
76
+
77
+ ### Batch Execute (Pro)
78
+
79
+ Execute multiple commands in one batch. Each command includes a tool name and arguments, runs sequentially, and can optionally continue after errors.
80
+
81
+ ## Related Docs
82
+
83
+ - [Playtest & Automated Tests](playtest.md) - playtest control on `system_info`
84
+ - [Scripting & Code Execution](scripting.md) - run Luau for investigation or debugging
85
+ - [Tools Reference](overview.md)
@@ -0,0 +1,102 @@
1
+ # World & Environment
2
+
3
+ > Build and inspect the game world with lighting, terrain, spatial queries, and camera tools.
4
+
5
+ ## Included Tools
6
+
7
+ | Tool | Tier | Description |
8
+ |------|:----:|-------------|
9
+ | `manage_lighting` | Pro | Configure Lighting, Atmosphere, Sky, and time of day |
10
+ | `manage_terrain` | Pro | Generate and edit terrain, including voxel data |
11
+ | `spatial_query` | Pro | Raycasts, ground checks, placement validation, and heightmaps |
12
+ | `manage_camera` | Basic | Inspect camera state, move focus, and get suggested views |
13
+
14
+ ## Key Workflows
15
+
16
+ ### Set the mood (Pro)
17
+
18
+ ```
19
+ "Switch the map to a sunset mood with orange skies, heavier fog, and 18:00 time."
20
+ ```
21
+
22
+ Use `manage_lighting.time` for the clock, `manage_lighting.atmosphere` for fog, and `manage_lighting.sky` for sky visuals.
23
+
24
+ ### Shape terrain (Pro)
25
+
26
+ ```
27
+ "Create a grassy hill with radius 200 at the center of the map and surround it with water."
28
+ ```
29
+
30
+ Use `manage_terrain.fill_ball` for the hill, then `manage_terrain.fill_block` to place surrounding water.
31
+
32
+ ### Validate placement (Pro)
33
+
34
+ ```
35
+ "Find a flat area where I can place this building."
36
+ ```
37
+
38
+ Use `spatial_query.find_flat` to find candidates, `spatial_query.check_placement` to validate them, and `manage_camera.focus_position` to inspect the result visually.
39
+
40
+ ## Action Reference
41
+
42
+ ### Manage Lighting (Pro)
43
+
44
+ | Action | Description | Tier |
45
+ |--------|-------------|------|
46
+ | `lighting` | Set Lighting service properties | Pro |
47
+ | `atmosphere` | Set Atmosphere properties | Pro |
48
+ | `sky` | Set Sky properties | Pro |
49
+ | `terrain_props` | Set Terrain water and visual properties | Pro |
50
+ | `time` | Set time of day | Pro |
51
+
52
+ ### Manage Terrain (Pro)
53
+
54
+ | Action | Description | Tier |
55
+ |--------|-------------|------|
56
+ | `fill_block` | Fill block-shaped terrain | Pro |
57
+ | `fill_ball` | Fill sphere-shaped terrain | Pro |
58
+ | `fill_cylinder` | Fill cylinder-shaped terrain | Pro |
59
+ | `fill_wedge` | Fill wedge-shaped terrain | Pro |
60
+ | `clear_region` | Clear terrain in a region | Pro |
61
+ | `clear_bounds` | Clear terrain in bounds | Pro |
62
+ | `replace_material` | Replace material in a region | Pro |
63
+ | `colors_get` | Get material colors | Pro |
64
+ | `colors_set` | Set material colors | Pro |
65
+ | `read_voxel` | Read a single voxel | Pro |
66
+ | `read_voxels` | Read bulk voxel data | Pro |
67
+ | `write_voxels` | Write bulk voxel data | Pro |
68
+ | `generate` | Generate procedural terrain | Pro |
69
+ | `smooth` | Smooth terrain | Pro |
70
+
71
+ ### Spatial Query (Pro)
72
+
73
+ | Action | Description | Tier |
74
+ |--------|-------------|------|
75
+ | `raycast` | Cast a single ray | Pro |
76
+ | `find_ground` | Find the ground position below a point | Pro |
77
+ | `check_placement` | Check whether a placement is collision-free | Pro |
78
+ | `multi_raycast` | Cast multiple rays in batch | Pro |
79
+ | `scan_area` | Generate a heightmap of an area | Pro |
80
+ | `find_flat` | Find flat areas for building | Pro |
81
+ | `find_spawn` | Find suitable spawn positions | Pro |
82
+ | `analyze_walkable` | Analyze a walkability grid | Pro |
83
+ | `spatial_map` | Get all BasePart positions | Pro |
84
+ | `find_space` | Find empty space for an object | Pro |
85
+ | `bounds` | Get instance bounding boxes | Pro |
86
+ | `snap_grid` | Snap a position to the grid | Pro |
87
+ | `collision` | Check AABB collision | Pro |
88
+
89
+ ### Manage Camera (Basic)
90
+
91
+ | Action | Description | Tier |
92
+ |--------|-------------|------|
93
+ | `info` | Get camera position, rotation, FOV, and viewport size | Basic |
94
+ | `focus_path` | Move the camera to focus on an instance | Basic |
95
+ | `focus_position` | Move the camera to focus on a position | Basic |
96
+ | `suggest` | Get a suggested camera view for a target | Basic |
97
+
98
+ ## Related Docs
99
+
100
+ - [Instances & Properties](instances-and-properties.md) - place world objects
101
+ - [Assets & Effects](assets-and-effects.md) - add effects, audio, and animation
102
+ - [Tools Reference](overview.md)