MCP server for connecting AI tools (Claude, Cursor, etc.) to live Roblox game instances
The MCP server exposes 8 Roblox game control tools with partial but incomplete schema coverage. Tool names follow verb_noun patterns well (get_*, execute_, delete_, set_), and descriptions are present and reasonably detailed (avg ~150 chars). However, critical issues undermine production readiness: (1) Parameter descriptions are missing for most tools, while path and code parameters have descriptions, many tool inputs lack explanatory text for LLMs. (2) Input schemas visible in package.json show typed parameters but no formal JSON Schema validation rules (min/max bounds, enum constraints, or format specifications). (3) Output schemas are completely undocumented, LLMs cannot infer what fields to expect in responses. (4) Error handling is unspecified, no guidance on recovery actions, retryability, or what happens when operations fail. (5) Destructive tools (delete_instance) and high-risk operations (execute_code, teleport_player) lack confirmation patterns or dry-run modes. (6) No pagination, rate limiting, or result caps for list-like tools (get_game_tree). Tools are domain-appropriate but definition quality falls short of production standards.
Delete an instance from the Roblox game. This is permanent and cannot be undone.
Execute Luau code in the connected Roblox game. The code runs in the executor environment with access to the full Roblox API.
Get the current status of the Roblox executor bridge connection. Returns whether the bridge is running, connected, and the executor name if connected.
Get the current game hierarchy tree from the connected Roblox game. Returns the structure of services and their children.
Get property values from an instance in the Roblox game.
Move an instance to a new parent in the Roblox game hierarchy.
No output schemas documented for any tool. LLMs cannot infer response structure, fields, or data types. Blocks effective tool chaining and forces agents to make assumptions.
Destructive tools (delete_instance) lack confirmation or dry-run patterns. Agents can irreversibly delete game objects in one call without safeguard.
No error handling or recovery guidance documented. Tools do not explain what to do on failure (retryable? user-fixable? fatal?). Error responses will not guide LLM recovery.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | D | 57 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 33 | - | v1 |
Set a property value on an instance in the Roblox game.
Teleport the local player to an instance's position in the Roblox game.
No result limits or pagination documented for potentially large outputs (get_game_tree, get_properties). LLMs could receive unbounded responses that exhaust context window.
Parameter value/valueType in rbxdev_set_property is awkwardly separated. Passing a string value with a separate type string invites type conversion bugs and mismatch errors. Should use typed parameters or union.
Many parameter descriptions are missing or generic (e.g., empty description for path in several tools). LLMs cannot infer what values are valid or how to construct them.
No validation rules documented (enum constraints, regex patterns, min/max bounds). Tools accept 'string' but do not specify valid formats, lengths, or character restrictions.
Tool rbxdev_reparent_instance uses domain jargon ('reparent') that LLMs unfamiliar with Roblox may not recognize. Consider 'move_instance' or 'update_instance_parent'.