Loading...
Loading...
Official Roblox Studio MCP server tools reference. What each tool does, how to use it, reliability patterns, and workflows for script editing, building, playtesting, and debugging. Use when the AI has an MCP connection to Roblox Studio.
npx skill4agent add tabooharmony/roblox-brain roblox-studio-mcp| Tool | What it does |
|---|---|
| Read scripts by dot-notation path (e.g. |
| Apply multiple edits to a script. Creates the script if the path doesn't exist. |
| Fuzzy search for scripts by name. Returns up to 10 results. |
| Search for a string pattern across all scripts. Returns up to 50 matches. |
| Tool | What it does |
|---|---|
| Generate a textured 3D mesh from a description. |
| Generate a custom material or texture. |
| Generate procedural models that scale and adapt automatically. |
| Insert assets, plugins, and models from the Creator Store. |
| Tool | What it does |
|---|---|
| Investigate the place in parallel, returns a compact summary. |
| Explore instance hierarchy as flat JSON. Filter by path, type, keywords. |
| Detailed info about a specific instance: properties, attributes, children summary. |
| Tool | What it does |
|---|---|
| Run Luau code in Studio. Returns result or error. |
| Tool | What it does |
|---|---|
| Start or stop playtesting. |
| Retrieve output logs while the game is running. |
| Capture the current Studio viewport in Play mode. |
| Spawn a test character that runs through gameplay scenarios. |
| Tool | What it does |
|---|---|
| Move the player character to a position or instance. |
| Simulate key presses, holds, and text input. |
| Simulate mouse clicks, movement, and scrolling. |
| Tool | What it does |
|---|---|
| List all connected Studio instances (name, ID, active status). |
| Set which Studio instance receives subsequent tool calls. |
execute_luau-- ALWAYS re-acquire references at the start of every execute_luau call
local model = workspace:FindFirstChild("MyModel")
if not model then
model = Instance.new("Model")
model.Name = "MyModel"
model.Parent = workspace
endexecute_luau-- Create then verify
local part = Instance.new("Part")
part.Name = "Floor"
part.Parent = workspace.MapRoot
-- Verify it exists
local check = workspace.MapRoot:FindFirstChild("Floor")
print(check and "OK" or "FAILED: Floor not created")multi_editexecute_luauscript.Source = ...-- Chunked write pattern
local s = game.ServerScriptService.MyScript
local part1 = [=[
-- chunk 1: services and config
local Players = game:GetService("Players")
...
]=]
local part2 = [=[
-- chunk 2: main logic
...
]=]
s.Source = part1 .. part2local part = workspace.MapRoot:FindFirstChild("Tower")
if part then
print("Position:", part.Position)
print("Size:", part.Size)
print("CFrame:", part.CFrame)
endsearch_game_treescript_readmulti_editscript_readstart_stop_playconsole_outputsearch_game_treeexecute_luauexecute_luauscreen_capturestart_stop_playconsole_outputinspect_instanceexecute_luaumulti_editstart_stop_playstart_stop_playcharacter_navigationkeyboard_inputmouse_inputconsole_outputscreen_capturestart_stop_playexecute_luaumulti_editscript_readsearch_game_treestart_stop_playgenerate_meshexecute_luauget_file_treegrep_scriptscreate_build{
"mcpServers": {
"Roblox_Studio": {
"command": "cmd.exe",
"args": ["/c", "%LOCALAPPDATA%\\Roblox\\mcp.bat"]
}
}
}{
"mcpServers": {
"Roblox_Studio": {
"command": "/Applications/RobloxStudio.app/Contents/MacOS/StudioMCP"
}
}
}