Skip to main content
Glama

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

graph LR
    IDE["AI / IDE"] <-->|"MCP Protocol (Stdio)"| MCPServer["MCP Server (Node.js)"]
    MCPServer <-->|"WebSocket (ws://localhost:3000)"| Roblox["Roblox Client"]
    subgraph Roblox Client
        Bridge["Bridge.lua"]
        Game["Game Engine"]
    end
    Bridge <--> Game

The system consists of two parts:

  1. MCP Server (src/): A Node.js application that implements the MCP specification. It hosts a WebSocket server to communicate with Roblox.

  2. Roblox Bridge (roblox/Bridge.lua): 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 compatible WebSocket library).

    • getgenv() (optional, for safe environment access).

    • decompile (optional, for reading local scripts).

  • npm or yarn.

Installation

  1. Clone the repository.

  2. Install dependencies:

    npm install

Usage

1. Start the MCP Server

You can run the server in development mode or build it for production.

Development:

# Compile and run
npm run build && npm start

The server will start listening on stdio for MCP connections and ws://localhost:3000 for the Roblox bridge.

2. Inject the Roblox Bridge

  1. Open your Roblox Executor.

  2. Open roblox/Bridge.lua.

  3. Execute the script in the desired Roblox game instance.

  4. 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 LocalScript and ModuleScript (client-side).

    • Cannot read server-side Script source 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 3000 is free and the executor supports WebSockets (most modern ones do).

  • Executor Compatibility: If WebSocket is not defined, check your executor's documentation. You may need a polyfill.

Install Server
A
security – no known vulnerabilities
F
license - not found
A
quality - confirmed to work

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

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/33jrdd/roblox-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server