Skip to main content
Glama

qemu_mouse_click

Click at specified screen coordinates in a Windows 98 VM via QMP, enabling mouse input before the guest OS controller is available. Supports left, right, or middle buttons.

Instructions

Move then click through QMP before the Windows controller is available.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
xYesZero-based physical screen coordinate.
yYesZero-based physical screen coordinate.
vm_idYes
buttonNoleft

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv1.6.0

TDQS

A4/5.0
Behavior4/5

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

The description discloses that a single call performs both a move and a click, and that communication goes through QMP, which is useful beyond the annotations. Annotations specify readOnlyHint=false, destructiveHint=false, and idempotentHint=false, but do not reveal the compound behavior or the QMP path. No contradiction with annotations was found.

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

Conciseness5/5

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

A single, efficient sentence that front-loads the action ('Move then click'), states the mechanism ('through QMP'), and includes the key usage condition ('before the Windows controller is available'). No wasted words or redundant restatement of the tool name.

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 fairly simple mouse-input tool, the description conveys the essential purpose, mechanism, timing, and compound behavior. There is no output schema, but this is a fire-and-forget input action. It could mention expected errors or what happens if QMP is unavailable, but for the tool's complexity the definition is adequately complete.

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?

The schema already describes x and y as zero-based physical coordinates and defines the button enum with a default of 'left'. The description adds no explicit parameter detail, and vm_id lacks semantic explanation beyond its name and pattern. Parameter names are largely self-explanatory, but the description does not compensate for the undocumented vm_id parameter.

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 states a specific action sequence ('Move then click') and a specific mechanism ('through QMP') with a timing/context qualifier ('before the Windows controller is available'). This clearly distinguishes it from controller-based mouse tools like mouse_click and from move-only tools like qemu_mouse_move. It is not a tautology, though it does not explicitly name sibling alternatives.

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

Usage Guidelines4/5

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

The phrase 'before the Windows controller is available' gives a clear condition for when this tool is appropriate. It implies that once the Windows controller is available, other input tools should be used, but it does not explicitly name them or state when not to use this tool. Context is strong but exclusions are left implicit.

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