Skip to main content
Glama
okenjioxx

Roblox Executor MCP Server

by okenjioxx

Record a user demonstration and draft a reusable playbook

teach-mode
Destructive

Capture Roblox input, GUI, and prompt events during a live session, then stop to obtain a timeline and a review-required playbook draft.

Instructions

Event-driven demonstration recorder with start, poll, stop, and cancel actions. It uses bounded client-side ring buffers and temporary Roblox signal connections to observe keyboard, mouse, touch, throttled movement, GuiButton activation, meaningful GUI appearance/disappearance, ProximityPrompt triggers, character respawns, and Tool equip/backpack transitions. Optional remote capture is started and read through trace-remote-traffic via the normal nested-tool invoker when that tool and executor capabilities are available. stop disconnects every owned listener, returns the retained chronological timeline, and builds a conservative review-required playbook draft with semantic selectors, path evidence, virtual-input/click-button/fire-proximity-prompt and remote candidates, inferred waits/guards, placeholders, uncertainty, and manual-review flags. It does not claim perfect intent inference. cancel disconnects and discards. Idle sessions self-expire and a three-session cap evicts the oldest recorder to prevent leaked listeners. Signature: { action: "start" | "poll" | "stop" | "cancel", sessionId: string?, maxEvents: any?, movementThrottleMs: any?, expirySeconds: any?, maxGuiWatch: any?, sinceSeq: any?, limit: any?, includeRemoteSpy: any?, remoteLimit: any?, sinceRemoteTime: any?, threadContext: number? }. Phase: orchestrate; cost=medium; idempotency=contextual-write. Requires: active-client, explicit-mutation-approval, An active Roblox client, The user is ready to demonstrate the workflow after action=start. Capabilities: UserInputService and Roblox RBXScriptSignal connections, getgenv for state across calls, Optional hookmetamethod/getnamecallmethod/newcclosure for remote capture. Produces: grounded-evidence, Bounded chronological event timeline, Semantic instance selectors and path evidence, Conservative reusable playbook draft with uncertainty and review flags. Verify with: assert-state, teach-mode action=poll to confirm events are arriving, Manual review of selectors, guards, timing, and server-reaching candidates, Run the reviewed playbook in a disposable/test game state and verify outcomes. Safety: MUTATING; writes live game/client state, Temporarily installs bounded signal listeners in the active client, May temporarily install a remote-spy metamethod hook when explicitly requested, Does not execute the generated playbook automatically. On failure: inspect tool-schema for exact fields, defaults, constraints, and an invocation example.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNopoll only: maximum local timeline events returned in this page.
actionYesstart creates the recorder; poll returns retained events after sinceSeq; stop disconnects and returns the timeline plus a conservative playbook draft; cancel disconnects and discards the recording.
sinceSeqNopoll only: return retained local events whose sequence is greater than this cursor.
maxEventsNostart only: circular timeline capacity; oldest events are overwritten and counted.
sessionIdNoOptional stable recording id. start generates one when omitted; later actions default to the newest active session.
maxGuiWatchNostart only: cap on watched GuiObjects/ScreenGuis to keep listener overhead bounded.
remoteLimitNoMaximum remote-spy entries merged into poll/stop results.
expirySecondsNostart only: idle time before automatic disconnection and session removal.
threadContextNoOptional Roblox thread identity for this call; omit it to use the server default.
sinceRemoteTimeNopoll only: omit remote events at or before this many seconds since recording start.
includeRemoteSpyNostart only: request outgoing remote capture through trace-remote-traffic. Failure is non-fatal and reported.
movementThrottleMsNostart only: minimum interval for mouse/touch/gamepad movement observations.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv2.0.0-spies.2

TDQS

A4.3/5.0
Behavior5/5

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

With annotations only marking it non-read-only/destructive/non-idempotent, the description carries the behavioral load and delivers: bounded ring buffers, temporary signal listeners, a three-session cap that evicts the oldest recorder, idle self-expiry, cancel discarding data, optional metamethod hook installation, and the explicit note that the generated playbook is not auto-executed. This is far richer than the annotations alone.

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

Conciseness3/5

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

The core purpose is front-loaded, but the passage is dense and long, and the full signature enumeration duplicates the input schema, adding length without new information. Much of the remaining content earns its place, but the overall size is excessive for a description.

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?

For a complex, 12-parameter mutation tool with no output schema, the description covers behavior, safety, failure handling ('inspect tool-schema for exact fields...'), and verification steps. An agent has enough to call it correctly and interpret results.

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 documents all 12 parameters, and the description's signature block largely duplicates it. It adds some meaning (linking includeRemoteSpy to trace-remote-traffic, the self-expiry/cap context) but 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?

The description opens with a specific verb+resource ('Event-driven demonstration recorder with start, poll, stop, and cancel actions') and details exactly what it observes and produces (a timeline plus a review-required playbook draft). An agent can distinguish it from siblings like playbook-save/playbook-run/session-replay without opening a schema, since it records live demonstrations rather than persisting or replaying them.

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

Usage Guidelines4/5

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

Each action's role is spelled out (start creates, poll reads after sinceSeq, stop disconnects and returns, cancel discards) and prerequisites are named ('active-client, explicit-mutation-approval, the user is ready to demonstrate the workflow after action=start'). It also routes optional remote capture through trace-remote-traffic. However, it never states when NOT to use this tool versus alternatives like session-replay or manual scripting.

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