Skip to main content
Glama
okenjioxx

Roblox Executor MCP Server

by okenjioxx

List Actor scripts (parallel-Luau VMs)

list-actors
Read-onlyIdempotent

Enumerate every Actor instance to uncover hidden parallel-Luau logic. Returns paths, script counts, and optional script details.

Instructions

Enumerate every Actor instance in the game (getactors). Actors run code in isolated parallel-Luau VMs, so scripts inside them execute outside the normal serial scheduler and are a common place to hide logic. For each Actor this returns its name, full path, where it lives (in tree / nil-parented / detached / CoreGui), how many LuaSourceContainer descendants it has, and — when includeScripts is true — a capped list (30 per Actor) of those scripts with their name, class, and full path. Requires getactors; degrades with a clear error otherwise. Output is capped at 200 actors with a truncated flag. Signature: { includeScripts: any?, threadContext: number? }. Phase: observe; cost=medium; idempotency=read-only. Requires: active-client. Capabilities: getactors. Produces: bounded-candidates. Safety: read-only. On failure: inspect tool-schema for exact fields, defaults, constraints, and an invocation example.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
threadContextNoOptional Roblox thread identity for this call; omit it to use the server default.
includeScriptsNoIf true (default), list each Actor's descendant LuaSourceContainers (scripts), capped at 30 per actor. Set false for a lighter scan that only reports counts.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv2.0.0-spies.2

TDQS

A3.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover the safe-read profile (readOnlyHint, idempotentHint, destructiveHint=false), but the description adds real operational traits: a 200-actor output cap with a truncated flag, a 30-scripts-per-actor cap, and a hard getactors prerequisite that degrades with an error. It does partially restate read-only/idempotency which annotations already carry, keeping it from a 5.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loads the core operation and return shape before trailing metadata (Phase, cost, capabilities, safety), so the most important content comes first. It is somewhat dense with boilerplate meta-fields and closes with a generic 'inspect tool-schema' redirect, but nothing is egregiously wasted.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description carries the return-format burden well, spelling out per-Actor name, path, location classification, descendant counts, and the conditional script list. It is essentially complete for calling the tool, with only minor overlap against the 100%-covered schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3: both parameters are already fully documented in the schema, including includeScripts' default and 30-per-actor cap. The description's signature line and includeScripts note largely repeat that, adding little new semantic detail.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Enumerate every Actor instance in the game') and even names the underlying capability (getactors), plus explains what Actors are (parallel-Luau VMs, outside normal scheduler). It stops short of distinguishing itself from near-neighbors like list-script-actors or get-actor-details, so the agent must infer the boundary.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides useful context ('a common place to hide logic', 'Phase: observe; cost=medium') that implies when this is worth running, and notes the getactors dependency and degradation behavior. However it names no explicit alternative or when-not condition despite several overlapping siblings, leaving selection to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Deploy Server

Other Tools