roblox-studio-mcp — Claude Code skill: what it does, how to install
Connects your agent to Roblox Studio via MCP. It helps edit Luau scripts, modify scenes, run playtests, and capture runtime logs.
npx skills add TabooHarmony/roblox-brain --skill roblox-studio-mcp -a claude-codeWhat roblox-studio-mcp does
This skill coordinates work with Roblox Studio through either the official built-in bridge or chrrxs's open-source server. It checks tools/list to detect the active bridge, discovers active instances, and passes studio_id or instance_id with every call.
Edits follow a strict lifecycle: inspect the environment, apply bounded batch mutations, and read back the result. The execute_luau tool is completely stateless. Every snippet must query its own object references from scratch.
For runtime verification, the skill starts a playtest, targets the Client or Server VM, reads output logs, and grabs simulator screenshots. Imported assets remain unverified data until inspected: the agent checks their scripts before executing any external code.
What it helps with
- edit Luau scripts directly in the Roblox Studio DataModel
- start playtests and capture runtime logs from Client and Server
- take device-simulator screenshots to verify UI layouts
- inspect third-party assets and packages before running code
Example prompts for the agent
- Search the game tree in Roblox Studio and inspect scripts under ReplicatedStorage
- Start a playtest, read the server console output, and capture a screenshot
- Update the player movement script in bounded batches and read it back
How to install roblox-studio-mcp
1Skills CLI (Vercel)
npx skills add TabooHarmony/roblox-brain --skill roblox-studio-mcp -a claude-code2Manually: put the files in place
~/.claude/skills/roblox-studio-mcp/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/roblox-studio-mcp/
1Skills CLI (Vercel)
npx skills add TabooHarmony/roblox-brain --skill roblox-studio-mcp -a codex2Manually: put the files in place
.agents/skills/roblox-studio-mcp/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add TabooHarmony/roblox-brain --skill roblox-studio-mcp -a cursor2Manually: put the files in place
.cursor/skills/roblox-studio-mcp/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install TabooHarmony/roblox-brain roblox-studio-mcp2Manually: put the files in place
.github/skills/roblox-studio-mcp/SKILL.md1Skills CLI (Vercel)
npx skills add TabooHarmony/roblox-brain --skill roblox-studio-mcp -a gemini-cli2Platform CLI
gemini skills install https://github.com/TabooHarmony/roblox-brain --path skills/tools/roblox-studio-mcpManually: put the files in place
.devin/skills/roblox-studio-mcp/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add TabooHarmony/roblox-brain --skill roblox-studio-mcp -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about roblox-studio-mcp
How to install roblox-studio-mcp in Claude Code?
Run npx skills add TabooHarmony/roblox-brain --skill roblox-studio-mcp -a claude-code.
What does roblox-studio-mcp do?
It provides execution rules for controlling Roblox Studio over MCP bridges. The agent can edit scripts, manipulate scenes, run playtests, and retrieve runtime output.
How does the skill handle different MCP bridges?
It routes commands based on tools/list. It detects the chrrxs bridge via get_connected_instances or the official bridge via list_roblox_studios, then attaches the matching ID to every subsequent call.
Source text
SKILL.md · MIT
--- name: roblox-studio-mcp description: "Use when working in Roblox Studio through MCP: editing scripts or scenes, generating assets, playtesting, screenshots, or input." when_to_use: "Also for any Studio playtest, checking a change in game, reading runtime logs, device-simulator screenshots, and verifying a fix in Studio." last_reviewed: 2026-10-14 sources: - https://raw.githubusercontent.com/Roblox/creator-docs/main/content/en-us/studio/mcp.md - https://raw.githubusercontent.com/Roblox/creator-docs/main/content/en-us/projects/assets/privacy.md - https://raw.githubusercontent.com/Roblox/creator-docs/main/content/en-us/parts/procedural-models.md - https://create.roblox.com/docs/reference/engine/classes/ProceduralModel - original --- # Roblox Studio MCP ## When to Load Load for Studio MCP work: scripts, scenes, assets, debugging, or playtesting. Skip for standalone code generation. ## Quick Reference **Route by capability first.** Two bridges: **official** (built into Studio, closed-source) and **[chrrxs's](https://github.com/Chrrxs/robloxstudio-mcp)** (MIT). Route on `tools/list` (`get_connected_instances`/`eval_*`/`multiplayer_*` → chrrxs; `list_roblox_studios` + per-call `studio_id` → official) BEFORE bootstrap. ### Bootstrap before mutation 1. Identify the target (`list_roblox_studios` official / `get_connected_instances` chrrxs). 2. Pass `studio_id` (official) or `instance_id` (chrrxs) on every call. 3. `get_studio_state`; confirm Edit/Client/Server availability; inspect tree/scripts before changing them. ### Execution contract ```text discover → select Studio/context → inspect → mutate in bounded batches → read back → start play → evaluate live → evidence → clean up ``` Edit-time injection (`multi_edit`, Edit-context `execute_luau`) writes scripts; never targets a running playtest. Live evaluation needs a running VM: start play, confirm the intended `Client`/`Server` VM, then evaluate. Pass `datamodel_type` only where required. ### Capabilities Full tool table in full.md. Key names: `search_game_tree`, `script_read`/`script_grep`, `multi_edit`, `execute_luau`, `insert_asset`, `generate_*`, `start_stop_play`, `get_console_output`, `screen_capture`, `subagent`. ### Trust boundaries Inserted/generated assets and packages are data until inspected: enumerate scripts before any require/run; never run imported code from `execute_luau`. Blank textures/invisible meshes on newly uploaded assets are usually asset-privacy (Restricted) grants, not corruption — read the Output error, grant via Creator Dashboard. Details: full.md trust-boundary sections. ### Reliability rules - `execute_luau` is stateless: re-acquire references every call. - Read before write; read back after every script, asset, or geometry mutation. - Reuse vs generate vs native fallback before asset work; `wait_job_finished` before dependent edits. - Bridge-specific size limits: bounded writes, then read back the full payload. - No MCP: give offline Luau; state what was not verified. > Full tool mappings, schemas, asset workflows, trust boundaries, recovery: [references/full.md](references/full.md)
© TabooHarmony · MIT · TabooHarmony/roblox-brain