Skip to main content
Glama
okenjioxx

Roblox Executor MCP Server

by okenjioxx

Inspect Actor(s) and their scripts

get-actor-details
Read-onlyIdempotent

Inspect Roblox Actor instances to reveal their contents, script paths, and running state. Pass an actorPath for one Actor or omit it to summarize every Actor.

Instructions

Drill into Actor instances (parallel-Luau VMs) and report their contents. Actors run code in isolated VMs outside the normal serial scheduler, so they are a common place to hide logic. Give an actorPath to inspect ONE Actor in detail, or omit it to summarize EVERY Actor (getactors). For each Actor this returns its name, where it lives (in tree / nil-parented / detached / inside CoreGui), how many descendants it has, and a list (capped at 30 per Actor) of the LuaSourceContainer scripts inside it — each with name, class, full path, and whether the script is currently executing (running, determined by membership in getrunningscripts). This complements list-actors by adding the running flag, the descendant count, and single-target resolution from a Luau expression. Requires getactors; getrunningscripts is used additionally when present (running falls back to false if it is unavailable). Returns a single Actor object when actorPath is given, otherwise { actorCount, truncated, actors: [...] }. Degrades with a clear error if getactors is missing or actorPath does not resolve to an Actor. Signature: { actorPath: string?, threadContext: number? }. Phase: observe; cost=medium; idempotency=read-only. Requires: active-client, resolved-target. Capabilities: getactors. Produces: structured-observation. Safety: read-only. On failure: inspect tool-schema for exact fields, defaults, constraints, and an invocation example.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
actorPathNoOptional Luau expression resolving to a single Actor to inspect, e.g. 'workspace.MyModel.Actor' or 'getactors()[1]'. Evaluated as `return <actorPath>` and validated to be an Instance that IsA('Actor'). If omitted, ALL actors from getactors() are summarized.
threadContextNoOptional Roblox thread identity for this call; omit it to use the server default.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv2.0.0-spies.2

TDQS

A4.6/5.0
Behavior5/5

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

Annotations already cover the read-only/idempotent safety profile, but the description goes well beyond them: it discloses dependency on getactors, the additional use of getrunningscripts, the fallback to running=false when it is unavailable, the 30-script-per-Actor cap, and graceful degradation 'with a clear error' when getactors is missing or actorPath does not resolve.

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?

Purpose and behavior are front-loaded and information-dense, but the trailing boilerplate block (Signature, Phase, cost, idempotency, Requires, Capabilities, Produces, Safety, On failure) is verbose metadata that partly duplicates the prose. Efficient, but not tight.

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

Completeness5/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 fully carries the return contract, specifying a single Actor object when actorPath is given versus { actorCount, truncated, actors: [...] }, plus the per-Actor fields returned. Dependencies, failure behavior, and phase are all covered.

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 schema already fully documents actorPath (Luau expression, IsA('Actor') validation) and threadContext. The description restates the actorPath omit-vs-provide semantics but adds no syntax or format detail beyond the schema, so the baseline 3 applies.

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

Purpose5/5

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

States a specific verb and resource ('Drill into Actor instances (parallel-Luau VMs) and report their contents') and explicitly distinguishes itself from the sibling list-actors by noting it 'complements list-actors by adding the running flag, the descendant count, and single-target resolution'. An agent can tell what it does and how it differs from neighbors without opening the schema.

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

Usage Guidelines5/5

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

Explicitly routes between the two modes: 'Give an actorPath to inspect ONE Actor in detail, or omit it to summarize EVERY Actor', and names the alternative tool it complements (list-actors). The condition selecting each behavior is stated outright.

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