roblox_studio
Provides integration with Roblox Studio's native StudioMCP daemon, enabling AI agents to interact with the active place and DataModel, manage Studio sessions, and handle version and disconnect issues.
Click on "Install 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_studioadd a new part named SpawnPart to the workspace"
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.
Universal Roblox Studio MCP Bridge
A pure-Python, standard-library-only Model Context Protocol bridge
that connects an AI IDE (Claude Desktop, Cursor, Claude Code, Antigravity, OpenCode, Windsurf) to
Roblox Studio's native StudioMCP daemon. It fixes the handshake, pipe-buffer, auto-update,
version-selection, and session-rebinding bugs that make the stock setup unreliable.
Unofficial community tool — not affiliated with or endorsed by Roblox Corporation. It only launches
Roblox's own local StudioMCP executable and edits local IDE config files; it opens no network
listeners. Current release: v1.3.5 (CHANGELOG.md).
Quick start
1. Enable MCP in Roblox Studio File → Beta Features → check Model Context Protocol → restart Studio and open any place.
2. Install the bridge and write the IDE config
How | Command | Notes |
uvx (recommended) |
| No install step. Needs uv. |
pip |
| Standard Python install. |
Double-click |
| Runs a source checkout in place — clone first. |
The installed command is roblox-studio-mcp (short alias) or roblox-studio-mcp-bridge. inject
detects how it was installed, writes the right MCP-server entry into every AI IDE it finds, removes
conflicting legacy entries, and prints a diagnostic report. Pick the entry style explicitly with
inject --mode uvx|pip|repo if the auto-detection guesses wrong.
3. Restart your AI IDE (Claude Desktop, Cursor, Antigravity, OpenCode).
That's it. To remove it later: roblox-studio-mcp eject (or uninstall.bat / uninstall.command).
Source-checkout (
--mode repo) only: the config points at the folder you cloned, so keep it where it is — if you move it, re-runinject.uvxandpipinstalls have no such dependency.
Related MCP server: Roblox Bridge MCP
What it fixes
Pointing a modern AI IDE directly at Roblox's StudioMCP runs into several bugs:
Problem in the stock setup | Impact | How this bridge solves it |
| Some hosts send a | The bridge answers |
Broken | Roblox's generated |
|
stderr pipe deadlock ("Working…" freeze) |
| Dedicated daemon threads continuously drain both |
Roblox auto-updates wipe configs | Studio updates roughly weekly and rewrites its own launcher/config files. | The IDE config points at |
Stale | Naive lookups pick an old | The resolver scans every known install root, prefers the folder that also contains the Studio Beta binary, and breaks ties by newest modification time. |
Place / session disconnects | Switching places or restarting Studio breaks the tool connection; calls then fail silently. | The session manager auto-discovers Studio instances via |
Requests that hang the host | An internal failure used to leave the host waiting on a response id it would never receive. | Every failed request now returns a JSON-RPC |
How this compares
Stock | Minimal single-file fixes | This bridge | |
| ❌ | ✅ | ✅ |
stderr pipe-deadlock fixed | ❌ | ✅ | ✅ |
Survives Roblox's weekly auto-update | ❌ (config overwritten) | ⚠️ re-run installer each update | ✅ auto-scrubs + re-repairs |
Picks the newest Studio build | ❌ | ⚠️ first match | ✅ Beta-companion + newest mtime |
Self-healing session rebind on disconnect | ❌ | ❌ | ✅ re-resolves + retries |
Failed request can't hang the host | ❌ | ❌ | ✅ always returns |
Clients wired up by | — | 1 | Claude Desktop, Cursor, OpenCode, Antigravity (+ manual for Claude Code / Windsurf) |
Install | copy files | copy files |
|
Tests / CI | — | — | 150+ tests, GitHub Actions |
Requirements
OS: Windows 10/11 or macOS. (The injector has a Linux fallback for Cursor/OpenCode/Antigravity, but the executable resolver only supports Windows and macOS install layouts.)
Python: 3.8 or newer, on
PATHaspython.Roblox Studio with the Model Context Protocol beta feature enabled (see step 1 above).
How it works
flowchart TD
Host["AI IDE / Agent<br/>Claude Desktop / Cursor / Antigravity / Claude Code"]
Host -->|"JSON-RPC 2.0 (stdio)"| Loop
subgraph BridgeEngine["Universal Roblox Studio MCP Bridge"]
Loop["stdio event loop<br/>core/bridge.py"]
Decoupler["Request-ID decoupler<br/>core/protocol.py"]
Resolver["Newest-build resolver<br/>core/resolver.py"]
Session["Self-healing session manager<br/>core/session.py"]
Proc["Subprocess and async pipe drainers<br/>core/process.py"]
Loop --> Decoupler
Loop --> Resolver
Loop --> Session
Loop --> Proc
end
Proc -->|"local stdio pipes"| StudioMCP["Roblox StudioMCP daemon<br/>StudioMCP.exe"]
StudioMCP -->|"local connection"| Studio["Roblox Studio<br/>active place and DataModel"]The package is small and each module has one job:
Module | Responsibility |
Locates the | |
Spawns | |
JSON-RPC 2.0 helpers, error-code constants, the negotiated MCP protocol version ( | |
Resolves the target Studio instance with | |
The stdio event loop. Reads host requests line by line, answers | |
Shared logger. Everything diagnostic goes to stderr; | |
Detects installed IDEs and injects / ejects the | |
Argument parsing for the |
Installation details
The bridge ships on PyPI as
roblox-studio-mcp-bridge. inject detects how
it is available and writes the matching config entry — force it with --mode:
| Config entry | Use when |
|
| You have |
|
| Installed with |
| same, plus | Running a |
|
| — |
Config entry format
// uvx / pip mode — no path dependency
{ "mcpServers": { "roblox_studio": {
"command": "uvx", // or the python interpreter, for pip mode
"args": ["roblox-studio-mcp-bridge", "run"], // or ["-m", "roblox_studio_mcp", "run"]
"env": { "PYTHONIOENCODING": "utf-8", "PYTHONUNBUFFERED": "1" }
} } }
// repo mode — bound to the clone, which must not move
{ "mcpServers": { "roblox_studio": {
"command": "C:\\Path\\To\\python.exe",
"args": ["-m", "roblox_studio_mcp", "run"],
"cwd": "C:\\Path\\To\\roblox-studio-mcp-bridge",
"env": { "PYTHONIOENCODING": "utf-8", "PYTHONUNBUFFERED": "1",
"PYTHONPATH": "C:\\Path\\To\\roblox-studio-mcp-bridge" }
} } }Existing servers in the file are preserved. The original file is copied to
*.backup.jsonbefore every write; an unparseable file is copied to*.corrupt.bakand repaired.Roblox's own
Roblox_Studioentry (itsmcp.batlauncher, or the direct-StudioMCPform it writes on macOS) is automatically purged, and its brokenmcp.batis rewritten in place with a working launcher (original saved asmcp.bat.roblox-bak).
Auto-inject targets
inject / eject / scrub understand --target all|claude|cursor|opencode|antigravity (default all):
Target | Config file(s) |
| Windows: |
|
|
|
|
|
|
Hosts that are not auto-injected (e.g. Claude Code, Windsurf) still work — add an
mcpServers.roblox_studio entry manually using the JSON shown above.
CLI commands
With the package installed, use the roblox-studio-mcp command (or python -m roblox_studio_mcp, or
uvx roblox-studio-mcp-bridge) from anywhere:
# Run the stdio bridge server (auto-scrubs Roblox's entry + repairs mcp.bat on startup)
python -m roblox_studio_mcp run
# Diagnostics: list StudioMCP candidates and verify all IDE configurations
python -m roblox_studio_mcp doctor
# Inject config into all detected AI IDEs
python -m roblox_studio_mcp inject --target all
# Scrub: remove Roblox's own broken entry + repair its mcp.bat (leaves other servers alone)
python -m roblox_studio_mcp scrub --target all
# Eject: remove the roblox_studio entry from all IDEs
python -m roblox_studio_mcp eject --target allpython -m roblox_studio_mcp with no subcommand is equivalent to run.
python -m roblox_studio_mcp --version prints the version.
Configuration / environment variables
Variable | Purpose | Default |
| Absolute path to a | (unset — auto-discover) |
| Checked only if | (unset) |
| Diagnostic log verbosity on stderr: |
|
| Set by the injector to the repo root so | (set by |
| Set by the injector to | (set by |
Troubleshooting
Start with the doctor — it does not modify anything:
python -m roblox_studio_mcp doctorSymptom | Likely cause / fix |
| Roblox Studio is not installed, or the Model Context Protocol beta feature is off. Enable it, restart Studio, re-run |
IDE shows a red MCP Error on | That is Roblox's own broken |
Bridge exits immediately with a | Same as above — |
Tools appear in the IDE but every call returns "Roblox Studio is not connected" | Open a place in Studio and make sure the MCP beta feature is enabled. The session manager retries a few times, then returns this error. |
IDE does not see the server at all | Confirm |
It broke after moving or deleting the repo folder | The config entry's |
Need more detail | Set |
Config used to get wiped by Roblox updates | Fixed in this bridge: the entry runs |
Development
git clone https://github.com/Cpleasance/roblox-studio-mcp-bridge
cd roblox-studio-mcp-bridge
pip install -e ".[dev]"
python -m pytest # run the test suite
ruff check . # lint
ruff format . # formatThe runtime code is standard-library only and must stay Python 3.8 compatible. See CONTRIBUTING.md for coding conventions and the PR process. For security issues, see SECURITY.md.
License
MIT License — see LICENSE. Author: Cory Pleasance.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Enable secure connectivity between Sentry issues and debugging data, and LLM clients, using a Model Context Protocol (MCP) server.
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
A Model Context Protocol server for Wix AI tools
Connect AI agents to Replynodes over the Model Context Protocol.
Related MCP Servers
- AlicenseNot gradedqualityNot gradedmaintenanceConnects Roblox Studio to AI coding editors via the Model Context Protocol, allowing AI agents to understand and interact with live Roblox Studio sessions through scene manipulation, scripting, and optional Roblox Open Cloud API integration.66
- AlicenseNot gradedqualityNot gradedmaintenanceEnables AI agents to interact with and control Roblox Studio instances in real-time through the Model Context Protocol. It provides a unified tool for building, scripting, and manipulating 3D worlds with over 90 operations including instance management and Luau scripting.14
- AlicenseNot gradedqualityDmaintenanceConnects AI assistants to Roblox Studio, enabling them to interact with instance hierarchy, edit Luau scripts, manage properties, and sync files over a local connection.141MIT
- AlicenseNot gradedqualityBmaintenanceConnects Roblox Studio to local AI agents via HTTP, allowing them to control Studio tools.MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Cpleasance/roblox-studio-mcp-bridge'
If you have feedback or need assistance with the MCP directory API, please join our Discord server