Roblox-MCP
Provides full control over Roblox Studio, including launching/closing Studio, opening places, executing arbitrary Luau, inspecting and building scenes, managing scripts, creating GUI, configuring lighting and camera, inserting Toolbox assets, running Play Solo/Run playtests, and reading Output. All mutations are undoable via ChangeHistoryService.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Roblox-MCPbuild a simple obby with 10 platforms and a spawn point"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Roblox-MCP
An MCP server that gives AI agents full control over Roblox Studio: launch/close Studio, open projects, execute arbitrary Luau, view and build scenes, write scripts, create GUI, configure lighting/camera, insert Toolbox assets, run Play Solo / Run playtests and read Output. Everything is undoable (Ctrl+Z).
How it works
AI agent (Claude / Cursor / any MCP client)
│ MCP (stdio)
▼
roblox-mcp (Node.js) ── child_process ──► RobloxStudioBeta.exe (launch / open / close)
│ HTTP localhost (127.0.0.1:8090)
▼
MCPBridge.luau plugin inside Roblox Studio (HttpService long-poll)
└── executes commands through the regular Roblox API: Instance, Script.Source,
Selection, RunService, InsertService (Toolbox), Lighting, Camera...Why this shape: Studio plugins cannot accept inbound connections, but they can reach localhost via HttpService. So the plugin long-polls the bridge ("any commands?"), executes them, and posts results back via POST /result.
Related MCP server: Roblox Studio MCP Server
Features (50 tools)
Group | Tools |
Studio |
|
Bridge |
|
Full access |
|
Scene |
|
Scripts |
|
Playtesting |
|
Toolbox |
|
GUI / world |
|
Property values support Roblox types via encoding:
{"__type":"Vector3","value":[10,5,0]}, Color3 (RGB 0–255), UDim2, CFrame (12 numbers), BrickColor ({"__type":"BrickColor","value":"Bright red"}), Enums ("Enum.Material.SmoothPlastic").
Quick start
1. Requirements
Windows 10/11 (macOS partially supported: Studio CLI differs, bridge + plugin work the same)
Node.js 18+
Roblox Studio installed
Any MCP client: Claude Desktop, Cursor, VS Code (Copilot / Cline), Windsurf…
2. Install the server
git clone https://github.com/<you>/Roblox-MCP.git
cd Roblox-MCP
npm install
npm run buildSmoke-test without Studio (the bridge should answer ok:true):
node scripts/test-bridge.mjs
node scripts/mcp-check.mjs # full MCP roundtrip over stdio3. Install the Studio plugin
Copy
plugin/MCPBridge.luauinto the plugins folder:Windows:
%LOCALAPPDATA%\Roblox\Plugins\MCPBridge.luau(create the folder if missing)macOS:
~/Documents/Roblox/Plugins/MCPBridge.luau
Restart Roblox Studio and open any place.
On its first HTTP request Studio asks for localhost permission — allow it (or via Plugin Management → MCPBridge).
Output should show
[MCP] Connected to bridge at http://127.0.0.1:8090.(Optional, if
ROBLOX_MCP_API_KEYis set) run in View → Command Bar:_G.MCP_SetApiKey("your-key-here")
4. Connect your AI client
Claude Desktop (%APPDATA%\Claude\claude_desktop_config.json):
{
"mcpServers": {
"roblox": {
"command": "node",
"args": ["C:/Users/<you>/Documents/Roblox-MCP/dist/index.js"],
"env": { "ROBLOX_BRIDGE_PORT": "8090" }
}
}
}Cursor / VS Code (mcp.json) — see examples/mcp.json.
Restart the client. The agent will see ~50 tools: studio_*, execute_luau, get_scene, …
Example prompts for the agent
"Launch Studio and open
C:\Games\MyObby.rbxl""Show the Workspace structure, 2 levels deep"
"Build an obby: 10 stair-step platforms + SpawnLocation + a score script"
"Make a main menu: ScreenGui with Play and Shop buttons"
"Insert Toolbox asset 12345678 into Workspace"
"Run Play Solo for 5 seconds, show me the Output, then stop"
"Find all scripts containing
Damageand show the first match""Set ClockTime 14, Brightness 3, push the fog further out"
Ready-made scenarios live in examples/:
examples/obby.md— generating an obby from scratchexamples/gui-menu.md— a main menuexamples/debug-loop.md— the "run → read Output → fix" loop
Environment variables
Variable | Purpose | Default |
| bridge start port (probes +0…+9 on conflict) |
|
| key for | (empty — no auth, localhost only) |
| plugin wait timeout |
|
| path to | (auto) |
No Studio exe yet (fresh install via the bootstrapper)? studio_launch starts RobloxStudioInstaller.exe automatically, waits for the real exe to appear, then opens your place.
Debugging without MCP (curl)
# bridge health
curl http://127.0.0.1:8090/health
# status (is the plugin connected?)
curl http://127.0.0.1:8090/status
# run one command synchronously (waits up to 30s for the plugin)
curl -X POST http://127.0.0.1:8090/command -H "Content-Type: application/json" -d '{"method":"get_workspace_info","params":{}}'Troubleshooting
Symptom | Fix |
| Open Studio with any place, check |
Plugin can't find the bridge | Start the MCP server first ( |
Studio asks for HTTP permission | Allow localhost for the plugin (Plugin Management). Without it the plugin can't reach the bridge |
| Install Studio or set |
| Asset is private/off-sale or no access. Public free models insert fine |
| This Studio version has no scriptable Save API — press Ctrl+S. Everything else works |
Security
The bridge listens on
127.0.0.1only, nothing is exposed to the network.An optional API key locks the bridge even from other local processes.
execute_luauruns arbitrary code in Studio — only connect trusted MCP clients.All mutations go through
ChangeHistoryService— Ctrl+Z undoes agent actions.
Repository layout
Roblox-MCP/
├── src/
│ ├── index.ts # MCP stdio server
│ ├── bridge.ts # HTTP bridge (long-poll) for the plugin
│ ├── studio.ts # find/launch/close Studio, scan .rbxl files
│ └── tools.ts # 50 MCP tools
├── plugin/
│ └── MCPBridge.luau # Studio plugin (drop into the Plugins folder)
├── backrooms/ # example game: BACKROOMS Level 0 horror (Rojo project + built .rbxlx)
├── examples/ # mcp.json + prompt scenarios
├── scripts/ # smoke tests (bridge + full MCP roundtrip)
└── dist/ # build output (npm run build)Roadmap
Viewport screenshots via the plugin, returned to the agent as images
Rojo sync (edit
.luafiles directly)Team Create / Open Cloud publishing (
publish_place).fbx/.objmodel and audio importsWebSocket instead of long-poll for lower latency
macOS/Linux CI, signed plugin installer
PRs and issues welcome.
License
MIT — see LICENSE.
This server cannot be deployed
Maintenance
Related MCP Connectors
Control Unreal Engine to browse assets, import content, and manage levels and sequences. Automate…
Blender-as-a-service for agents: search 3D assets, run Blender Python, or brief the studio agent.
- mcp-serverOAuthcom.make
Give your AI agents the tools to build, manage, and run automation workflows.
On-brand creative studio for AI agents: images, video, audio, and 3D.
Related MCP Servers
- AlicenseAqualityCmaintenanceEnables AI coding tools to control Roblox Studio for workspace exploration, instance manipulation, and script management. It provides tools for playtesting, scene rendering, and integration with the Roblox Creator Store.68MIT
- AlicenseNot gradedqualityAmaintenanceEnables AI tools to read the Roblox Studio game tree, edit scripts, insert models, and run playtests via the Studio MCP interface.21 npmMIT
- FlicenseNot gradedqualityCmaintenanceEnables AI assistants to directly manage Roblox Studio projects by creating, reading, updating, and deleting scripts, listing instances, executing Luau code, and inspecting properties. It works through natural language, making Studio operations accessible to AI.-
- AlicenseNot gradedqualityCmaintenanceEnables AI assistants to explore, edit, and automate Roblox Studio sessions locally, including browsing instance hierarchies, reading and modifying scripts, manipulating properties, creating instances, building terrain, and running playtests.1,042 npmMIT