Overview
The mass_get_property tool allows you to efficiently retrieve the same property value from multiple Roblox instances in a single operation. This is useful for inspecting states, gathering data, or validating properties across multiple objects.
Parameters
Array of instance paths to read from. Each path uses dot notation (e.g., game.Workspace.Part1)
Name of the property to get from all instances (e.g., Position, Transparency, Anchored)
Vector3 Limitation
Important: mass_get_property does NOT reliably support Vector3 properties. It may return null or error.For Vector3 properties (Position, Size, Velocity):
- Use individual
get_instance_properties calls for each instance
- This limitation is due to serialization constraints in the MCP bridge
The tool returns an object mapping each instance path to its property value:
{
"game.Workspace.Part1": 0.5,
"game.Workspace.Part2": 0.3,
"game.Workspace.Part3": 1.0
}
Examples
Getting transparency from multiple parts
{
"paths": [
"game.Workspace.Platform1",
"game.Workspace.Platform2",
"game.Workspace.Platform3"
],
"propertyName": "Transparency"
}
Response:
{
"game.Workspace.Platform1": 0,
"game.Workspace.Platform2": 0.5,
"game.Workspace.Platform3": 1
}
Checking if multiple parts are anchored
{
"paths": [
"game.Workspace.Part1",
"game.Workspace.Part2",
"game.Workspace.Part3"
],
"propertyName": "Anchored"
}
Response:
{
"game.Workspace.Part1": true,
"game.Workspace.Part2": false,
"game.Workspace.Part3": true
}
Getting names of multiple instances
{
"paths": [
"game.Workspace.Model.Part1",
"game.Workspace.Model.Part2",
"game.Workspace.Model.Part3"
],
"propertyName": "Name"
}
Response:
{
"game.Workspace.Model.Part1": "Platform",
"game.Workspace.Model.Part2": "Wall",
"game.Workspace.Model.Part3": "Floor"
}
Getting CanCollide status
{
"paths": [
"game.Workspace.Obstacle1",
"game.Workspace.Obstacle2"
],
"propertyName": "CanCollide"
}
Response:
{
"game.Workspace.Obstacle1": true,
"game.Workspace.Obstacle2": false
}
Mass property reads are much faster than individual calls:
- Individual calls: 20 parts = 20 MCP round-trips
- Mass operation: 20 parts = 1 MCP round-trip
This can save significant time when gathering data from large numbers of instances.
Error Handling
If a path is invalid or the property doesn’t exist on an instance, that entry may return null or an error message in the response object.
Use Cases
- Validating property values across multiple objects
- Gathering data for calculations or analytics
- Checking states before performing batch operations
- Debugging property values across a level
- Collecting configuration data from multiple instances
Workaround for Vector3 Properties
If you need to get Vector3 properties from multiple instances:
// Instead of mass_get_property, use individual get_instance_properties calls
const paths = [
"game.Workspace.Part1",
"game.Workspace.Part2",
"game.Workspace.Part3"
];
// Make parallel calls (in Node.js or via MCP client)
const positions = await Promise.all(
paths.map(path => getInstanceProperties(path))
).then(results =>
results.map((props, i) => ({ path: paths[i], position: props.Position }))
);