Roblox-MCP
Enables AI agents to interact with Roblox game instances, including executing custom Luau scripts, modifying player properties, teleporting players, inspecting instance properties, firing remote events, and streaming client console logs in real-time.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Roblox-MCPrun Luau code to print game name"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Roblox Executor MCP Server
An advanced Model Context Protocol (MCP) server that allows AI agents to interact with running Roblox game clients. This server enables code execution, script decompilation, instance hierarchy querying, remote event spying and firing, and real-time log streaming.
π Key Features
Code Execution β Run Luau code on the client dynamically, with optional return value yielding.
Script Inspection β Decompile scripts, search across sources, and perform semantic searches.
Instance Search & Manipulation β Use CSS-like selectors, traverse the instance hierarchy tree, and query dynamic properties/attributes.
Remote Spy & Fire β Intercept, log, block, ignore, and fire
RemoteEvents/RemoteFunctions(backed by Cobalt).Real-Time Log Streaming β Capture client console outputs dynamically via WebSockets and view them live.
GUI Interaction β Automate input by clicking buttons and typing text into UI elements.
OS Integrations β Retrieve list of Roblox processes and capture client window screenshots (Windows only).
Multi-Client Routing β Coordinate between multiple running clients with automatic Primary/Secondary promotion and relaying.
Local Script Hub β Save, load, and execute pre-configured Luau scripts.
Related MCP server: Roblox Executor MCP
π₯οΈ Local Web Dashboard
The Roblox Executor MCP includes a rich, responsive local web dashboard hosted at:
http://localhost:16384/Use the dashboard to monitor connected clients, debug executables, and inspect games:
Console Tab (New): A real-time stream of the Roblox client console logs (
LogService.MessageOut), color-coded by log levels: Info (White), Warning (Yellow), and Error (Red).Executor Tab (New): A developer-focused suite to write Luau code directly, toggle "Get Return Value" to yield and print results, and instantly execute scripts saved in the
user-scripts/hub.Tools Tab: A control center to run all registered MCP tools manually and review inputs/outputs.
Scripts Tab: Explore local and decompiled scripts, search sources, index game hierarchies, and set up semantic vector search.
π οΈ Complete Tool Catalog
The server registers a comprehensive list of tools for connected AI agents:
1. Client Management
list-clientsβ Lists all currently connected Roblox game clients.set-active-clientβ Selects the active target client for subsequent tool operations.
2. Execution Tools
executeβ Executes raw Luau code on the active Roblox client.execute-fileβ Executes a Luau file from the server's local path.teleport-player(New) β Relocates the player to specific coordinates, offsets, or target players.set-player-property(New) β Modifies character stats (e.g., WalkSpeed, JumpPower, HipHeight, Gravity) or toggles Noclip.
3. Inspection & Search Tools
get-script-contentβ Retrieves the source/decompiled code of a specific script.get-data-by-codeβ Queries client metadata using a Luau lookup script.get-console-outputβ Returns the history of client console prints and warnings.search-instancesβ Finds instances using selectors or names.get-descendants-treeβ Dumps the child hierarchy tree of a specific instance.script-grepβ Performs text searches across all loaded script sources.semantic-search-scriptsβ Performs vector-based search on script contents (requires Ollama setup).get-game-infoβ Queries game details (e.g., PlaceId, JobId, Player count).get-executor-environment(New) β Returns a checklist of custom APIs supported by the connected Roblox executor (e.g.,getgc,hookfunction).get-instance-properties(New) β Probes attributes, CollectionService tags, and properties of an instance dynamically.
4. Remote Spy & Network Tools
ensure-remote-spyβ Starts the Cobalt-backed remote spy pipeline.get-remote-spy-logsβ Retreives captured remote calls.clear-remote-spy-logsβ Clears captured logs.block-remoteβ Blocks a specific RemoteEvent or RemoteFunction.ignore-remoteβ Filters a remote out of the active log stream.fire-remote(New) β Fires a RemoteEvent or invokes a RemoteFunction. Supports dynamically evaluated arguments starting withloadstring:.
5. GUI & OS Tools
click-buttonβ Fires clicks on specific GUI buttons on the screen.type-text-boxβ Focuses and sends text inputs to game TextBoxes.list-roblox-windowsβ Lists active Roblox OS window handles.screenshot-windowβ Caps and saves screenshots of the game client (Windows only).
π Prerequisites
Node.js β₯ 18
Bun β₯ 1.3 (used for the interactive OpenTUI harness installer)
Roblox Executor β Any executor supporting
loadstring,request, and (preferably)WebSocket.
β‘ Quick Start
1. Clone the Repository
git clone https://github.com/notpoiu/roblox-executor-mcp.git
cd roblox-executor-mcp2. Run the Harness Installer
The installer handles server building, configuration generation for your AI client of choice, and prints your loader script:
npm run install:harnessesIf your terminal has issues rendering the interactive OpenTUI picker, run it in plain-text prompt mode:
npm run install:harnesses -- --plainTo automatically place the Roblox loader into the autoexec folder of a detected executor (e.g. MacSploit, or supported Windows executors), run:
npm run getscript -- --autoexec3. Connect from Roblox
Paste this script into your executor or place it in your autoexec folder:
local bridgeUrl = getgenv().BridgeURL or "localhost:16384"
loadstring(game:HttpGet("http://" .. bridgeUrl .. "/script.luau"))()Optional Environment Configuration
Configure these globals before running the loader script to customize behavior:
getgenv().BridgeURL = "10.0.0.4:16384" -- Default: localhost:16384
getgenv().DisableWebSocket = true -- Forces HTTP fallback polling
getgenv().DisableInitialScriptDecompMapping = true -- Skips initial project script indexingβοΈ Client Configuration & Manual Setup
If you prefer to configure your AI interface manually, refer to the guides below:
Client | Configuration Guide |
Cursor | |
Claude Desktop | |
Claude Code | |
Codex CLI | |
Windsurf | |
Antigravity |
π οΈ Developer Commands
Maintain, run, or update the server using these project scripts:
Build the project (compiles TypeScript and copies assets to
dist/):npm run buildStart the server:
npm run startUpdate existing install (pulls updates, stops running processes, and rebuilds):
npm run update
π Security & Safe Operation
This server allows arbitrary local code execution. Only connect trusted AI clients. Port 16384 does not enforce authenticationβnever expose this port to the public internet. For cross-machine or LAN setups, secure connections with a local VPN or an SSH tunnel.
π License
This project is licensed under the MIT License.
Available Tools
26 toolsblock-remoteBlock or unblock a remoteA
Block or unblock a Roblox remote by exact name and direction. Requires ensure-remote-spy first; use get-remote-spy-logs to discover candidates.
| Name | Required | Description | Default |
|---|---|---|---|
| direction | Yes | Whether the remote is Incoming or Outgoing | |
| remoteName | Yes | The exact name of the remote to block/unblock | |
| shouldBlock | No | true to block, false to unblock |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full burden. It mentions a prerequisite but does not disclose side effects, return values, error conditions, or whether the operation is reversible. The behavior after blocking/unblocking is not described.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise at two sentences. It front-loads the core purpose and quickly adds necessary context, with no wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of annotations and output schema, the description covers purpose and prerequisite but is incomplete regarding expected outcomes, error handling, and behavior. It is adequate but not thorough.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and each parameter already has a description. The description adds no new semantics beyond what the schema provides, resulting in a baseline score of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (block or unblock), the resource (Roblox remote), and the criteria (exact name and direction). It is specific and leaves no ambiguity about the tool's purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly mentions the prerequisite (ensure-remote-spy) and provides a helpful hint to use get-remote-spy-logs for discovery. This guides the agent on when and how to use the tool, though it does not compare with sibling tools like ignore-remote.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
clear-remote-spy-logsClear all remote spy logsA
Clear all captured Cobalt remote spy logs. Requires ensure-remote-spy first.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It indicates the tool clears logs but does not disclose potential side effects (e.g., irreversibility, permission requirements). While the operation is simple, the description could be more transparent about the destructive nature.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description consists of two short sentences with no redundant information. Every sentence serves a purpose: stating the action and noting a prerequisite. It is efficiently written.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no parameters and no output schema, the tool is simple. The description covers the purpose and prerequisite. However, it does not mention that logs are permanently deleted or that the operation is irreversible, which would add completeness. Still, it is mostly complete for a clear action.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has no parameters, and schema coverage is 100% (trivially). The description does not need to add parameter details because there are none. A baseline of 4 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Clear' and the resource 'all captured Cobalt remote spy logs'. It distinguishes itself from siblings like 'get-remote-spy-logs' (retrieval) and 'ensure-remote-spy' (setup), making the tool's purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly mentions a prerequisite: 'Requires ensure-remote-spy first.' This provides clear context for when this tool should be used. However, it does not mention when not to use it or provide alternative approaches, but for a straightforward clear operation this is sufficient.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
click-buttonClick a GuiButtonA
Click a Roblox TextButton or ImageButton by firing its GUI signals. Use when direct UI activation is needed inside the active client.
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | The instance path to the Button | |
| action | No | The specific signal to fire (e.g., 'Activated', 'MouseButton1Click'). If omitted, fires all standard click signals. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses the mechanism (firing signals) but does not cover side effects, prerequisites, or return behavior. Without annotations, the description carries the full burden.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, efficient and well-structured. Could be slightly more concise but no waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Adequate for a simple action tool, but lacking return value details and any output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Adds value beyond schema by explaining default behavior for omitted 'action' parameter (fires all standard click signals). Schema coverage is 100%.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Click a Roblox TextButton or ImageButton') and the method ('firing its GUI signals'), making the tool's purpose distinct from sibling tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides a clear use case ('direct UI activation inside the active client'), but lacks explicit when-not or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ensure-remote-spyEnsure the Cobalt remote spy is loadedA
Load or verify the Cobalt remote spy in the active Roblox client. Call before reading, clearing, blocking, or ignoring remote spy logs.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It discloses that the tool loads or verifies the spy, implying it may initialize if not loaded. While it doesn't detail error handling or idempotency, the simplicity of the tool (0 parameters) makes this acceptable. No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, front-loaded with the action, no extraneous words. Every sentence adds value: first states purpose, second gives usage context.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given zero parameters, no output schema, and the tool's simple role as a prerequisite for remote spy operations, the description is fully adequate. It explains what it does and when to call it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are zero parameters. Schema description coverage is 100% (trivially). The rubric states '0 params = baseline 4', so this score is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description specifies the action ('Load or verify') and resource ('Cobalt remote spy in the active Roblox client'). It distinguishes from sibling tools like get-remote-spy-logs and block-remote by explicitly stating it is a prerequisite for operations like reading, clearing, blocking, or ignoring remote spy logs.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear when-to-use guidance: 'Call before reading, clearing, blocking, or ignoring remote spy logs.' It does not explicitly state when not to use or list alternatives, but the context is sufficient for this tool's role.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
executeExecute Code in the Roblox Game ClientA
Execute Luau in the active Roblox client without returning output. Use get-data-by-code instead when you need returned values.
| Name | Required | Description | Default |
|---|---|---|---|
| code | Yes | The code to execute in the Roblox Game Client. This tool does NOT return output - use get-data-by-code if you need to retrieve data. | |
| threadContext | No | The thread identity to execute the code in (default: 8, normal game scripts run on 2) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description must carry behavioral burden. It discloses the important no-return behavior but lacks details on safety, side effects, or error handling. The thread context default is already in schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, zero waste. First sentence states purpose and key constraint, second sentence directs to alternative.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Adequate for selection and invocation: describes function, no-return behavior, and when to use sibling. Lacks error and safety context, but given schema coverage and sibling list, it is fairly complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% (baseline 3). Description adds value by reinforcing the no-return constraint for the 'code' parameter, but does not add new info for 'threadContext' beyond schema defaults.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'execute', the resource 'Luau in the active Roblox client', and the key constraint 'without returning output'. It distinguishes from sibling 'get-data-by-code'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly tells when to use alternative ('use get-data-by-code instead when you need returned values') and implies when to use this tool (when no return value is needed).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
execute-fileExecute a Luau file in the Roblox Game ClientA
Execute a local .luau or .lua file in the active Roblox client without returning output. Use get-data-by-code instead when you need returned values.
| Name | Required | Description | Default |
|---|---|---|---|
| filePath | Yes | The absolute path to the .luau or .lua file to execute | |
| threadContext | No | The thread identity to execute the code in (default: 8, normal game scripts run on 2) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description is the sole source of behavioral info. It correctly states that no output is returned, but lacks details on potential side effects, error behavior, or prerequisites (e.g., active client).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise, using only two sentences to convey the core purpose and an important usage note. No redundant or unnecessary information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the essential purpose and a key exclusion, but for a code execution tool, more context would be beneficial (e.g., error handling, file accessibility, requirement of an active client). However, given the simplicity of the tool and the presence of sibling tools, it is adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Both parameters are fully described in the input schema (100% coverage), so the description adds no additional meaning. The baseline score of 3 applies as the schema already provides the necessary semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Execute', the resource 'local .luau or .lua file', and the context 'active Roblox client'. It also explicitly distinguishes from the sibling tool 'get-data-by-code' by noting the lack of returned output.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit guidance on when to use this tool (when returned values are not needed) and directs the agent to the alternative 'get-data-by-code' when values are required, offering clear usage boundaries.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fire-remoteFire or invoke a RemoteEvent or RemoteFunctionB
Execute network calls by firing RemoteEvents (FireServer) or invoking RemoteFunctions (InvokeServer) with custom arguments.
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | Optional arguments array to pass to the remote. String arguments starting with 'loadstring:' will evaluate as a Roblox expression (e.g. 'loadstring:game.Players.LocalPlayer'). | |
| path | Yes | The path or expression returning the target RemoteEvent or RemoteFunction (e.g. 'game.ReplicatedStorage.RemoteEvent') | |
| isFunction | No | Set to true if target is a RemoteFunction (calls InvokeServer and yields for result). If false, fires RemoteEvent (calls FireServer, returns immediately). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It does convey the side-effecting nature of the operation and the yield-vs-return distinction between InvokeServer and FireServer, but omits error behavior (e.g. missing remote), serialization constraints on arguments, and whether a live client session is required.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler, stating the action before the mode detail. It is efficient, though it is thin enough that the brevity reads as under-specification rather than disciplined concision.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema and no annotations, yet the description never explains what an invocation returns (the RemoteFunction result) or what happens on failure. For an action tool with zero structured behavioral coverage, this leaves meaningful gaps for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all three parameters are already documented in the schema, including the loadstring: convention and the isFunction yield semantics. The description only adds the generic phrase 'with custom arguments' and does not go 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.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific action (firing/invoking remotes) and distinguishes the two modes with the concrete API calls FireServer and InvokeServer. It is clear what the tool does, though it does not differentiate itself from adjacent siblings like ignore-remote or block-remote.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this versus ignore-remote, block-remote, or the remote-spy tools, nor any prerequisite such as needing an active client (set-active-client). The agent is left to infer the whole usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get-console-outputGet the roblox developer console output from the Roblox Game ClientC
Read recent Roblox developer console logs from the active client. Use limit and logsOrder to control volume and ordering.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of results to return (default: 50, to avoid overwhelming output) | |
| filter | No | Optional string filter; only logs containing this text are returned | |
| logsOrder | No | The order of the logs to return (default: NewestFirst) | NewestFirst |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavior. It only states 'read recent logs,' implying a non-destructive read, but omits details like requirements for an active client, response format, or what happens if no logs are available.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no fluff, front-loaded with the core action. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Tool has 3 parameters and no output schema or annotations. The description is too brief; it does not explain return behavior, pagination, or error cases. More detail is needed for adequate completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already documents all parameters. The description repeats paraphrased guidance ('use limit and logsOrder to control volume and ordering') without adding new meaning. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it reads recent Roblox developer console logs from the active client, specifying the resource and scope. It is specific enough to distinguish from sibling tools like get-remote-spy-logs, though it does not explicitly differentiate them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description mentions controlling volume and ordering with limit and logsOrder, but gives no guidance on when to use this tool vs alternatives. No context on prerequisites or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get-data-by-codeGet data by codeB
Execute Luau in the active Roblox client and return serialized raw Lua values. The code must return values; do not manually JSON-encode them.
| Name | Required | Description | Default |
|---|---|---|---|
| code | Yes | The code to execute in the Roblox Game Client (MUST return one or more values). Return raw Lua values - do NOT manually serialize tables or use JSONEncode, the connector handles serialization automatically. | |
| timeout | No | Timeout in milliseconds for the response (default: 15000, max: 120000). Increase for long-running operations like decompiling many modules. | |
| threadContext | No | The thread identity to execute the code in (default: 8, normal game scripts run on 2) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description bears full burden for behavioral traits. It does not mention safety, side effects, error handling, or the potential for client crashes or state mutation. The description lacks warnings about executing arbitrary code.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with the first sentence front-loading the primary purpose. No wasted words; every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Adequate for a straightforward execution tool but missing details on return format (serialized raw Lua values) and error behavior. No output schema further increases need for completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description adds marginal value by stating the execution context and serialization rule, but the schema already documents parameters thoroughly. No additional meaning beyond schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb (execute Luau), resource (active Roblox client), and outcome (return serialized values). It distinguishes from siblings like 'execute' and 'execute-file' by specifying Luau execution and serialized return.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives like 'execute'. The only constraint is 'code must return values; do not manually JSON-encode', but no context on appropriate use cases or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get-descendants-treeGet the descendants tree of a Roblox instanceA
Get a depth-limited hierarchy of descendants under a Roblox instance. Use for broad structure exploration; use search-instances for selector-based filtering.
| Name | Required | Description | Default |
|---|---|---|---|
| root | Yes | The instance path to get the tree from (e.g., 'game.Workspace', 'game.Workspace.CurrentRooms') | |
| maxDepth | No | Maximum depth to traverse (default: 3). Higher values return more detail but larger output. | |
| classFilter | No | Optional class name filter β only show instances that IsA this class (e.g., 'BasePart', 'Model'). Leave empty to show all. | |
| maxChildren | No | Maximum number of children to show per node (default: 50). Prevents overwhelming output for large containers. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It does not disclose behavioral traits like read-only nature, performance impact, or error behavior (e.g., invalid root path).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences that front-load purpose and usage. Could be improved by adding a brief behavioral note, but no waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 4 parameters and no output schema or annotations, the description is adequate for basic use but lacks details on return format, error handling, and limitations, leaving gaps for an AI agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with detailed param descriptions. The description adds no additional meaning beyond the schema, so baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clear verb 'get' and resource 'depth-limited hierarchy of descendants' distinguish from sibling 'search-instances', which is explicitly mentioned for selector-based filtering.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states when to use ('broad structure exploration') and when to use alternative ('search-instances for selector-based filtering').
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get-executor-environmentGet Roblox Executor Environment InformationB
Check and retrieve the capabilities, custom globals, and identification metadata of the running Roblox exploit/executor environment.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are supplied, so the description carries the full behavioral burden. It implies a read-only inspection of runtime state ('check and retrieve') with no mutation language, which is useful, but it never states that it is side-effect-free, what the returned structure looks like, or whether the target environment must already be attached/active.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with the resource named early and no filler. 'Check and retrieve' is mildly redundant, keeping it from a 5.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no parameters, no annotations, and no output schema, the description is the only contract, and it does enumerate the categories of information returned. It is sufficient to call the tool correctly; only the absence of any usage context and return-shape detail keeps it from a 5.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is no parameter semantics burden; baseline for 0 params is 4. The description adds nothing misleading about inputs.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names a specific verb pair (check/retrieve) and a specific resource (the running Roblox executor environment), and enumerates what is returned: capabilities, custom globals, identification metadata. An agent can distinguish it from data-oriented siblings like get-game-info or get-instance-properties. It stops short of naming a sibling explicitly, so it isn't a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use, when-not-to-use, or alternative routing is provided. The agent must infer from the name and the phrase 'running ... environment' that this is a pre-flight capability probe, but nothing states that explicitly or says what to do instead.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get-game-infoGet information about the current Roblox gameA
Get current Roblox place and universe metadata such as PlaceId, GameId, and PlaceVersion.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, but the description clearly indicates a read-only operation (get metadata). It is transparent about the scope (current Roblox game) and does not hide any behavioral traits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence that efficiently communicates both the action and the returned data. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has no output schema, but the description lists example return fields (PlaceId, GameId, PlaceVersion), providing adequate context for a simple getter. It does not explain all possible metadata, but is sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters and 100% coverage. The description adds no parameter details, but none are needed. It correctly implies no arguments are required.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves current Roblox place and universe metadata, with specific examples (PlaceId, GameId, PlaceVersion). It distinguishes itself from sibling get tools like get-console-output or get-script-content by focusing on game info.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage (when you need game metadata) but does not provide explicit guidance on when to use this over alternatives, nor does it mention any prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get-instance-propertiesGet properties, attributes and tags of a Roblox instanceB
Inspect a Roblox Instance by path or debug ID to retrieve its properties, attributes, and tags.
| Name | Required | Description | Default |
|---|---|---|---|
| root | No | The path or expression returning the target instance (e.g., 'game.Workspace.Part' or 'game.Players.LocalPlayer') | |
| debugId | No | Target instance DebugId (used when path is unknown or instance is outside workspace) | |
| properties | No | Optional specific list of property names to retrieve. If omitted, common class properties will be probed automatically. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. 'Inspect ... to retrieve' weakly implies a read-only operation, but the description never states that nothing is mutated, offers no auth/permission requirements, and gives no sense of return shape or error behavior when the path is invalid.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One sentence, front-loaded with the action and the returned data. Nothing is wasteful or redundant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a three-parameter read tool with no output schema and no annotations, this covers the essentials: what it targets and what it returns. It could add a note that omitting 'properties' triggers automatic probing of common class properties, which currently lives only in the schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all three parameters are documented in the schema itself. The description's phrase 'by path or debug ID' only hints at the root/debugId distinction already spelled out in the schema, so it adds little beyond the baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb (inspect/retrieve) and the exact resources returned: properties, attributes, and tags of a Roblox instance. It's clear what the tool does, though it doesn't explicitly differentiate itself from nearby read-oriented siblings like search-instances or get-descendants-tree.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It implies the two ways to target an instance (path or debug ID) and notes that the debug ID is for cases where the path is unknown, but it offers no guidance on when to choose this tool versus search-instances, get-descendants-tree, or get-game-info. No when-not or exclusion guidance is present.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get-remote-spy-logsGet captured remote spy logs from CobaltA
List captured Cobalt remote and bindable call logs. Requires ensure-remote-spy first; supports direction and name filters to narrow noisy logs.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of remote logs to return (default: 50) | |
| direction | No | Filter by call direction (default: Both) | Both |
| remoteNameFilter | No | Optional filter β only return logs for remotes whose name contains this string (case-insensitive) | |
| maxCallsPerRemote | No | Maximum number of recent calls to return per remote (default: 5) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses the prerequisite and filtering capability, but does not mention if the operation is read-only, any side effects, rate limits, or performance implications. A 3 reflects adequate but not comprehensive disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences that are clear and to the point, front-loading the purpose. No extraneous information, and every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With four parameters and no output schema, the description does not mention return format, pagination, or what 'captured' logs look like. While the prerequisite and filters are covered, there is room for more context to fully describe the tool's input and output behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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. The description adds context that direction and name filters are for narrowing noisy logs, which adds some value beyond the schema. However, it does not add significant new meaning for the limit and maxCallsPerRemote parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'List captured Cobalt remote and bindable call logs', providing a specific verb and resource. It also differentiates from siblings like 'clear-remote-spy-logs' by noting it requires 'ensure-remote-spy' first and supports filters.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly states a prerequisite ('Requires ensure-remote-spy first') and mentions the use of filters to narrow noisy logs. However, it does not provide explicit when-not-to-use or compare to other log-related tools among siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get-script-contentGet the content of a script in the Roblox Game ClientA
Get decompiled source for a Roblox script by path, script proxy, or getter code. Use startLine/endLine for a focused range when the full script is large.
| Name | Required | Description | Default |
|---|---|---|---|
| endLine | No | Optional end line number (1-based, inclusive) to return only a range of lines. Defaults to end of script if startLine is set but endLine is omitted. | |
| startLine | No | Optional start line number (1-based) to return only a range of lines from the decompiled script. If omitted, returns the full script. | |
| scriptPath | No | The path to the script to get the content of. If passing a GC'd script proxy (e.g. <ScriptProxy: 1_316566>), use the literal angle brackets < > β do NOT HTML-encode them as < or >. | |
| scriptGetterSource | No | The code that fetches the script object from the game (should return a script object, and MUST be client-side only, will not work on Scripts with RunContext set to Server) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations; description adds behavioral details: script proxy encoding, client-side-only requirement for scriptGetterSource, line range behavior. Could mention error handling or return format but sufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences: first states purpose and methods, second gives practical usage hint. No unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers multiple specification methods and parameter usage. No output schema, but return format is implied (decompiled source). Missing explicit note on return type or error behavior, but sufficient for a simple retrieval tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage 100%; description adds context: startLine/endLine usage hint, warning about HTML encoding for scriptPath, and client-side restriction for scriptGetterSource, enriching schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states verb 'Get' and resource 'decompiled source for a Roblox script' with three methods (path, script proxy, getter code). Distinct from sibling tools like script-grep.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides guidance on when to use startLine/endLine for large scripts. Mentions the three ways to specify the script. No explicit when-not or alternatives, but given sibling list, it's the only script content tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ignore-remoteIgnore or unignore a remoteA
Ignore or unignore logging for a Roblox remote by exact name and direction. Requires ensure-remote-spy first; ignored remotes still fire.
| Name | Required | Description | Default |
|---|---|---|---|
| direction | Yes | Whether the remote is Incoming or Outgoing | |
| remoteName | Yes | The exact name of the remote to ignore/unignore | |
| shouldIgnore | No | true to ignore, false to unignore |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses that ignored remotes still fire and that the tool affects logging only. However, with no annotations provided, it lacks details on persistence, side effects, or error handling (e.g., if remote name is invalid). This is adequate but not comprehensive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, each serving a distinct purpose: first states the action and method, second provides a prerequisite and behavioral note. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simple tool with 3 parameters and no output schema, the description covers purpose, prerequisite, and a key behavioral insight. It lacks mention of return values or error handling, but for a toggle tool, this is sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the description adds minimal value beyond the schema. It reiterates 'by exact name and direction' but does not elaborate on the shouldIgnore parameter or provide examples. A score of 3 is appropriate given the baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool ignores/unignores logging for a Roblox remote by exact name and direction, distinguishing it from sibling tools like block-remote. It also mentions a prerequisite (ensure-remote-spy) to set context.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states the prerequisite (ensure-remote-spy) and clarifies that ignored remotes still fire, implying this is for suppressing logs rather than blocking. This provides useful when-to-use guidance, though it could explicitly mention alternatives like block-remote.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list-clientsList connected Roblox clientsA
List connected Roblox game clients with clientId and session metadata. Use before set-active-client when multiple clients are connected or the target client is unknown.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It states the tool lists clients but does not disclose any potential behavioral traits such as side effects, safety, or prerequisites. For a simple list operation, it's adequate but not exemplary.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the purpose, and includes a usage guideline. Every sentence adds value; no fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (no params, no output schema), the description covers the essential purpose and when to use it. It distinguishes from sibling tools. However, it could mention what 'session metadata' includes for completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters and 100% coverage. The description adds no parameter information, which is expected. Per the guidelines, 0 parameters gets a baseline score of 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists connected Roblox game clients with clientId and session metadata. It distinguishes itself from the sibling tool set-active-client by explicitly recommending its use before that tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides a clear usage guideline: use this tool before set-active-client when multiple clients are connected or the target client is unknown. This tells the agent when to invoke it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list-roblox-windowsList visible Roblox windowsA
List visible Roblox OS windows with PIDs. Use before screenshot-window when multiple Roblox windows may be open.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Although no annotations are provided, the description discloses that only 'visible' windows are listed and that PIDs are included, which adds behavioral context beyond the name. However, it could be improved by noting that no parameters are required and that the operation is read-only and non-destructive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that immediately states the tool's purpose, followed by a usage hint. Every word is necessary and contributes to clarity without repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity and lack of output schema, the description provides sufficient context: what it does and when to use it. It could be more complete by mentioning that no arguments are needed, but the empty schema already conveys that.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With zero parameters, the description does not need to add parameter information, and it correctly implies that the tool requires no input. The baseline for 0 parameters is 4, and the description does not conflict with the empty schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists visible Roblox OS windows with PIDs, specifying the verb 'list' and the resource 'Roblox OS windows', which distinguishes it from the sibling tool 'screenshot-window' that takes a screenshot of a specific window.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly advises to 'Use before screenshot-window when multiple Roblox windows may be open', providing clear when-to-use guidance and naming an alternative sibling tool, which helps the agent decide which tool to invoke.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
screenshot-windowTake a screenshot of a Roblox windowA
Capture an actual OS screenshot of a Roblox window via Windows APIs. Provide pid when multiple windows are open; secondary servers relay capture to the primary host.
| Name | Required | Description | Default |
|---|---|---|---|
| pid | No | The PID (process ID) of the Roblox window to capture. If omitted and only one Roblox window exists, it is captured automatically. If multiple windows exist and no pid is provided, the tool returns a list of windows for disambiguation. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description discloses OS-level capture and relay behavior, but does not detail permissions or return format.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with purpose, no wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description omits return value details (e.g., image data or window list), leaving some incompleteness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and already describes pid behavior. The description adds relay context but no new parameter semantics beyond schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool captures an actual OS screenshot of a Roblox window via Windows APIs, distinct from sibling tools like list-roblox-windows.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides guidance on providing pid when multiple windows are open and mentions secondary server relay, but lacks explicit alternatives or when-not-to-use conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
script-grepGrep across all scripts in the gameA
Search decompiled Roblox scripts with JavaScript regex or literal string matching. Use for exact identifiers or code patterns; use semantic-search-scripts when behavior is known but names are not.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of scripts to return results from (default: 50) | |
| query | Yes | The search pattern. Supports JavaScript RegExp syntax: \d, \w, \s, \b, character classes [a-z], alternation (foo|bar), quantifiers (+, *, ?), groups, lookaheads, etc. Use the literal flag for exact string matching. | |
| literal | No | When true, treats the query as a plain literal string - no regex interpretation. Equivalent to grep -F / ripgrep -F. (default: false) | |
| maxResults | No | Maximum total number of matches across ALL scripts (default: unlimited). Use this to cap total matches, e.g. maxResults=1 to find just the first match. | |
| contextLines | No | Number of lines of context to show before and after each match (default: 2) | |
| caseSensitive | No | When false, matches case-insensitively. Equivalent to grep -i. (default: true) | |
| maxMatchesPerScript | No | Maximum number of matches to return per script (default: 20) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided; description does not disclose whether the tool is read-only, performance implications, or any side effects. Missing behavioral context beyond the basic search functionality.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences with no unnecessary words. Efficiently communicates core functionality and usage distinction.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema and description does not mention what the results look like (e.g., list of scripts, match details, pagination). For a tool with 7 parameters, this is a notable omission.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so parameters are well-documented in schema. Description adds some extra context (e.g., literal flag use) but does not significantly improve understanding beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states it searches decompiled Roblox scripts with regex or literal matching, and distinguishes from sibling tool semantic-search-scripts by specifying when to use each.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly tells when to use this tool (exact identifiers or code patterns) vs. semantic-search-scripts (when behavior is known but names are not).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search-instancesSearch for instances in the gameB
Search Roblox instances with QueryDescendants selector syntax. Use for class, name, tag, property, and attribute queries against a chosen root.
| Name | Required | Description | Default |
|---|---|---|---|
| root | No | The root instance to search from (e.g., 'game.Workspace', 'game.ReplicatedStorage'). Defaults to 'game' if not specified. | game |
| limit | No | Maximum number of results to return (default: 50, to avoid overwhelming output) | |
| selector | Yes | Selector string to filter instances. Supports classes (Part), tags (.Tagged), names (#HumanoidRootPart), properties ([CanCollide = false]), attributes ([$QuestId] or [$Health = 100]), child/descendant combinators (> and >>), OR selectors (,), :not(), and :has(); chain selectors for AND logic, e.g. Part.Tagged[Anchored = false]. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden but only describes the action. It does not disclose any behavioral traits such as read-only nature, side effects, permissions needed, or performance characteristics.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise with two sentences, front-loading the core functionality. However, it could be more structured with bullet points or clearer separation of details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and moderate complexity of selector syntax, the description is adequate but lacks information about return format or potential edge cases. It provides enough for basic understanding but could be more complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already documents all three parameters in detail. The description adds a high-level summary of the selector syntax but does not provide additional meaning beyond the schema's property descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it searches Roblox instances using QueryDescendants selector syntax, and lists supported query types (class, name, tag, property, attribute). However, it does not explicitly differentiate from sibling search tools like 'semantic-search-scripts' or 'gc-search'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for specific queries against a chosen root, but provides no guidance on when not to use it or alternatives. No explicit context or exclusions are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
semantic-search-scriptsSemantically search scripts in the gameA
Find decompiled Roblox scripts by behavior using semantic embeddings. Use when exact identifiers are unknown; use script-grep for exact text or regex.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of semantic matches to return (default: 10, max: 50). | |
| query | Yes | Natural-language description of the code behavior to find. | |
| minScore | No | Optional minimum cosine similarity score. Typical useful values are 0.2-0.5. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It mentions semantic embeddings but does not disclose non-modifying nature, rate limits, or behavior on no matches. Adequate for a search tool but lacks detail.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with purpose, no unnecessary words. Highly concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (3 params, no output schema), the description is nearly complete. Could mention return format or example query, but not critical. Minor gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with existing parameter descriptions. The tool description adds no additional meaning beyond what the schema already provides. Baseline score of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states it finds decompiled Roblox scripts by behavior using semantic embeddings. Verb 'Find' and resource 'decompiled Roblox scripts' are specific. Distinguishes from sibling 'script-grep' for exact text/regex.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says 'Use when exact identifiers are unknown; use script-grep for exact text or regex.' Provides clear context for when to use this tool vs. the alternative.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set-active-clientSet active Roblox clientA
Route future Roblox tool calls to the specified connected client. Use list-clients first if you need available clientIds.
| Name | Required | Description | Default |
|---|---|---|---|
| clientId | Yes | The client ID to set as active. Use list-clients to get available client IDs. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses the primary effect (routing to specified client). With no annotations, it carries the full burden; it adequately conveys the side-effect of switching the active client, though does not detail what happens to the previous active client.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no wasted words; the main action is front-loaded, and the prerequisite advice follows naturally.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple state-changing tool with no output schema, the description sufficiently explains its purpose and prerequisite. It could mention that changing the active client affects subsequent Roblox tool calls, but this is implied.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the param is already documented. The description adds value by referencing 'list-clients' for obtaining valid IDs, providing context beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it routes future tool calls to a specified client, with a specific verb ('route') and resource ('future Roblox tool calls'). It distinguishes itself from sibling tools like 'list-clients' by implying its role as the routing setter.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly instructs to use 'list-clients' first to get available clientIds, providing clear prerequisite and when-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set-player-propertySet properties of the player characterB
Modify character stats or physics properties including WalkSpeed, JumpPower, JumpHeight, HipHeight, Gravity, and Noclip.
| Name | Required | Description | Default |
|---|---|---|---|
| noclip | No | Enable or disable Noclip (disables collisions for the player's character parts) | |
| gravity | No | The global workspace gravity (Roblox default: 196.2) | |
| hipHeight | No | The HipHeight of the local player character (Roblox default is calculated based on rig size) | |
| jumpPower | No | The JumpPower of the local player character (Roblox default: 50). Using this sets UseJumpPower = true. | |
| walkSpeed | No | The WalkSpeed of the local player character (Roblox default: 16) | |
| jumpHeight | No | The JumpHeight of the local player character (Roblox default: 7.2). Using this sets UseJumpPower = false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden, yet it only restates what is modified. It does not say whether changes are client-side or server-replicated, whether they persist across respawns, what permissions are required, or what side effects accompany setting noclip/gravity. No annotation contradiction, but the disclosure is thin for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with the verb first and the affected properties enumerated; there is no filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 6-parameter mutation tool with no annotations and no output schema, the description covers what is changed but omits scope, persistence, and error behavior. Parameter-level detail is fully covered by the schema, so the remaining gap is behavioral rather than structural.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so every parameter (including defaults and the UseJumpPower coupling) is already documented in the schema. The description merely echoes the property names, adding no syntax, unit, or interaction detail beyond what the schema provides, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Modify') and resource ('character stats or physics properties') and enumerates the affected properties, so an agent knows exactly what the tool changes. It does not, however, distinguish itself from related siblings like execute or teleport-player, so it stops short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this versus alternatives such as execute (running arbitrary Lua to set the same properties) or teleport-player. The description gives no context, prerequisites, or exclusions, leaving the agent to infer usage entirely.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
teleport-playerTeleport the player characterB
Teleport the LocalPlayer's character to a specified player, set of coordinates, or relative offset, optionally facing a specific lookAt target.
| Name | Required | Description | Default |
|---|---|---|---|
| lookAt | No | Optional Vector3 coordinates for the character to face after teleporting | |
| coordinates | No | Absolute Vector3 coordinates to teleport to | |
| targetPlayer | No | Target player username to teleport to | |
| relativeOffset | No | Relative Vector3 offset from current position (e.g. {x:0, y:50, z:0} to jump up 50 studs) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It does not disclose whether teleporting is safe/reversible, whether it requires the player to be alive/loaded, what happens if multiple targeting parameters are supplied, or whether the change persists server-side. For a mutation tool with zero annotation coverage this is a significant gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, well-formed sentence that front-loads the action and resource before listing the options. No waste, no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool takes 4 mutually-related targeting parameters with no required fields and no annotations or output schema. The description does not resolve the ambiguity of which parameter to use, the precedence if several are given, or the behavioral effects of teleporting. For a mutation tool with this complexity, the description is under-informative.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 four parameters in detail. The description only names the categories (player, coordinates, relative offset, lookAt) without adding format or precedence rules beyond the schema. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (teleport) and resource (LocalPlayer's character), and enumerates the three targeting modes: a player, coordinates, or a relative offset. This distinguishes it clearly from siblings like set-player-property or fire-remote.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage by naming the three alternative targeting modes, so an agent can infer which parameter matches which intent. However, it never states when to use teleport-player versus set-player-property, nor does it warn about mutual exclusivity of the targeting parameters.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
type-text-boxType into a TextBoxA
Enter text into a Roblox TextBox by path. Can simulate keystrokes or set Text directly based on useKeyPress.
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | The instance path to the TextBox | |
| text | Yes | The string to type into the TextBox | |
| enter | No | Whether to press Enter after typing | |
| useKeyPress | No | If true, simulates real keystrokes using VirtualInputManager / keypress. If false, directly sets the Text property. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses the two simulation modes, but lacks details on side effects, permissions, or limitations (e.g., requires focus, works on locked boxes). With no annotations, description carries full burden.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, 25 words, front-loaded with core action. No wasted information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers core functionality and modes, but lacks information on error handling, return values, or prerequisites like TextBox existence. Adequate but not comprehensive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All 4 parameters have schema descriptions (100% coverage). Description adds context by explaining the useKeyPress toggle beyond schema, enhancing meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states the action (Enter text), the target (Roblox TextBox by path), and distinguishes between two modes (keystrokes vs direct set). No sibling ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implies usage for typing into text boxes, but does not provide explicit when-to-use or when-not-to-use guidance, nor alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
26 tool updates
v1.0.0- First observed
block-remote - First observed
clear-remote-spy-logs - First observed
click-button - First observed
ensure-remote-spy - First observed
execute - First observed
execute-file - First observed
fire-remote - First observed
get-console-output - First observed
get-data-by-code - First observed
get-descendants-tree - First observed
get-executor-environment - First observed
get-game-info - First observed
get-instance-properties - First observed
get-remote-spy-logs - First observed
get-script-content - First observed
ignore-remote - First observed
list-clients - First observed
list-roblox-windows - First observed
screenshot-window - First observed
script-grep - First observed
search-instances - First observed
semantic-search-scripts - First observed
set-active-client - First observed
set-player-property - First observed
teleport-player - First observed
type-text-box
TDQS
Scored across 26 tools
Most tools have clearly distinct purposes and the descriptions cross-reference alternatives (e.g. execute vs get-data-by-code, script-grep vs semantic-search-scripts). A few boundaries are fuzzy: execute/execute-file/get-data-by-code all run Luau with differing output behavior, and ignore-remote vs block-remote both act on remotes, though descriptions do clarify the distinction.
Nearly all tools follow a consistent kebab-case verb_noun pattern (get-script-content, set-active-client, clear-remote-spy-logs, fire-remote). Minor deviations exist in noun-first names like script-grep and semantic-search-scripts, but the overall convention is readable and predictable.
At 26 tools this sits at the upper edge of the ideal range, but the domain is unusually broad (client routing, code execution, player control, script decompilation/search, instance introspection, remote spy, GUI automation, screenshots), so most tools earn their place rather than being redundant.
The surface covers the full exploitation lifecycle: client discovery/routing, execution, player manipulation, script reading and both grep/semantic search, instance and game introspection, remote spying/firing/blocking, GUI interaction, and OS-level screenshots. No obvious dead ends for the stated purpose.
Maintenance
Related MCP Connectors
Self-hosted MCP server: 26 deterministic dev, security, and EVM tools.
MCP server for building and testing AI agents with multi-model experimentation and insights.
Driflyte MCP server which lets AI assistants query topic-specific knowledge from web and GitHub.
MCP server with quote and live cryptocurrency price tools, local and cloud-deployed transports.
Related MCP Servers
- AlicenseNot gradedqualityAmaintenanceMCP server for controlling and reverse engineering Roblox games, providing 132 tools across 8 categories for instance exploration, property inspection, input simulation, and more.52 npm6MIT
- AlicenseNot gradedqualityBmaintenanceMCP server that allows AI agents to execute code, inspect scripts, spy on remotes, and interact with a running Roblox game client.56 npm15MIT
- AlicenseNot gradedqualityCmaintenanceAn MCP server that lets AI agents drive a running Roblox client, execute Luau, decompile scripts, spy on remotes, and automate UI, with a bundled Vyre dashboard for live monitoring.56 npmMIT
- AlicenseNot gradedqualityBmaintenanceAn MCP server that enables AI agents to execute Lua code, inspect scripts, spy on remotes, and interact with running Roblox game clients, including support for mobile executors on Android and iOS.56 npm1MIT