Enables AI assistants to inspect the Roblox game hierarchy, read client-side script source code, retrieve instance properties, and execute Lua code directly within a running Roblox client through a WebSocket bridge.
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 MCP Serverlist the children in Workspace and show me any scripts"
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 Server
A Model Context Protocol (MCP) server that acts as a bridge between AI assistants (like Claude/Gemini in IDEs) and a running Roblox instance. This allows the AI to inspect the game hierarchy, read scripts, and execute code directly within the Roblox client.
Architecture
The system consists of two parts:
MCP Server (: A Node.js application that implements the MCP specification. It hosts a WebSocket server to communicate with Roblox.
Roblox Bridge (: A Lua script that runs inside a Roblox executor. It connects to the MCP server via WebSocket and executes commands.
Prerequisites
Node.js: v18 or higher.
Roblox Executor: A Roblox script executor that supports:
WebSocket.connect(or compatibleWebSocketlibrary).getgenv()(optional, for safe environment access).decompile(optional, for reading local scripts).
npm or yarn.
Installation
Clone the repository.
Install dependencies:
npm install
Usage
1. Start the MCP Server
You can run the server in development mode or build it for production.
Development:
The server will start listening on stdio for MCP connections and ws://localhost:3000 for the Roblox bridge.
2. Inject the Roblox Bridge
Open your Roblox Executor.
Open
roblox/Bridge.lua.Execute the script in the desired Roblox game instance.
Check the executor console (F9) for a connection message:
[MCP-Bridge] Connected!.
Available Tools
The MCP server exposes the following tools to the AI:
list_children
Lists the children of a specific instance.
Arguments:
path(string, e.g., "game.Workspace")Returns: list of
{ name, className, path }
get_properties
Retrieves the properties of a specific instance.
Arguments:
path(string),properties(array of strings, optional)Returns: Map of property names to values.
read_script
Reads the source code of a script.
Arguments:
path(string)Returns: Source code string.
Notes:
Works for
LocalScriptandModuleScript(client-side).Cannot read server-side
Scriptsource due to Roblox replication security (returns empty/error).
run_script
Executes arbitrary Lua code in the context of the bridge script.
Arguments:
code(string)Returns: Array of return values converted to strings.
Troubleshooting
Server Code Access: You cannot read server scripts from the client. This is a Roblox engine limitation, not a bug.
Connection Failed: Ensure port
3000is free and the executor supports WebSockets (most modern ones do).Executor Compatibility: If
WebSocketis not defined, check your executor's documentation. You may need a polyfill.