ワンクリックで
roblox-tooling
Built-in Studio MCP orchestration, luau-lsp integration, mcp-roblox-docs usage. How the AI drives Studio directly.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Built-in Studio MCP orchestration, luau-lsp integration, mcp-roblox-docs usage. How the AI drives Studio directly.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
Service hierarchy, 7 foundational patterns, cross-platform input. Client-server architecture, module patterns, framework options.
Luau language fundamentals, type system, OOP, deprecation table, error patterns.
Roblox AnalyticsService: custom events, economy tracking, funnels, rate limits, event taxonomy.
Animations, particles, tweens, ContentProvider, visual effects.
Code review with security, performance, and monetization lenses for Roblox projects
DataStores, ProfileStore, session locking, data persistence patterns.
| name | roblox-tooling |
| description | Built-in Studio MCP orchestration, luau-lsp integration, mcp-roblox-docs usage. How the AI drives Studio directly. |
| last_reviewed | "2026-05-22T00:00:00.000Z" |
Load this reference when:
This covers the built-in Studio MCP server, mcp-roblox-docs for API lookup, luau-lsp for diagnostics, and offline workflows.
The internal luau-check extension hooks .luau file writes and runs luau-lsp analyze automatically. Diagnostics inject into the next agent turn.
Agent uses the CLI binary. The VS Code extension and Studio Companion Plugin are for humans, not agent onboarding.
luau-lsp analyze path/to/file.luau --formatter plain
Output format: path.luau:line:col severity: message
Soft gate at handoff: do not claim "done" with unresolved error-level diagnostics.
Live API lookup via MCP. Registered during /setup if uvx is available.
Use for: class members, properties, methods, events, enums, FastFlags. Never enumerate these in skills.
The official Roblox MCP server ships with Studio. No install required. Enable via the Assistant widget (View → Assistant → MCP toggle).
| Tool | Purpose | Notes |
|---|---|---|
run_code | Execute Luau inside Studio | Primary workhorse for all operations |
insert_model | Insert a model from Creator Store | Takes asset ID, inserts into Workspace |
get_console_output | Read Studio output/console log | Error detection and debug loops |
start_stop_play | Toggle playtest mode | Single tool handles both start and stop |
run_script_in_play_mode | Execute code during playtest | Stops playtest when script finishes |
get_studio_mode | Check Edit vs Play mode | Always call before mode-sensitive ops |
Since the built-in server lacks exploration tools (get_file_tree, grep_scripts), compensate with run_code:
-- Traverse DataModel and print structure
local function printTree(instance, depth)
depth = depth or 0
local indent = string.rep(" ", depth)
print(`{indent}{instance.Name} [{instance.ClassName}]`)
for _, child in instance:GetChildren() do
printTree(child, depth + 1)
end
end
printTree(game:GetService("ServerScriptService"), 0)
Read results via get_console_output. Build search logic inline via run_code instead of relying on dedicated search tools.
When no MCP server is connected, generate self-contained Luau code blocks for copy-paste into Studio.
run_code to print current hierarchy → plan structure → run_code to create folders/instancesrun_code to create Script/LocalScript/ModuleScript instances, wire RemoteEventsinsert_model for Creator Store assets, position via run_codestart_stop_play → get_console_output → start_stop_play to stopBounded retries (max 5 iterations):
get_console_output → parse for script name, line, error typerun_code to print script source → analyze root causerun_code to replace script source (create undo waypoint first)start_stop_play → get_console_output → check if error persistsrun_code to traverse and print full hierarchyrun_code to find all Script/LocalScript/ModuleScript instances, print sources of key scriptsget_studio_mode before any operation. Do not modify DataModel during playtest.game:GetService("ChangeHistoryService"):SetWaypoint("Before: description")
:Destroy() on named/significant instances.:ClearAllChildren() on services without explicit user confirmation.run_script_in_play_mode for runtime testing during play mode.run_code call to minimize round-trips.get_console_output or a playtest.ChangeHistoryService:SetWaypoint() before batches or experimental changes.get_studio_mode first