Roblox Studio MCP Server logo

Roblox Studio MCP Server

Community
boshyxd

Create agentic AI workflows in ROBLOX Studio

Publisherboshyxd
Repositoryrobloxstudio-mcp
LanguageTypeScript
Forks
91
Stars
487
Available tools
69
Transport typestdio
Categories
LicenseMIT
Links
  • Connect tools to AI workflows

    Roblox Studio MCP Server exposes MCP capabilities that can be used by compatible AI clients and agents.

  • 69 available tools

    Browse the callable actions below, including names and descriptions when provided by the server.

  • Ready-to-copy setup

    Use the installation snippets to configure this server in your preferred MCP client.

  • Open source signals

    487 stars and 91 forks from the linked repository.

Archiving project June 6th 2026

Hey a few months ago my laptops motherboard was shorted which contained the hardware keys needed to get into my NPM account, due to Node customer support taking forever and also other priorities taking place for me, I will be archiving this project.

I recommend you swap to https://github.com/Chrrxs/robloxstudio-mcp which is a fork of this one that's being actively maintained by Chrrxs.

Roblox Studio MCP Server

Connect AI assistants like Claude and Gemini to Roblox Studio

NPM Version


What is This?

An MCP server that lets AI explore your game structure, read/edit scripts, and perform bulk changes all locally and safely.

Setup

  1. Install the Studio plugin to your Plugins folder
  2. Enable Allow HTTP Requests in Experience Settings > Security
  3. Connect your AI:

Claude Code:

bash
claude mcp add robloxstudio -- npx -y robloxstudio-mcp@latest

Codex CLI:

bash
codex mcp add robloxstudio -- npx -y robloxstudio-mcp@latest

Gemini CLI:

bash
gemini mcp add robloxstudio npx --trust -- -y robloxstudio-mcp@latest

Plugin shows "Connected" when ready.

json
{
  "mcpServers": {
    "robloxstudio-mcp": {
      "command": "npx",
      "args": ["-y", "robloxstudio-mcp@latest"]
    }
  }
}

Windows users: If you encounter issues, use cmd:

json
{
  "mcpServers": {
    "robloxstudio-mcp": {
      "command": "cmd",
      "args": ["/c", "npx", "-y", "robloxstudio-mcp@latest"]
    }
  }
}

What Can You Do?

Ask things like: "What's the structure of this game?", "Find scripts with deprecated APIs", "Create 50 test NPCs in a grid", "Optimize this movement code"

robloxstudio-mcp-inspector

NPM Version

A lighter, read-only version that only exposes inspection tools. No writes, no script edits, no object creation/deletion. Ideal for safely browsing game structure, reviewing scripts, and debugging without risk of accidental changes.

31 read-only tools: get_file_tree, search_files, get_place_info, get_services, search_objects, get_instance_properties, get_instance_children, search_by_property, get_class_info, get_project_structure, mass_get_property, get_script_source, grep_scripts, get_attributes, get_tags, get_tagged, get_selection, get_playtest_output, get_connected_instances, get_descendants, compare_instances, get_output_log, export_build, list_library, search_materials, get_build, search_assets, get_asset_details, get_asset_thumbnail, preview_asset, capture_screenshot

Setup - same plugin, just swap the package name:

Claude:

bash
claude mcp add robloxstudio-inspector -- npx -y robloxstudio-mcp-inspector@latest

Codex:

bash
codex mcp add robloxstudio-inspector -- npx -y robloxstudio-mcp-inspector@latest

Gemini:

bash
gemini mcp add robloxstudio-inspector npx --trust -- -y robloxstudio-mcp-inspector@latest
json
{
  "mcpServers": {
    "robloxstudio-mcp-inspector": {
      "command": "npx",
      "args": ["-y", "robloxstudio-mcp-inspector@latest"]
    }
  }
}

Windows users: If you encounter issues, use cmd:

json
{
  "mcpServers": {
    "robloxstudio-mcp-inspector": {
      "command": "cmd",
      "args": ["/c", "npx", "-y", "robloxstudio-mcp-inspector@latest"]
    }
  }
}

Report Issues | DevForum | MIT Licensed

Installation

TypingMind
Prerequisites:

Node.js 18+

{
  "mcpServers": {
    "boshyxd-robloxstudio-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "robloxstudio-mcp"
      ]
    }
  }
}

Available Tools

  • get_file_tree

    Get instance hierarchy tree from Studio

  • search_files

    Search instances by name, class, or script content

  • get_place_info

    Get place ID, name, and game settings

  • get_services

    Get available services and their children

  • search_objects

    Find instances by name, class, or properties

  • get_instance_properties

    Get all properties of an instance

  • get_instance_children

    Get children and their class types

  • search_by_property

    Find objects with specific property values

  • get_class_info

    Get properties/methods for a class

  • get_project_structure

    Get full game hierarchy tree. Increase maxDepth (default 3) for deeper traversal.

  • set_property

    Set a property on an instance

  • mass_set_property

    Set a property on multiple instances

  • mass_get_property

    Get a property from multiple instances

  • set_properties

    Set multiple properties on a single instance in one call.

  • create_object

    Create a new instance. Optionally set properties on creation.

  • create_ui_tree

    Create an entire instance hierarchy from a nested JSON tree in one call.

  • mass_create_objects

    Create multiple instances. Each can have optional properties.

  • delete_object

    Delete an instance

  • smart_duplicate

    Duplicate with naming, positioning, and property variations

  • mass_duplicate

    Batch smart_duplicate operations

  • get_script_source

    Get script source. Returns "source" and "numberedSource" (line-numbered). Use startLine/endLine for large scripts.

  • set_script_source

    Replace entire script source. For partial edits use edit/insert/delete_script_lines.

  • edit_script_lines

    Replace exact text in a script. old_string must match exactly once in the script (whitespace-sensitive). Use get_script_source first to see current content.

  • insert_script_lines

    Insert lines after a given line number (0 = beginning).

  • delete_script_lines

    Delete a range of lines. 1-indexed, inclusive.

  • get_attribute

    Get an attribute value

  • set_attribute

    Set an attribute. Supports primitives, Vector3, Color3, UDim2, BrickColor.

  • get_attributes

    Get all attributes on an instance

  • delete_attribute

    Delete an attribute

  • get_tags

    Get all tags on an instance

  • add_tag

    Add a tag

  • remove_tag

    Remove a tag

  • get_tagged

    Get all instances with a specific tag

  • get_selection

    Get all currently selected objects

  • execute_luau

    Execute Luau code in plugin context. Use print()/warn() for output. Return value is captured.

  • grep_scripts

    Ripgrep-inspired search across all script sources. Supports literal and Lua pattern matching, context lines, early termination, and results grouped by script with line/column numbers.

  • start_playtest

    Start playtest. Captures print/warn/error via LogService. Poll with get_playtest_output, end with stop_playtest. Use numPlayers for multi-client testing (server + N clients).

  • stop_playtest

    Stop playtest and return all captured output.

  • get_playtest_output

    Poll output buffer without stopping. Returns isRunning and captured messages.

  • get_connected_instances

    List all connected plugin instances with their roles. Use during multi-client playtest to discover server and client instances for targeted commands.

  • undo

    Undo the last change in Roblox Studio. Uses ChangeHistoryService to reverse the most recent operation.

  • redo

    Redo the last undone change in Roblox Studio. Uses ChangeHistoryService to reapply the most recently undone operation.

  • export_build

    Export a Model/Folder into a compact, token-efficient build JSON format and auto-save it to the local build library. The output contains a palette (unique BrickColor+Material combos mapped to short keys) and compact part arrays with positions normalized relative to the bounding box center. The file is saved to build-library/{style}/{id}.json automatically.

  • create_build

    Create a new build model from scratch and save it to the library. Define parts using compact arrays [posX, posY, posZ, sizeX, sizeY, sizeZ, rotX, rotY, rotZ, paletteKey, shape?, transparency?]. Palette maps short keys to [BrickColor, Material] pairs. The build is saved and can be referenced by import_build or import_scene.

  • generate_build

    Procedurally generate a build via JS code. ALWAYS generate the entire scene in ONE call — never split into multiple small builds. PREFER high-level primitives over manual loops. No comments. No unnecessary variables. Maximize build detail per line.

    EDITING: When modifying an existing build, call get_build first to retrieve the original code. Then make ONLY the targeted changes the user requested — do not rewrite unchanged code. Pass the modified code to generate_build.

    HIGH-LEVEL (use these first — each replaces 5-20 lines): room(x,y,z, w,h,d, wallKey, floorKey?, ceilKey?, wallThickness?) - Complete enclosed room (floor+ceiling+4 walls) roof(x,y,z, w,d, style, key, overhang?) - style: "flat"|"gable"|"hip" stairs(x1,y1,z1, x2,y2,z2, width, key) - Auto-generates steps between two points column(x,y,z, height, radius, key, capKey?) - Cylinder with base+capital pew(x,y,z, w,d, seatKey, legKey?) - Bench with seat+backrest+legs arch(x,y,z, w,h, thickness, key, segments?) - Curve

  • import_build

    Import a build into Roblox Studio. Accepts either a full build data object OR a library ID string (e.g. "medieval/church_01") to load from the build library. When using generate_build or create_build, pass the build ID string instead of the full data.

  • list_library

    List available builds in the local build library. Returns build IDs, styles, bounds, and part counts. Optionally filter by style.

  • search_materials

    Search for MaterialVariant instances in MaterialService by name. Use this to find custom materials before using them in generate_build or create_build palettes. Returns material names and their base material types.

  • get_build

    Get a build from the library by ID. Returns metadata, palette, and generator code (if the build was created with generate_build). IMPORTANT: When the user asks to modify an existing build, ALWAYS call get_build first to retrieve the original code, then make targeted edits to only the relevant lines, and call generate_build with the modified code. Never rewrite the entire code from scratch — only change what the user asked to change.

  • import_scene

    Import a full scene layout. Provide a scene with model references (resolved from library) and placement data. Each model is placed at the specified position/rotation. Can also include inline custom builds.

  • search_assets

    Search the Creator Store (Roblox marketplace) for assets by type and keywords. Requires ROBLOX_OPEN_CLOUD_API_KEY env var (no cookie auth for this endpoint).

  • get_asset_details

    Get detailed marketplace metadata for a specific asset. Uses ROBLOX_OPEN_CLOUD_API_KEY or falls back to ROBLOSECURITY cookie (own assets only).

  • get_asset_thumbnail

    Get the thumbnail image for an asset as base64 PNG, suitable for vision LLMs. Thumbnails API is public but asset validation uses ROBLOX_OPEN_CLOUD_API_KEY.

  • insert_asset

    Insert a Roblox asset into Studio by loading it via AssetService and parenting it to a target location. Optionally set position.

  • preview_asset

    Preview a Roblox asset without permanently inserting it. Loads the asset, builds a hierarchy tree with properties and summary stats, then destroys it. Useful for inspecting asset contents before insertion.

  • upload_decal

    Upload an image file as a Decal asset to Roblox. Supports ROBLOSECURITY cookie auth (recommended, simpler) or ROBLOX_OPEN_CLOUD_API_KEY (needs asset:write scope + creator ID). Cookie auth is used automatically when ROBLOSECURITY is set.

  • capture_screenshot

    Capture a screenshot of the Roblox Studio viewport and return it as a PNG image. Requires EditableImage API to be enabled: Game Settings > Security > "Allow Mesh / Image APIs". Only works in Edit mode with the viewport visible.

  • simulate_mouse_input

    Simulate mouse input in the Roblox Studio viewport via VirtualInputManager. Use during playtest to click UI buttons, interact with objects, or navigate menus. Coordinates are viewport pixels (top-left is 0,0). Use capture_screenshot to identify UI element positions before clicking.

  • simulate_keyboard_input

    Simulate keyboard input via VirtualInputManager. Use during playtest for character movement (W/A/S/D), jumping (Space), interactions (E), or any key-driven action. For sustained movement, use "press" to hold and "release" to let go.

  • character_navigation

    Move the player character to a target position or instance during playtest. Uses PathfindingService for automatic navigation around obstacles, falling back to direct movement. Requires an active playtest in "play" mode. Does NOT simulate player input — moves the character directly.

  • clone_object

    Clone an instance to a new parent location. Creates a deep copy of the instance and all its descendants.

  • move_object

    Move (reparent) an instance to a new parent location. Preserves all children and properties.

  • rename_object

    Rename an instance.

  • get_descendants

    Get all descendants of an instance recursively with depth info. More efficient than repeated get_instance_children calls.

  • compare_instances

    Diff two instances by comparing their properties. Useful for debugging why a duplicate behaves differently.

  • get_output_log

    Get the Studio output log history. Works in both edit and play mode.

  • get_script_analysis

    Run syntax analysis on Luau scripts using loadstring. Detects compile errors with line numbers. Pass a script path to analyze one script, or a container path to analyze all scripts under it.

  • bulk_set_attributes

    Set multiple attributes on an instance in a single call. More efficient than repeated set_attribute calls.

  • find_and_replace_in_scripts

    Find and replace text across all scripts in the game. Supports literal and Lua pattern matching. Use dryRun to preview changes before applying. Pairs with grep_scripts for search-only operations.

Use Roblox Studio MCP Server MCP with multiple AI models

TypingMind connects MCP tools at the workspace level, so once Roblox Studio MCP Server is connected, you can use it with different AI models in TypingMind instead of setting it up separately for each model. This MCP runs locally through the TypingMind MCP connector on your device.

Setup guide to use the local connector

Use this when the MCP server needs access to local files, apps, or private resources on your computer.

1

Open the MCP settings

In TypingMind, go to Settings, Advanced Settings, then Model Context Protocol and choose Setup Connector.

  1. Open TypingMind in your browser.
  2. Click the Settings icon.
  3. Go to Advanced Settings.
  4. Open the Model Context Protocol section.
  5. Click Setup Connector and choose This Device.
TypingMind MCP connector setup screen with This Device selected
2

Run the connector command

Choose This Device, copy the command from TypingMind, and run it in Terminal. Keep the process running while you use MCP.

  1. Copy the setup command shown by TypingMind.
  2. Open Terminal on macOS or Windows Terminal on Windows.
  3. Paste and run the command.
  4. Approve the package install if Terminal asks you to proceed.
  5. Keep the Terminal window running while using MCP tools.
3

Add Roblox Studio MCP Server as a server

When the connector status is Ready, click Edit Servers and paste the MCP server configuration.

  1. Wait until the connector status shows Ready.
  2. Click Edit Servers.
  3. Paste the Roblox Studio MCP Server MCP server configuration.
  4. Save the server list.
  5. Refresh if you want to confirm the connector is still ready.
TypingMind MCP settings showing active server and Edit Servers button
{
  "mcpServers": {
    "boshyxd-robloxstudio-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "robloxstudio-mcp"
      ]
    }
  }
}
4

Use it across models

Save the server list, open Plugins, enable the Roblox Studio MCP Server MCP tools, then select any supported AI model in TypingMind and use the tools in chat or assign them to an AI agent.

  1. Open the Plugins page in TypingMind.
  2. Enable the Roblox Studio MCP Server MCP tools.
  3. Start a chat and choose the AI model you want to use.
  4. Use the MCP tools in chat or assign them to an AI agent.
  5. Switch to another AI model whenever needed without reconnecting MCP.
TypingMind chat using enabled MCP tools with a selected AI model
Can you use Roblox Studio MCP Server to help me with this task?
Roblox Studio MCP Server
Sure. I read it.
Here is what I found using Roblox Studio MCP Server.

Frequently asked questions

What is the Roblox Studio MCP Server MCP server used for?

Roblox Studio MCP Server is an MCP server that lets compatible AI clients connect to external tools and context. In TypingMind, you can add this MCP server once and make its tools available in your AI workspace.

Can I use Roblox Studio MCP Server MCP with multiple AI models in TypingMind?

Yes. TypingMind connects MCP tools at the workspace level, so you can use Roblox Studio MCP Server with different AI models such as Claude, ChatGPT, Gemini, or other models you have configured in TypingMind without setting up the MCP server separately for each model.

Why use Roblox Studio MCP Server MCP with TypingMind?

TypingMind is one of the best frontends for LLM chat because it brings multiple AI models, prompts, plugins, AI agents, API keys, and MCP tools into one workspace. With Roblox Studio MCP Server connected, you can use its MCP tools across your preferred models while keeping your chat workflow organized in TypingMind.

How do I connect Roblox Studio MCP Server MCP to TypingMind?

Roblox Studio MCP Server runs through the TypingMind local MCP connector. This is best when the MCP server needs access to local files, desktop apps, command-line tools, or private resources on your computer.

What tools does Roblox Studio MCP Server MCP provide in TypingMind?

Roblox Studio MCP Server exposes 69 MCP tools that can be enabled from the TypingMind Plugins page and used in chat or assigned to AI agents.

Do I need to share my API keys with TypingMind to use Roblox Studio MCP Server MCP?

No. TypingMind is local-first and lets you keep your model providers, API keys, prompts, and MCP configuration under your control. If Roblox Studio MCP Server requires authentication, add the required headers, OAuth settings, or local configuration for that MCP server when you create the connection.

Related MCP Servers

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇