Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/Chrrxs/robloxstudio-mcp/llms.txt

Use this file to discover all available pages before exploring further.

The browsing and inspection tools give an AI agent a complete read-only map of your Roblox place. Before writing any code or modifying any instance, use these tools to understand the existing hierarchy, locate the instances you want to change, read their current properties, and verify the structure of individual services. All browsing tools are non-destructive and safe to call at any time during an editing session.

get_file_tree

Get the instance hierarchy tree from Studio, starting at any DataModel path. Returns a nested tree of instances with their class names. If no path is given, the tree starts from the game root.
path
string
Canonical DataModel path to start from (e.g. game.Workspace or game.ServerScriptService[".dir"]). Defaults to the game root when omitted.
instance_id
string
Which connected Studio place to target. Required when multiple places are connected; omit when only one is open. Use get_connected_instances to list available IDs.
-- Equivalent DataModel path syntax used in all tools
game.Workspace.MyFolder.Part
game.ServerScriptService[".dir"].Main

search_files

Search instances by name, class type, or script content. The default search mode is name.
query
string
required
The name, class name, or code pattern to search for.
searchType
string
Search mode. One of name (default), type, or content. Use content to search inside script sources.
instance_id
string
Which connected Studio place to target. Required when multiple places are connected.
Use searchType: "content" to quickly find all scripts that reference a specific variable name or function — without needing to know where they live in the hierarchy.

get_place_info

Get the place ID, place name, and game settings for the currently open Studio place.
instance_id
string
Which connected Studio place to target. Required when multiple places are connected.

get_services

Get available top-level Roblox services and their direct children. When serviceName is omitted, returns a summary of all known services. Pass a specific name to drill into one service.
serviceName
string
Name of a specific Roblox service to inspect (e.g. "Workspace", "ServerScriptService"). Omit to list all services.
instance_id
string
Which connected Studio place to target. Required when multiple places are connected.

search_objects

Find instances by name, class, or a property value. More targeted than search_files — supports property-based lookups.
query
string
required
The search term. Matches against the chosen searchType.
searchType
string
Search mode. One of name (default), class, or property. When using property, also supply propertyName.
propertyName
string
The property name to match against when searchType is "property" (e.g. "BrickColor", "Transparency").
instance_id
string
Which connected Studio place to target. Required when multiple places are connected.

get_instance_properties

Get all properties of a specific instance. For scripts, the full Source property is included by default; pass excludeSource: true to receive SourceLength and LineCount metadata instead, keeping the response compact.
instancePath
string
required
Canonical DataModel path to the instance (e.g. game.Workspace.Part or game.ServerScriptService[".dir"].Main).
excludeSource
boolean
For scripts, return SourceLength and LineCount instead of the full source text. Defaults to false.
instance_id
string
Which connected Studio place to target. Required when multiple places are connected.
When inspecting large scripts, use excludeSource: true here and then call get_script_source with a line_range to read only the section you need.

get_instance_children

Get the direct children of an instance, including each child’s name and class type. Use this to step through the hierarchy one level at a time before committing to a deeper traversal.
instancePath
string
required
Canonical DataModel path to the parent instance.
instance_id
string
Which connected Studio place to target. Required when multiple places are connected.

search_by_property

Find all instances in the place that have a specific property set to a specific value. Useful for locating every Part with Anchored = true or every script with RunContext = "Client".
propertyName
string
required
The name of the property to match (e.g. "Anchored", "BrickColor").
propertyValue
string
required
The value to match against (passed as a string, compared against the serialized property value).
instance_id
string
Which connected Studio place to target. Required when multiple places are connected.
-- Find all unanchored BaseParts
-- propertyName: "Anchored", propertyValue: "false"

-- Find all parts using a specific BrickColor
-- propertyName: "BrickColor", propertyValue: "Bright red"

get_class_info

Look up the known properties and methods for a Roblox class by name. This reflects the Studio plugin’s internal class metadata, not the full online API reference — for complete docs use get_roblox_docs.
className
string
required
The Roblox class name to inspect (e.g. "Part", "RemoteEvent", "ProximityPrompt").
instance_id
string
Which connected Studio place to target. Required when multiple places are connected.

get_project_structure

Get a depth-limited tree of the entire game hierarchy. The default depth is 3; increase maxDepth for deeper traversal. Use scriptsOnly to focus on the scripting layer only.
path
string
Canonical DataModel path to start from (default: workspace root).
maxDepth
number
Maximum traversal depth. Defaults to 3. Increase when you need to see nested folders and scripts.
scriptsOnly
boolean
When true, only Script, LocalScript, and ModuleScript instances are included in the output. Defaults to false.
instance_id
string
Which connected Studio place to target. Required when multiple places are connected.
Call get_project_structure with scriptsOnly: true at the start of a refactoring session to get a bird’s-eye view of the entire scripting hierarchy without noise from Parts, Meshes, and UI objects.

get_selection

Get all instances currently selected in the Studio viewport. Useful for reading what a user has highlighted before applying a bulk operation.
instance_id
string
Which connected Studio place to target. Required when multiple places are connected.

get_descendants

Get all descendants of an instance recursively, with depth information per instance. More efficient than chaining repeated get_instance_children calls when you need the full subtree.
instancePath
string
required
Canonical root DataModel path whose descendants will be returned.
maxDepth
number
Maximum recursion depth. Defaults to 10.
classFilter
string
Only include instances that match this class using IsA. For example, "BasePart" returns Part, MeshPart, UnionOperation, etc.
instance_id
string
Which connected Studio place to target. Required when multiple places are connected.
-- Example: get all BaseParts inside the Dungeon folder
-- instancePath: "game.Workspace.Dungeon"
-- classFilter: "BasePart"
-- Returns every Part, MeshPart, and WedgePart at any depth

compare_instances

Diff two instances side-by-side by comparing their properties. Highlights every property where the two instances differ — useful for debugging why a duplicate behaves differently from the original.
instancePathA
string
required
Canonical DataModel path of the first instance (e.g. game.Workspace.NPCs.NPC_01).
instancePathB
string
required
Canonical DataModel path of the second instance (e.g. game.Workspace.NPCs.NPC_02).
instance_id
string
Which connected Studio place to target. Required when multiple places are connected.
-- Example: why does NPC_02 behave differently from NPC_01?
-- instancePathA: "game.Workspace.NPCs.NPC_01"
-- instancePathB: "game.Workspace.NPCs.NPC_02"
-- Returns: { "WalkSpeed": { a: 16, b: 8 }, "Health": { a: 100, b: 50 } }

Build docs developers (and LLMs) love