Properties, attributes, and tags are the three main data layers on any Roblox instance. Built-in properties likeDocumentation 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.
Transparency, Anchored, and Position are set with the property tools. Custom key-value pairs that your game code defines are managed with the attribute tools. CollectionService tags — used for grouping instances by behavior — are managed with the tag tools. All three groups follow the same canonical instancePath convention and support the instance_id parameter for multi-place sessions.
Properties
set_property
Set a single property on one instance. The value type is inferred for primitives; for Roblox value types, pass a typed object.
Canonical DataModel path of the instance to modify (e.g.
game.Workspace.Part).The exact property name (e.g.
"Transparency", "Anchored", "BrickColor").The value to set. Pass a plain
string, number, or boolean for primitive properties. For structured types, pass an object:Vector3:{ x: 0, y: 5, z: 0 }Color3(RGB 0–1):{ r: 1, g: 0, b: 0 }UDim2:{ xScale: 0, xOffset: 100, yScale: 0, yOffset: 50 }
Which connected Studio place to target. Required when multiple places are connected.
mass_set_property
Set the same property to the same value on multiple instances in a single call. Dramatically faster than calling set_property in a loop for large batches.
Array of canonical DataModel paths — one per instance to update.
The property name to set on every instance.
The value to set (same format as
set_property).Which connected Studio place to target. Required when multiple places are connected.
mass_get_property
Read the same property from multiple instances in one call. Returns a map of path → value, letting you inspect a large set of instances without individual round-trips.
Array of canonical DataModel paths to read from.
The property name to read from each instance.
Which connected Studio place to target. Required when multiple places are connected.
set_properties
Set multiple properties on a single instance in one call. More efficient than issuing individual set_property calls when you need to configure several properties at once during creation or bulk editing.
Canonical DataModel path of the instance to modify.
A map of property name → value. Each value follows the same type rules as
set_property (primitives or typed objects for Vector3/Color3/UDim2).Which connected Studio place to target. Required when multiple places are connected.
Attributes
Attributes are custom key-value pairs stored directly on an instance. They are accessible from Luau viainstance:GetAttribute("key") and instance:SetAttribute("key", value). The MCP attribute tools let an agent read, write, and delete these pairs without executing Luau.
set_attribute
Set a single custom attribute on an instance. Supports all attribute-compatible types.
Canonical DataModel path of the instance.
The attribute key (e.g.
"MaxHealth", "Team", "SpawnGroup").The attribute value. Primitives are inferred automatically. For typed values, pass an object using the same convention as property values:
Vector3:{ x, y, z }Color3:{ r, g, b }(values 0–1)UDim2:{ xScale, xOffset, yScale, yOffset }BrickColor: pass the name string (e.g."Bright red") and setvalueType: "BrickColor"
Optional type hint for disambiguation (e.g.
"BrickColor" when passing a color name string as attributeValue).Which connected Studio place to target. Required when multiple places are connected.
get_attributes
Read all custom attributes on an instance and return them as a key-value map.
Canonical DataModel path of the instance to read from.
Which connected Studio place to target. Required when multiple places are connected.
delete_attribute
Remove a single custom attribute from an instance.
Canonical DataModel path of the instance.
The attribute key to remove.
Which connected Studio place to target. Required when multiple places are connected.
bulk_set_attributes
Set multiple custom attributes on a single instance in one call. More efficient than repeated set_attribute calls when initialising a freshly created NPC, item, or configuration object with several attributes at once.
Canonical DataModel path of the instance to modify.
A map of attribute name → value. Complex types (Vector3, Color3, UDim2) are expressed using the
_type convention understood by the plugin. Primitive values (number, boolean, string) are inferred directly.Which connected Studio place to target. Required when multiple places are connected.
Tags (CollectionService)
CollectionService tags are string labels attached to instances. Your game scripts can query all instances that share a tag withCollectionService:GetTagged("TagName"), making tags a lightweight way to define groups and behaviours without extra scripts. The tag tools let an agent read and modify tags directly.
get_tags
Read all CollectionService tags currently applied to an instance.
Canonical DataModel path of the instance.
Which connected Studio place to target. Required when multiple places are connected.
add_tag
Add a CollectionService tag to an instance.
Canonical DataModel path of the instance.
The tag string to add (e.g.
"Enemy", "Interactable", "DamagePart").Which connected Studio place to target. Required when multiple places are connected.
remove_tag
Remove a CollectionService tag from an instance.
Canonical DataModel path of the instance.
The tag string to remove.
Which connected Studio place to target. Required when multiple places are connected.
get_tagged
Get every instance in the place that currently has a specific CollectionService tag. The response includes each instance’s full canonical path so you can pass the results directly into property or attribute tools.
The tag to query (e.g.
"Enemy", "Checkpoint").Which connected Studio place to target. Required when multiple places are connected.