Roblox Studio MCP Bridge

Provides an MCP bridge enabling AI assistants to read and modify Roblox Studio DataModel with undoable changes via a local HTTP API and stdio interface.
  • 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.

Installation

Add the following to your MCP client configuration file.

Configuration

View docs

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.

  1. Clone the repository and move into it.
git clone https://github.com/Justice219/roblox-studio-mcp.git
cd roblox-studio-mcp
  1. Install dependencies and build the project.
npm install
npm run build
  1. Install the MCP server package globally (optional but convenient).
npm install -g @jamesworkbenchcrm/roblox-studio-mcp
  1. 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

  1. Enable HTTP requests in Roblox Studio to allow plugin communication.

Open Studio: Home → Game Settings → Security → Allow HTTP Requests → ON.

  1. 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.

Built by
VeilStrat
AI signals for GTM teams
© 2026 VeilStrat. All rights reserved.All systems operational