Skip to main content
Glama

mouse_up

Idempotent

Release a held mouse button, optionally moving to specified coordinates first. Completes drag operations or releases a button in the Windows 98 VM.

Instructions

Release a held mouse button, optionally moving to coordinates first. VM remains locked by this session; call vm_unlock when finished.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
xNoZero-based physical screen coordinate.
yNoZero-based physical screen coordinate.
buttonNoleft
Behavior4/5

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

The description adds behavioral context beyond annotations by mentioning the optional move-before-release and the VM lock persistence. It does not contradict the idempotentHint or destructiveHint annotations, and the disclosure is adequate for a simple input tool.

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?

Two concise sentences with no fluff. The first sentence names the core action, and the second provides essential lock-related instructions. Every word contributes value.

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 simple mouse input tool, the description plus schema and annotations cover the action, optional parameters, and the lock lifecycle. It does not explicitly mention the sequence ('use after mouse_down') or compare with mouse_release_all, but those gaps are minor given the tool's simplicity.

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

Parameters4/5

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

Schema already describes x/y as coordinates. The description adds that these are optional movement targets before release, which clarifies why they are optional. The button parameter is self-explanatory via its enum and default, and the description's 'held mouse button' ties it to the action.

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

Purpose5/5

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

The phrase 'Release a held mouse button' is a specific verb+object description that clearly differentiates this tool from siblings like mouse_down, mouse_click, and mouse_release_all. It also adds the optional movement behavior, which further clarifies its scope.

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 description implies usage when a mouse button is currently held and optionally after moving to coordinates. The VM lock note gives important sequencing context ('call vm_unlock when finished'), though it does not explicitly compare against alternatives like mouse_release_all.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/ido-pluto/windows98-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server