Skip to main content
Glama

Operate the game's GUI

gui_interact
Destructive

Inspect and operate a live Roblox game's GUI: list buttons and text boxes, click controls, set text, or trigger ClickDetectors and ProximityPrompts.

Instructions

Look at and operate the game's interface. Actions: list (buttons and text boxes with text, visibility and position; default root is the player's PlayerGui), click (press a button: its own events by default, or a real mouse click with mode mouse), set_text (fill a text box, optionally press Enter with submit) and trigger (fire a ClickDetector or ProximityPrompt, given directly or found inside the part or model). Changes the running game. Requires the connected state.

Input Schema

NameRequiredDescriptionDefault
kindNolist: what to list (default all).
modeNoclick: auto (events first, then mouse), signal or mouse.
pathNoclick, set_text, trigger: dotted path of the target.
rootNolist: dotted path to search under (default the player's PlayerGui).
textNolist: only elements whose text or name contains this. set_text: the text to enter.
limitNolist: maximum elements (default 60).
actionYesWhat to do.
clientNoClient id from list_clients, for example c2. Defaults to the client that connected last.
submitNoset_text: also press Enter (default false).
visible_onlyNolist: skip hidden elements (default true).

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare destructiveHint=true and readOnlyHint=false, and the description is consistent, confirming "Changes the running game". It adds genuinely non-obvious behavior beyond the annotations: the connected-state prerequisite, the distinction between firing a button's own events versus a real mouse click under mode mouse, and that trigger resolves a path either directly or inside a part/model.

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

Conciseness4/5

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

The purpose sentence is front-loaded, the four actions are grouped in a single readable parenthetical span, and the two behavioral caveats are pushed to the end. It is dense but every clause carries information; only the run-on action list slightly hurts scanability.

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

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 10-parameter, four-action mutation tool with no output schema, the description is solid: it says what list returns (buttons and text boxes with text, visibility, position), describes each action's targeting, and flags the state requirement. Remaining gaps are error behavior for bad paths and whether clicks are reversible, which matter given destructiveHint=true.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents every parameter including defaults (all, auto, PlayerGui root, 60 elements, last-connected client). The description mostly paraphrases those enum descriptions; the only real addition is that trigger's path may resolve inside a part or model, which is modest added meaning over the schema's generic "dotted path of the target".

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

Purpose4/5

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

The description opens with a specific verb and resource ("operate the game's interface") and then enumerates the four concrete actions — list, click, set_text, trigger — so an agent knows exactly what surface this tool touches. It is distinguishable from screenshot (visual capture) and execute_lua by being a structured GUI-operating tool, 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.

Usage Guidelines3/5

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

Each action gets a short when-to-use gloss (list to see buttons/text boxes, click to press, set_text to fill and optionally submit, trigger for ClickDetector/ProximityPrompt), plus the prerequisite "Requires the connected state". However it gives no guidance on preferring this over execute_lua, set_property, or screenshot, and no when-not-to-use conditions or failure modes.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.