- Home
- MCP servers
- Roblox Studio MCP Bridge
Roblox Studio MCP Bridge
- typescript
0
GitHub Stars
typescript
Language
4 months ago
First Indexed
2 months ago
Catalog Refreshed
Documentation & install
Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.
You run a local MCP server that bridges an AI coding assistant to Roblox Studio, enabling you to read and modify the DataModel from your terminal with full undo support and live Studio updates.
How to use
Connect your MCP client to the local Roblox Studio MCP Bridge. The server exposes an HTTP API at localhost on a specified port and also provides a stdio interface that the MCP client can use. With this setup, you can read instance data, create or modify objects, and execute code within Roblox Studio through your AI assistant.
How to install
Prerequisites you need before installing: Node.js version 18 or newer, Roblox Studio, and Rojo 7 or newer.
- Clone the repository and move into it.
git clone https://github.com/Justice219/roblox-studio-mcp.git
cd roblox-studio-mcp
- Install dependencies and build the project.
npm install
npm run build
- Install the MCP server package globally (optional but convenient).
npm install -g @jamesworkbenchcrm/roblox-studio-mcp
- Build and install the Studio plugin. Use Rojo to create the plugin package and place it in the Roblox Plugins folder.
rojo build plugin.project.json -o MCPBridge.rbxmx
# macOS path
mv MCPBridge.rbxmx ~/Documents/Roblox/Plugins/
# Windows path
# or повторить сборку напрямую в плагиновом каталоге
Additional configuration and setup
- Enable HTTP requests in Roblox Studio to allow plugin communication.
Open Studio: Home → Game Settings → Security → Allow HTTP Requests → ON.
- Configure your MCP client to connect to the local bridge.
For Claude Code or Claude Desktop, add the MCP server configuration that points to the local bridge in your settings.
{
"mcpServers": {
"roblox-studio": {
"command": "node",
"args": ["/absolute/path/to/roblox-studio-mcp/dist/index.js"]
}
}
}
Security and reliability
The HTTP bridge binds only to 127.0.0.1 to avoid exposing the bridge to external networks. Write operations go through ChangeHistoryService so every change is undoable in Studio. Commands have a 30-second timeout and require a heartbeat every 10 seconds to maintain an active connection. Executing Luau code in the plugin context is performed without sandboxing, so only trusted input should be used.
Troubleshooting
If you see a red disconnected indicator, ensure the MCP server is running, HttpService is enabled in Studio, and the port matches the configured bridge port.
If you see a not connected error in Claude Code, verify the MCP Bridge toolbar is enabled in Studio, reload plugins, and check Studio’s Output for error messages.
If the port is in use, stop the other instance or change the port and restart.
NPM and license
Install the MCP server package globally if you prefer a system-wide command.
npm install -g @jamesworkbenchcrm/roblox-studio-mcp
Notes on architecture
The system consists of an MCP Server written in TypeScript that exposes 14 tools over stdio and serves an HTTP API on localhost, and a Studio Plugin written in Luau that polls the HTTP API, executes commands against the Roblox DataModel, and returns results. All changes are tracked with undo support.
Available tools
get_descendants
Read: Retrieve all descendants with their paths, optionally limit depth with maxDepth.
get_children
Read: Retrieve immediate children of a given instance.
get_properties
Read: Retrieve serialized properties of a given instance.
find_instances
Read: Search for instances by class name and/or name pattern.
get_services
Read: List all DataModel services.
get_selection
Read: Get currently selected instances in Studio.
create_instance
Write: Create a new Instance with specified properties.
set_properties
Write: Modify properties on an existing instance.
delete_instance
Write: Destroy an instance with undo support.
clone_instance
Write: Clone an instance to a new parent.
move_instance
Write: Reparent an existing instance.
set_selection
Write: Update the Studio selection.
insert_service
Write: Insert a service via game:GetService().
execute_luau
Write: Execute arbitrary Luau code in the plugin context.