@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.
- package/.claude-plugin/marketplace.json +2 -2
- package/README.md +18 -1
- package/docs/en/tools/assets-and-effects.md +104 -0
- package/docs/en/tools/instances-and-properties.md +104 -0
- package/docs/en/tools/overview.md +20 -0
- package/docs/en/tools/playtest.md +140 -0
- package/docs/en/tools/scripting.md +66 -0
- package/docs/en/tools/system-and-debugging.md +85 -0
- package/docs/en/tools/world-and-environment.md +102 -0
- package/docs/es/README.md +20 -3
- package/docs/es/tools/assets-and-effects.md +104 -0
- package/docs/es/tools/instances-and-properties.md +104 -0
- package/docs/es/tools/overview.md +20 -0
- package/docs/es/tools/playtest.md +140 -0
- package/docs/es/tools/scripting.md +66 -0
- package/docs/es/tools/system-and-debugging.md +85 -0
- package/docs/es/tools/world-and-environment.md +102 -0
- package/docs/id/README.md +20 -3
- package/docs/id/tools/assets-and-effects.md +104 -0
- package/docs/id/tools/instances-and-properties.md +104 -0
- package/docs/id/tools/overview.md +20 -0
- package/docs/id/tools/playtest.md +140 -0
- package/docs/id/tools/scripting.md +66 -0
- package/docs/id/tools/system-and-debugging.md +85 -0
- package/docs/id/tools/world-and-environment.md +102 -0
- package/docs/ja/README.md +20 -3
- package/docs/ja/tools/assets-and-effects.md +104 -0
- package/docs/ja/tools/instances-and-properties.md +104 -0
- package/docs/ja/tools/overview.md +20 -0
- package/docs/ja/tools/playtest.md +140 -0
- package/docs/ja/tools/scripting.md +66 -0
- package/docs/ja/tools/system-and-debugging.md +85 -0
- package/docs/ja/tools/world-and-environment.md +102 -0
- package/docs/ko/README.md +20 -3
- package/docs/ko/tools/assets-and-effects.md +104 -0
- package/docs/ko/tools/instances-and-properties.md +104 -0
- package/docs/ko/tools/overview.md +20 -0
- package/docs/ko/tools/playtest.md +134 -0
- package/docs/ko/tools/scripting.md +66 -0
- package/docs/ko/tools/system-and-debugging.md +85 -0
- package/docs/ko/tools/world-and-environment.md +102 -0
- package/docs/pt-br/README.md +20 -3
- package/docs/pt-br/tools/assets-and-effects.md +104 -0
- package/docs/pt-br/tools/instances-and-properties.md +104 -0
- package/docs/pt-br/tools/overview.md +20 -0
- package/docs/pt-br/tools/playtest.md +140 -0
- package/docs/pt-br/tools/scripting.md +66 -0
- package/docs/pt-br/tools/system-and-debugging.md +85 -0
- package/docs/pt-br/tools/world-and-environment.md +102 -0
- package/package.json +1 -1
- package/plugins/weppy-roblox-mcp/.claude-plugin/plugin.json +1 -1
- 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.
|
|
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.
|
|
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)
|
|
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)
|