roblox-studio-mcp
Skill92 starsChanged 47 days agoMITView on GitHub
Drive Roblox Studio from an AI agent via the built-in Studio MCP server - connecting Claude Code, Codex, Cursor, OpenCode, Gemini CLI; tools to explore the DataModel, read/edit scripts, run Luau in edit/server/client, playtest, read output, capture screenshots, simulate input, insert assets. Use when an agent should inspect, modify, or playtest an open Studio place, or to set up the connection.
3 other projects use a version of this.
Adopted by
Most recently taken up by
- rodrigo-guerraa/roblox-hubtheir own version, first seen Oct 17, 2026
- TabooHarmony/roblox-braintheir own version, first seen Sep 23, 2026
- szlay/roblox-basetheir own version, first seen Jul 24, 2026
Other versions3 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 3
- TabooHarmony/roblox-brain★ 150same name
- rodrigo-guerraa/roblox-hub★ 2same name
- szlay/roblox-base★ 1same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository25 other files it gives its agents.
- AGENTS.mdAGENTS.md
- docs/agents.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- roblox-analytics-liveopsSkill
- roblox-architectureSkill
- roblox-audioSkill
- roblox-characters-animationSkill
- roblox-code-reviewSkill
- roblox-data-storesSkill
- roblox-game-systemsSkill
- roblox-inputSkill
- roblox-luauSkill
- roblox-monetizationSkill
- roblox-networkingSkill
- roblox-npc-aiSkill
- roblox-open-cloudSkill
- roblox-performanceSkill
- roblox-physicsSkill
- roblox-securitySkill
- roblox-teleport-matchmakingSkill
- roblox-testingSkill
- roblox-text-chatSkill
- roblox-toolingSkill
- roblox-uiSkill
- roblox-world-buildingSkill
The file
We split this skill into the rules it gives an agent
3 rules. 0 are common, 2 are distinctive, and 1 is very specific to this project.
0
Common
Most of the 3 edited versions we read keep these.
2
Distinctive
This author's own choices. Worth a look.
1
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 15
Use Quick connect (Claude Code, Claude Desktop, Codex CLI, Cursor, Gemini CLI, VS Code, Antigravity) or configure the client manually:
- Very specific: line 86
Keep search_game_tree queries narrow (path + depth).
- Distinctive: line 90
Don't claim success without evidence: cite console output, assertion results, or screenshots.
“Common” is measured: kept by at least 6 in 10 of the 3 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Working in Roblox Studio through MCP
Roblox Studio ships a built-in MCP server (stdio). With it, an agent can explore the open place, edit scripts, run Luau in edit/server/client contexts, playtest, read the Output, capture the viewport, and simulate player input. It is the fastest way to verify Roblox changes instead of guessing.
Setup
- Latest Studio → open Assistant → … → Manage MCP Servers → enable Enable Studio as MCP server.
- Use Quick connect (Claude Code, Claude Desktop, Codex CLI, Cursor, Gemini CLI, VS Code, Antigravity) or configure the client manually:
| OS | Command |
| macOS | /Applications/RobloxStudio.app/Contents/MacOS/StudioMCP |
| Windows | cmd.exe /c %LOCALAPPDATA%\Roblox\mcp.bat |
# Claude Code
claude mcp add Roblox_Studio -- /Applications/RobloxStudio.app/Contents/MacOS/StudioMCP
claude mcp add Roblox_Studio -- cmd.exe /c "%LOCALAPPDATA%\Roblox\mcp.bat" # Windows{ "mcpServers": { "Roblox_Studio": { "command": "/Applications/RobloxStudio.app/Contents/MacOS/StudioMCP" } } }Client-specific config (Codex config.toml, OpenCode opencode.json, Cursor/VS Code mcp.json):
references/client-setup.md. A green indicator in Manage MCP Servers
confirms the connection. Only connect clients you trust: they can read and modify your places.
Tools
| Group | Tools |
| Session | list_roblox_studios (every call takes a studio_id), get_studio_state (play state, available DataModels) |
| Explore | search_game_tree (filter by path/class/keyword, depth), inspect_instance (properties, attributes, children), script_search (fuzzy by name), script_grep (text across scripts, ≤ 50 hits), script_read (dot path like game.ServerScriptService.Main, line ranges) |
| Edit | multi_edit (several edits to one script, creates it if missing; datamodel_type = Edit) |
| Run | execute_luau (datamodel_type = Edit, Server, or Client; returns the result or error) |
| Playtest | start_stop_play, get_console_output, screen_capture (optional camera position/look-at), character_navigation, user_keyboard_input, user_mouse_input |
| Assets | search_asset (Creator Store / inventory), insert_asset, upload_image, store_image, generate_mesh, generate_material, generate_procedural_model + wait_job_finished |
| Delegation | subagent (explore or playtest types for multi-step investigations) |
| Knowledge | http_get (Roblox docs, API reference, Cloud docs), skill (Roblox-authored skills: debugging, device simulation, docs search, profiling, scene analysis, unit tests) |
The working loop
- Orient:
list_roblox_studios→ pickstudio_id;get_studio_state. Map the project withsearch_game_tree(depth-limited: services first), thenscript_grep/script_searchfor the feature. - Read before writing:
script_readevery script you'll touch and its requirers. Check for a Rojo/Script Sync setup (see below) before editing in Studio. - Edit with
multi_edit(exact, minimal edits; keep existing style). Create instances/attributes/ tags withexecute_luauinEditcontext — changes made this way are real edits to the place. - Verify statically: re-read the script; for pure modules,
execute_luaua quick check (requirethe module inEditand call functions). - Playtest:
start_stop_play(start) → wait →get_console_outputfor errors → drive the scenario withcharacter_navigation/ input tools →execute_luauinServer/Clientto assert state →screen_capturefor visual checks →start_stop_play(stop). Always stop play when done. - Report what changed and what was verified (and what wasn't).
-- Example execute_luau (Server context during play): assert game state instead of eyeballing.
local Players = game:GetService("Players")
local results = {}
for _, player in Players:GetPlayers() do
local leaderstats = player:FindFirstChild("leaderstats")
local coins = leaderstats and leaderstats:FindFirstChild("Coins")
table.insert(results, `{player.Name}: {if coins and coins:IsA("IntValue") then coins.Value else "missing"}`)
end
return table.concat(results, "\n")Rules of thumb
execute_luauinEditmutates the place: prefer read-only queries while exploring, and batch intentional changes into one clear script. UseChangeHistoryServicerecording (TryBeginRecording/FinishRecording) so the user can undo your edit as one step.- Changes made during play (Server/Client contexts) are discarded when play stops — edit in
Edit. - Rojo projects: the file system is the source of truth — edit files on disk, let Rojo sync, and use
MCP to playtest/inspect. Editing synced scripts via
multi_editgets overwritten. Script Sync projects sync both ways, so either side works, but don't edit the same script in both at once. - Keep
search_game_treequeries narrow (path + depth); large places produce huge outputs. - Multiple Studio windows: always pass the right
studio_id; tell the user which place you touched. - Inserted assets from the Creator Store can contain scripts: inspect them (
search_game_tree+script_read) before keeping them; remove unexpected scripts (backdoors are common in free models). - Don't claim success without evidence: cite console output, assertion results, or screenshots.
Roblox-authored skills and conversions
Studio exposes Roblox-authored skills through the skill tool (e.g. rbx-debug, rbx-perf-profiling,
rbx-scene-analysis, rbx-unit-test, rbx-docs-search, rbx-device-simulator-lua). Roblox also
publishes an official streaming conversion skill (/rbx-convert-to-streaming, downloadable from the
"Techniques and conversion" streaming docs) that runs through this MCP server; back up the place first.
Related skills
roblox-testing (test runners), roblox-performance (profiling), roblox-tooling (Rojo/Script Sync),
roblox-architecture (where things belong), roblox-code-review.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

