2021 Roblox Studio MCP Bridge
This MCP server connects AI assistants to 2021 Roblox Studio, allowing screen capture, Luau execution, script/instance management, hierarchy inspection, and output log retrieval.
Capture screenshots of the Studio window or active screen.
Execute arbitrary Luau code in Studio's edit context.
Retrieve the DataModel hierarchy tree from a given root path.
Read the full source of any Script, LocalScript, or ModuleScript.
Write or overwrite script source code.
Create new instances with specified properties.
Delete instances from the DataModel.
Retrieve recent messages from Studio's output log.
Provides tools for interacting with 2021 Roblox Studio / Aisaka Studio, enabling AI agents to capture viewport screenshots, execute Luau code, read and write scripts, explore the DataModel hierarchy, create and delete instances, and retrieve Studio output logs.
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., "@2021 Roblox Studio MCP Bridgetake a screenshot of my Roblox Studio window"
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.
2021 Roblox Studio MCP Bridge 🎮🤖
Connect AI coding assistants (OpenCode, Claude Desktop / Claude Code, Cursor, Codex, Windsurf, Gemini CLI, and browser AIs via ZeroScript) directly to 2021 Roblox Studio (Octane / Aisaka) using Anthropic's Model Context Protocol (MCP).
🌟 Features
screen_capture: Captures high-res screenshots of your Studio viewport/GUI directly into the AI chat.execute_luau: Executes arbitrary Luau code in Studio edit mode with automaticChangeHistoryServiceundo checkpoints.read_script&write_script: Reads and overwrites the full source code of scripts, local scripts, and module scripts.script_grep: Global regex search across all scripts in the place.inspect_instance: Deep property inspector (CFrames, colors, attributes, tags, children).audit_scene_assets: Scans all 3D scene objects (sounds, meshes, decals, particles, clothing) for asset IDs.Playtest Suite (
run_playtest,start_playtest,stop_playtest): Autonomous AI playtesting with gameplay screenshots and console error diagnostics.Stability Suite: HTTP Long-Polling (94% less traffic), Studio heartbeat tracking, infinite-loop guard, and UTF-8 sanitization.
Related MCP server: Roblox Studio MCP
🚀 Quick Setup Guide
1. Install the Studio Plugin
Open Windows Run (
Win + R), type:%localappdata%\Roblox\Pluginsand press Enter.
Copy
MCPBridge2021.luainto that folder.Open 2021 Roblox Studio (Octane).
Check your Output window in Studio; you should see:
[MCP 2021] Bridge initialized. Connecting to http://127.0.0.1:3021 ...(Note: The plugin automatically enables
HttpServiceon launch).
2. Install Dependencies
Open your terminal (PowerShell or Command Prompt) in the repository folder and run:
npm install🔌 Connect to Your AI Client
Option 1: OpenCode
Add this to opencode.json (or ~/.config/opencode/opencode.jsonc):
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"Roblox_2021": {
"type": "local",
"command": ["node", "C:/path/to/server.js"],
"enabled": true
}
}
}Option 2: Claude Desktop
Add this to %APPDATA%\Claude\claude_desktop_config.json:
{
"mcpServers": {
"roblox-2021": {
"command": "node",
"args": ["C:/path/to/server.js"]
}
}
}Option 3: Cursor
In your project folder, create .cursor/mcp.json (or add in Cursor Settings > Features > MCP):
{
"mcpServers": {
"roblox-2021": {
"command": "node",
"args": ["C:/path/to/server.js"]
}
}
}Option 4: Codex CLI
Run in your terminal:
codex mcp add roblox-2021 -- node "C:/path/to/server.js"Option 5: Windsurf
Add to ~/.codeium/windsurf/mcp_config.json:
{
"mcpServers": {
"roblox-2021": {
"command": "node",
"args": ["C:/path/to/server.js"]
}
}
}Option 6: Claude Code CLI
Run in your terminal:
claude mcp add roblox-2021 -- node "C:/path/to/server.js"🛠Available Tools for the AI
Tool | Description |
| Captures a high-resolution screenshot of the Studio window or active screen for visual AI inspection. |
| Executes arbitrary Luau code in Studio's edit context with undo waypoint tracking. |
| Traverses and returns the DataModel hierarchy ( |
| Reads the complete |
| Writes or overwrites the |
| Creates new instances ( |
| Destroys instances in the DataModel safely. |
| Retrieves recent output log messages from Studio. |
| Global search across all scripts in the place for matching text/regex lines. |
| Inspects detailed properties, children, attributes, and tags of any instance. |
| Scans all 3D scene objects (sounds, meshes, decals, particles, clothing) and reports external asset IDs. |
| Starts a playtest in Studio ( |
| Stops the active playtest simulation and returns to Edit mode (Shift+F5). |
| Autonomous AI test: launches test, monitors for console errors over N seconds, takes gameplay screenshot, and returns to Edit mode. |
📄 License
MIT License
Available Tools
19 toolsaudit_scene_assetsA
Scans all 3D objects in the scene (sounds, meshes, decals, animations, clothing) and reports all external asset IDs
| Name | Required | Description | Default |
|---|---|---|---|
| service | No | Optional specific service or model path to scan (defaults to all services) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. 'Scans' and 'reports' imply a read-only operation, but nothing states permissions, whether the scan is expensive/slow across a large scene, or any side effects. The read-only nature is conveyed but the operational profile is thin.
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 dense sentence that front-loads the action and scope, with the parenthetical enumeration adding precision at no cost. 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 one-parameter read tool with no output schema, the description names what is returned (external asset IDs) and what is scanned, which covers most agent needs. It stops short of describing the return shape or grouping, but nothing critical to correct invocation is missing.
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?
Only one optional parameter and schema coverage is 100%, so the schema already documents the service/path filter fully. The description adds no format or syntax detail beyond the schema, making the baseline 3 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 ('Scans') plus the exact resource ('all 3D objects in the scene') and enumerates the object kinds covered (sounds, meshes, decals, animations, clothing). The 'reports all external asset IDs' clause makes the outcome concrete and distinguishes it from inspection siblings like inspect_instance or get_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?
The description implies when the tool is useful (auditing external asset references) but never states explicit conditions, prerequisites, or which sibling to prefer (e.g., get_tree or inspect_instance for narrower reads). Usage is inferable rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_instanceD
Creates a new Instance in the DataModel
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | ||
| parent | No | game.Workspace | |
| className | Yes | ||
| properties | No |
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 of behavioral disclosure. It says only that the tool 'Creates' something, without stating permissions required, side effects, reversibility, or what happens to existing instances.
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 single sentence is front-loaded but far too terse for a four-parameter mutation tool, leaving critical information absent. This is under-specification rather than effective conciseness.
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 a mutation tool with no annotations, no output schema, and four undocumented parameters including a nested object, the description is completely inadequate. An agent cannot safely call this tool without opening and inferring from the schema alone.
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 0% across four parameters, including a nested 'properties' object, and the description adds no meaning for any of them. It does not explain className, parent defaults, name, or the properties structure.
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 ('Creates') and resource ('Instance in the DataModel'), so the basic action is clear. However, it does not distinguish this tool from siblings like delete_instance or inspect_instance, nor does it clarify scope beyond the generic 'DataModel'.
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 no guidance on when to use this tool versus alternatives such as execute_luau or multi_edit, and no prerequisites or exclusions are mentioned. An agent must infer usage entirely from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_instanceC
Deletes an instance from the DataModel
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It implies mutation but discloses nothing about irreversibility, whether child instances are deleted recursively, permission requirements, or failure modes when the path does not exist.
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 tight sentence with no filler and the operation front-loaded. It is efficient, though the brevity is partly a symptom of under-specification rather than deliberate economy.
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 destructive, single-parameter tool with no annotations and no output schema, the description is too thin. It should at minimum cover the path format, recursion/cascade behavior, and whether the deletion is permanent.
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 0% and the single 'path' parameter has no type documentation beyond 'string'. The description says 'instance from the DataModel' but never explains the expected path format (e.g. game.Workspace.Part), which is the one detail needed to invoke this correctly.
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 gives a specific verb ('Deletes') and resource ('an instance from the DataModel'), so the agent immediately knows the operation. It stops short of explicit sibling differentiation – create_instance is the obvious inverse, but the description never contrasts itself with it or with inspect_instance.
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 statement of when to use this tool versus alternatives, no prerequisites, and no warning context for a destructive operation. The agent must infer usage entirely from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
execute_luauB
Executes Luau code in 2021 Roblox Studio edit context and returns output
| Name | Required | Description | Default |
|---|---|---|---|
| code | Yes | Luau code to run |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It states the execution context and that output is returned, but says nothing about side effects, sandboxing, whether arbitrary code can mutate the scene, or required permissions — a serious gap for an arbitrary-code-execution 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?
One compact sentence that front-loads the verb and resource and adds only the distinguishing context. 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?
No output schema, no annotations, and a single opaque code parameter mean the description must fill many gaps. It doesn't describe return shape, error behavior, or safety constraints, leaving an agent under-informed about invoking an arbitrary-code-execution 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?
Single parameter with 100% schema description coverage ('Luau code to run'), so the baseline is 3. The description adds no format, version, or length constraints beyond what the schema already provides.
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 (Executes), resource (Luau code), and scoping context (2021 Roblox Studio edit context) plus return behavior. An agent can distinguish it from siblings like run_playtest or start_playtest by the 'edit context' qualifier, though it doesn't explicitly name an alternative.
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 phrase 'in 2021 Roblox Studio edit context' implicitly tells the agent this is for edit-time scripting rather than playtesting, which is useful routing context. However, it names no explicit alternatives and gives no when-not-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_output_logC
Retrieves recent messages from Studio's output log
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. 'Recent messages' hints at a scoped window, but nothing is said about ordering, pagination, whether it is read-only, or what happens when the log is empty — gaps that matter for a log retrieval 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 no filler. It is efficient, though the extreme brevity leaves room for a clause of useful context that would not have hurt readability.
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 is simple (one optional parameter, no output schema, no annotations), so minimal description is defensible. Still, with no annotation coverage and no parameter documentation, an agent lacks enough to know scope, ordering, or how the limit is applied, leaving it only minimally viable.
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 0% and the single 'limit' parameter (default 50) is never mentioned in the description. Despite 'limit' being fairly intuitive, the description adds no meaning about what it bounds or how it affects results, so it fails to compensate for the coverage gap.
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 (retrieves) and resource (Studio's output log), which distinguishes it from siblings like get_tree, read_script, and script_grep. It is clear what the tool returns, though it does not explicitly name a sibling it is not.
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 no guidance on when to use this versus alternatives such as script_grep or read_script for debugging output. The reader must infer usage entirely from the name and resource.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_studio_stateB
Gets the state of 2021 Roblox Studio (Edit/Play mode)
| 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 behavioral burden. It does not say what 'state' includes, whether it reflects cached or live Studio status, what permissions are needed, or what the response looks like. The Edit/Play mode detail is the only behavioral clue.
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 is front-loaded with the verb and resource. It is appropriately sized for a simple getter, though the parenthetical could be integrated more cleanly.
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 zero-parameter getter with no output schema, the description is minimally adequate. However, it does not clarify what fields the state includes or how it relates to the playtest siblings, leaving a gap for an agent deciding whether this tool answers its question.
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 has zero parameters, so there are no parameter semantics to document. The baseline for zero-parameter tools is 4; the description appropriately does not invent parameter details.
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 and resource: it gets the state of Roblox Studio. The parenthetical '2021 Roblox Studio (Edit/Play mode)' adds useful scope, though it does not explicitly distinguish this state getter from siblings like get_tree or get_output_log.
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 call this tool versus alternatives such as get_tree, start_playtest, or stop_playtest. An agent can infer it is a read-only state check, but no explicit usage context or exclusions are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_treeC
Scans and returns the hierarchy tree starting at root path
| Name | Required | Description | Default |
|---|---|---|---|
| root | No | game.Workspace | |
| maxDepth | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. 'Scans and returns' implies a read, but nothing is said about traversal depth behavior, result size, performance cost on large hierarchies, or whether the walk is exhaustive.
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. It is efficient rather than padding, though its brevity is partly under-specification rather than discipline.
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?
Two undocumented parameters, no annotations, and no output schema. The description omits the depth-bounding behavior that governs the return payload, leaving an agent unable to predict what the tree will contain.
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 0%, so the description must compensate. It gives partial meaning to 'root' as the traversal start, but says nothing about 'maxDepth' (or that maxDepth defaults to 2, which materially limits what the tree contains).
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 ('scans and returns') and resource ('hierarchy tree') with a starting scope ('starting at root path'). It is roughly distinguishable from search_game_tree, but the description never names or contrasts that sibling, so the differentiation is left to inference.
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 guidance, no exclusions, no alternatives. Given search_game_tree and inspect_instance exist as siblings, an agent gets no help deciding between a full-tree scan and a targeted search.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
inspect_instanceB
Inspects detailed properties, children, attributes, and tags of an instance
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | The path of the instance (e.g. Workspace.Part or ServerScriptService.Handler) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. 'Inspects' implies a read-only operation, but it never confirms non-mutation, does not state depth/recursion limits, pagination, or behavior for missing paths — all material for an inspection 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?
One short sentence with the verb and the inspected facets front-loaded; every word earns its place and there is no filler.
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, so the description is the only source of return-shape information; listing properties/children/attributes/tags partially covers that. Missing depth limits, missing-path behavior, and return structure leave gaps for a tool whose whole job is producing detail.
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 the single path parameter already documents format with two concrete examples (Workspace.Part, ServerScriptService.Handler). The description adds nothing 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?
States a specific verb (inspects) and resource (instance), and enumerates exactly what is surfaced: properties, children, attributes, and tags. It is distinguishable from get_tree/search_game_tree by scoping to one instance, though it never names those siblings explicitly.
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 when-to-use guidance, no prerequisite (e.g. instance must exist / be selected), and no mention of alternatives such as get_tree or search_game_tree for broader discovery. The agent must infer context entirely.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_roblox_studiosB
Lists connected 2021 Roblox Studio instances
| 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 of behavioral disclosure. It conveys read-oriented listing and a scope ('connected 2021 instances') but says nothing about authentication, return shape, connection behavior, or rate limits.
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 with no wasted words. It is appropriately sized for the tool's simplicity.
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 no-parameter listing tool with no output schema, the description gives the essential action and scope. However, with no annotations and no output schema, it should ideally clarify what the listing returns or what 'connected' implies.
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 are no parameter semantics to document. Per the rubric, a 0-parameter schema establishes a baseline 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 states a specific verb (Lists) and resource (connected 2021 Roblox Studio instances), making the tool's core purpose clear. It does not explicitly differentiate itself from siblings like get_studio_state, so it falls 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?
There is no guidance on when to use this tool versus alternatives, nor any conditions or exclusions. The description only states what it does, leaving usage entirely to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
multi_editC
Edits or creates scripts in Studio
| Name | Required | Description | Default |
|---|---|---|---|
| edits | Yes | ||
| file_path | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description carries the full burden. It says 'Edits or creates' but does not disclose whether edits are atomic, whether creating overwrites existing files, what permissions are required, or what side effects occur.
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 with no wasted words, front-loading the core action. However, it is terse for a mutation tool whose parameters are entirely undocumented, making the brevity partly under-specification rather than efficient conciseness.
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 mutation tool with no annotations, no output schema, and 0% parameter documentation, the description is far too thin. It does not explain multi-edit behavior, create vs. overwrite semantics, or any prerequisite, leaving the agent unable to invoke it correctly without guessing.
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 0% for both required parameters. The description adds no meaning about file_path (path format? relative/absolute?) or edits (array element shape? edit operation types?). It leaves the agent with no parameter guidance.
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 and resource: 'Edits or creates scripts in Studio.' An agent can tell it is a mutation tool for scripts, but it does not distinguish from the sibling write_script tool or clarify the 'multi' aspect of multi_edit.
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 tool versus alternatives like write_script or create_instance. The description only states what it does, not the context or conditions that select it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
read_scriptC
Reads the complete Source text of a Script
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries the full behavioral burden. It implies a read-only operation and that the full (untruncated) source is returned, but says nothing about permissions, behavior on missing/invalid paths, size limits, or side effects.
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 short, front-loaded sentence with no filler. It is efficient, though its brevity contributes to the documentation gaps noted elsewhere rather than being a flaw of structure itself.
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 tool with no annotations, no output schema, an undocumented parameter, and a confusingly similar sibling, the description is too thin. An agent lacks enough context on routing, path semantics, and return behavior to invoke it confidently.
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 single 'path' parameter has 0% schema description coverage, and the description does not compensate by explaining what the path is relative to, its format, or examples. The parameter name is intuitive but effectively undocumented.
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 and resource ('Reads the complete Source text of a Script') and signals scope with 'complete'. However, it makes no attempt to distinguish itself from the near-identically named sibling 'script_read', leaving the agent unable to tell the two apart without opening schemas.
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 statement of when to use this tool, when not to, or which alternative to prefer. With siblings like script_read and script_grep that plausibly overlap, the absence of any routing guidance is a real gap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
run_playtestA
Runs an autonomous test: starts playtest, monitors for runtime errors over duration, captures screenshot, and stops test
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | Test mode: 'play' (Play Solo) or 'run' (Run) | play |
| duration | No | Seconds to run test (2 to 30, default 5) | |
| capture_screen | No | Whether to snap a screenshot during the test |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It usefully discloses the sequence and side effects (starts, monitors runtime errors, snapshots, stops), but omits whether the call blocks for `duration`, what happens if errors occur, and how the captured errors/screenshot are surfaced to the agent.
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 that names the operation and then enumerates its steps in order with zero filler.
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 are no annotations and no output schema, so the description is the only place return semantics can live, yet it does not say how runtime errors or the screenshot are reported back. For a stateful, multi-step mutation tool this leaves a meaningful 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 description coverage is 100%, so mode, duration, and capture_screen are each already documented in the schema with defaults, ranges, and enum meanings. Baseline 3 applies; the description adds no parameter detail beyond what the schema carries.
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 and resource ('Runs an autonomous test') and enumerates the lifecycle it performs: start, monitor, screenshot, stop. It is clear what the tool does, but it never explicitly distinguishes itself from the siblings start_playtest and stop_playtest, which it internally composes.
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 word 'autonomous' implies a hands-off, one-shot workflow versus manually driving start_playtest/stop_playtest, but no when-to-use or when-not-to-use condition is stated and no alternative is named.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
screen_captureB
Captures a screenshot of the 2021 Roblox Studio / Aisaka window
| 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 behavioral burden, yet it only says a screenshot is taken. It does not disclose what is returned (raw image bytes, a file path, base64), whether the call can fail when the window is absent or occluded, or any permission/side-effect profile. For a capture tool with zero annotation coverage this is a meaningful 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 front-loaded sentence with no filler, so it is efficient. The only cost is that the odd '2021 ... / Aisaka' phrasing spends words without clarifying scope.
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 annotations and no output schema, the description is the only place to explain the return value and failure modes, and it omits both. An agent cannot know whether it receives an image payload or a path, or what conditions cause failure, so the definition is incomplete for a capture 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?
The tool takes zero parameters, so there are no parameter semantics to document and the baseline of 4 applies. The description correctly implies no user-supplied input is needed.
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 (captures) and resource (screenshot of the Roblox Studio window), which is distinct from the sibling tools that read or mutate the scene. The qualifiers '2021 Roblox Studio / Aisaka' are cryptic and slightly muddy exactly which window is targeted, but the core action is 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?
There is no guidance on when to call this versus alternatives like get_studio_state or inspect_instance, nor any prerequisite such as the window needing to be open or in the foreground. The agent must infer everything about when this tool is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
script_grepB
Searches all Scripts, LocalScripts, and ModuleScripts across the place for a text pattern or keyword
| Name | Required | Description | Default |
|---|---|---|---|
| root | No | Optional root path to search within (defaults to all game services) | |
| pattern | Yes | The string or keyword to search for | |
| max_matches | No | Maximum number of matches to return | |
| case_sensitive | No | Whether to perform a case-sensitive match |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden, and it discloses very little beyond the search scope. It does not say what a match looks like, whether results are truncated, how expensive a full-place scan is, or how max_matches interacts with the result set.
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, and the scope constraint ('across the place') lands early. It is efficient, though its brevity edges into under-specification rather than maximal information density.
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?
Parameters are fully covered by the schema, but with no annotations and no output schema the description is the only place to describe the shape of results (file/path/line per match) and truncation behavior, and it omits both. Adequate but with a real gap for a search 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 description coverage is 100%, so root, pattern, max_matches, and case_sensitive are already documented in the schema; the baseline is 3. The description's 'text pattern or keyword' phrasing adds mild signal about pattern flexibility but no syntax or matching-mode detail 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?
States a specific verb (Searches) and a precisely scoped resource (Scripts, LocalScripts, ModuleScripts across the place) for a text pattern. It clearly differs from single-file siblings like read_script/script_read, though it does not name them explicitly.
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?
Usage is implied: use this to find text across all scripts rather than reading one script at a time, which is inferable from 'across the place'. There is no explicit statement of when to prefer this over read_script or search_game_tree, and no exclusions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
script_readC
Reads a script from the Roblox workspace
| Name | Required | Description | Default |
|---|---|---|---|
| target_file | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It implies a read-only operation but says nothing about what happens if the file is missing, whether the full source is returned or truncated, or what access/permissions are needed.
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 short sentence with the operation front-loaded and no wasted words. It is efficient, though arguably too terse to be genuinely helpful.
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 annotations and no output schema, the description should at minimum explain the return shape and the parameter format, and it explains neither. The unexplained duplication with the 'read_script' sibling also leaves routing unresolved.
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 0% for the single required 'target_file' parameter, so the description must compensate and does not. It gives no hint of the expected path format (instance path like 'game.Workspace.Foo', file path, or name), leaving the agent to guess the identifier syntax.
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 ('reads') and resource ('a script') with a scope ('from the Roblox workspace'), so the basic operation is unambiguous. However it does nothing to distinguish itself from the sibling 'read_script', which appears to perform the identical function, so it fails the sibling-differentiation bar for 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?
There is no guidance on when to use this tool versus the near-identical 'read_script' sibling, nor any prerequisites or exclusions. An agent has to guess which of the two read tools is correct.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_game_treeC
Explore the Roblox game hierarchy tree
| Name | Required | Description | Default |
|---|---|---|---|
| path | No | Workspace | |
| max_depth | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. 'Explore' weakly implies a read-only operation, but it discloses nothing about result size, traversal depth effects, rate limits, or whether the call is safe.
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 padding, which is structurally clean. However, it is under-specified rather than genuinely concise, so it earns only a middling score.
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 annotations, no output schema, no parameter documentation, and a directly overlapping sibling (get_tree), the description is far too thin for an agent to call this tool confidently.
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 0% and neither parameter is explained anywhere. 'Explore the hierarchy tree' only faintly hints at traversal, leaving path (default Workspace) and max_depth (default 2) entirely undocumented.
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 the resource (the Roblox game hierarchy tree) but uses the vague verb 'explore' rather than naming what is being searched or filtered, despite the name search_game_tree. It also does nothing to distinguish it from the sibling get_tree or inspect_instance.
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 guidance, no conditions, and no mention of the obvious alternative get_tree, which overlaps heavily with this tool's apparent scope. The agent must guess which tree tool to call.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
start_playtestC
Starts a playtest in Roblox Studio (F5 for Play Solo, F8 for Run / Server Simulation)
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | 'play' for Play Solo (F5), 'run' for physics/server simulation (F8) | play |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It does not state whether the call blocks, what side effects occur in Studio, what permissions are needed, or what happens on success/failure. The F5/F8 detail is already in the schema, so it adds little behavioral context.
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 with no wasted words and the core action front-loaded. The parenthetical is arguably redundant with the schema, but it does not bloat the description.
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 mutation/action tool with no annotations and no output schema, the description is too thin. It omits what the tool returns, whether it blocks, and any prerequisites such as needing an active Studio connection, all of which an agent may need. The simple schema helps, but the description should do more.
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 baseline is 3. The description repeats the mode-to-shortcut mapping but does not add syntax, default behavior, or format details beyond what the schema already provides.
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 and resource ('Starts a playtest in Roblox Studio'), so the action is immediately clear. However, it does not differentiate from the sibling tool 'run_playtest', leaving ambiguity about which one to choose.
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 guidance, no alternatives named, and no prerequisites stated. The parenthetical maps modes to keyboard shortcuts but does not say when to use this tool versus run_playtest or stop_playtest.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stop_playtestA
Stops the active playtest simulation in Roblox Studio and returns to Edit mode (Shift+F5)
| 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 the full burden, and it does disclose the key behavioral outcome: the studio returns to Edit mode (with the Shift+F5 equivalent). However, it does not say what happens if no playtest is active (error vs no-op) or whether unsaved playtest state is discarded, which matters for a stop/terminate action.
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 scope, followed by the observable result and the keyboard equivalent. Nothing is wasted or buried.
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 zero-parameter, no-output-schema action tool, the description covers what it does and the resulting state change adequately. It is only slightly short of complete because the failure/no-active-playtest case is left unstated.
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 the baseline of 4 applies; there is nothing for the description to disambiguate beyond the implicit target being the currently active playtest.
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?
Specific verb+resource: 'Stops the active playtest simulation in Roblox Studio'. It clearly contrasts with the sibling tools start_playtest and run_playtest, which begin the same simulation, so an agent can select it without opening any schema.
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 phrase 'the active playtest' implies it should be used only while a playtest is running, but the description never states that precondition explicitly, nor does it name start_playtest as the inverse action. Usage is inferable but not spelled out.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
write_scriptC
Updates or overwrites the Source text of an existing Script in Studio
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | ||
| source | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. 'Updates or overwrites' signals a destructive write and 'existing Script' implies the target must already exist, but nothing is said about failure behavior for a missing path, permissions, or whether the previous source is recoverable.
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 that names the verb, the mutated field, and the target scope with no filler. It is efficient, though extremely short given how much it leaves unsaid.
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 mutation tool with no annotations, no output schema, and 0% schema coverage, the description is too thin. It omits creation-vs-update semantics, error conditions, and parameter formats that an agent needs before invoking a write.
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 0% and there are 2 undocumented parameters, so the description must compensate. It implies 'path' locates the Script and 'source' is the new text, but gives no format or syntax details (e.g., whether path is a hierarchy path or an instance identifier), leaving both parameters underspecified.
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 gives a specific verb+resource ('Updates or overwrites the Source text of an existing Script') and scopes it to Studio, which clearly separates it from read-side siblings like read_script and script_read. It stops short of naming the write alternative (multi_edit), 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?
There is no explicit when-to-use or when-not guidance. With multi_edit and create_instance among the siblings, the description never explains why an agent should pick write_script over those, leaving the routing decision to inference.
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.
18 tool updates
v1.5.6- Added
audit_scene_assets - Changed
create_instance4 fields changed- removed
Input schema / properties / className / descriptionRemoved value: -"Class name of the instance (e.g. 'Part', 'Folder', 'Script')" - removed
Input schema / properties / name / descriptionRemoved value: -"Name for the new instance" - removed
Input schema / properties / parent / descriptionRemoved value: -"Parent path (e.g. 'game.Workspace')" - removed
Input schema / properties / properties / descriptionRemoved value: -"Key-value dictionary of initial properties"
- Changed
delete_instance1 field changed- removed
Input schema / properties / path / descriptionRemoved value: -"Path of instance to destroy"
- Changed
execute_luau1 field changed- changed
Input schema / properties / code / descriptionPrevious value: -"Luau code to run in Studio"New value: +"Luau code to run"
- Changed
get_output_log1 field changed- removed
Input schema / properties / limit / descriptionRemoved value: -"Maximum lines to retrieve (default: 50)"
- Added
get_studio_state - Changed
get_tree2 fields changed- removed
Input schema / properties / maxDepth / descriptionRemoved value: -"Max recursive depth to traverse (default: 2)" - removed
Input schema / properties / root / descriptionRemoved value: -"Instance path (e.g. 'game.Workspace', 'game.ServerScriptService')"
- Added
inspect_instance - Added
list_roblox_studios - Added
multi_edit - Changed
read_script1 field changed- removed
Input schema / properties / path / descriptionRemoved value: -"Full instance path (e.g. 'game.ServerScriptService.MyScript')"
- Added
run_playtest - Added
script_grep - Added
script_read - Added
search_game_tree - Added
start_playtest - Added
stop_playtest - Changed
write_script2 fields changed- removed
Input schema / properties / path / descriptionRemoved value: -"Full instance path" - removed
Input schema / properties / source / descriptionRemoved value: -"New source code for the script"
8 tool updates
v1.0.0- First observed
create_instance - First observed
delete_instance - First observed
execute_luau - First observed
get_output_log - First observed
get_tree - First observed
read_script - First observed
screen_capture - First observed
write_script
TDQS
Scored across 19 tools
read_script and script_read are near-duplicates, get_tree and search_game_tree overlap, write_script and multi_edit both edit/create scripts, and execute_luau can subsume many specific operations. These unclear boundaries create real misselection risk.
All tools use snake_case, but the verb/noun ordering is inconsistent: read_script vs script_read, get_tree vs search_game_tree, write_script vs multi_edit, and script_grep. This is readable but not a predictable pattern.
19 tools is on the heavy side for this bridge, and several overlapping/duplicate tools inflate the count. The domain is complex enough to justify many tools, but consolidation would make the set cleaner.
Core coverage is strong: connection/state, script read/write/edit/search, instance create/delete/inspect, output logs, scene asset audit, and playtest lifecycle. Direct property/attribute setters and instance reparenting are absent, but execute_luau provides a workaround.
Maintenance
Related MCP Connectors
Use AI models for chat, image, and video generation from Claude Code and other MCP hosts.
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
One connector for 15,000+ MCP servers plus your team's private MCPs, from any AI client.
The OpenRouter MCP server plugs OpenRouter into the AI tools you already use. Once connected, your assistant can pull live OpenRouter data (models, prices, your credits, rankings, and docs) and send quick test messages, all without leaving your editor.
Related MCP Servers
- AlicenseNot gradedqualityNot gradedmaintenanceConnects Roblox Studio to AI coding editors via the Model Context Protocol, allowing AI agents to understand and interact with live Roblox Studio sessions through scene manipulation, scripting, and optional Roblox Open Cloud API integration.66MIT
- AlicenseNot gradedqualityDmaintenanceConnects AI assistants to Roblox Studio, enabling them to interact with instance hierarchy, edit Luau scripts, manage properties, and sync files over a local connection.5 npm2MIT
- AlicenseNot gradedqualityAmaintenanceEnables AI assistants to control Roblox Studio by running Luau code, creating and editing instances, reading the scene tree, and managing scripts via an MCP server with a long-polling plugin bridge.MIT
- AlicenseNot gradedqualityAmaintenanceEnables AI tools to read the Roblox Studio game tree, edit scripts, insert models, and run playtests via the Studio MCP interface.24 npmMIT