Skip to main content
Glama
bh213

hx-multianim-mcp

by bh213

send_events

Simulate multi-step input sequences like drag-and-drop or slider scrubs by injecting events with frame steps between them, so animations and zone detection advance in one call.

Instructions

Send a sequence of input events with game frame steps between them. Enables multi-step interactions (drag-and-drop, slider scrub, card hand drag) in a single call.

Each entry in the events array is either:

  • An event: {type, x, y, button, ...} (same params as send_event)

  • A frame step: {step: N} — advance N game frames (processes animations, state machines, zone detection)

The game must be paused for frame steps to work. Use auto_pause:true to auto-pause before and resume after.

Example drag: [ {type:"mouse_down", x:100, y:200}, {step:2}, {type:"move", x:200, y:150}, {step:1}, {type:"move", x:300, y:100}, {step:1}, {type:"mouse_up", x:300, y:100} ]

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
eventsYesArray of event objects ({type,x,y,...}) and frame steps ({step:N})
auto_pauseNoAuto-pause before executing and resume after (default: false). Enables frame steps without manual pause/resume.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.15.0

TDQS

A4.3/5.0
Behavior4/5

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

No annotations are provided, so the description carries the full burden, and it does well: it discloses the pause requirement, what frame steps actually do (process animations, state machines, zone detection), and the auto-pause/resume side effect of auto_pause. It omits failure modes (e.g., what happens if frame steps are used while unpaused) and any notion of return values.

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?

Front-loaded purpose sentence, then structured bullet list of entry types, then the pause/auto_pause caveat, then a worked example. Every element earns its place, though the example is somewhat long and the 'same params as send_event' cross-reference is doing work the text could state directly.

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 two-parameter tool with no annotations and no output schema, the description covers the essential contract: input shape, ordering semantics, pause prerequisite, and a usage example. It leaves return-value behavior and error conditions unspecified, which is a gap given no output schema exists to fill it.

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 coverage is 100%, so the baseline is 3, but the description adds real meaning beyond the schema: it enumerates the two entry shapes ({type,x,y,...} vs {step:N}) that the schema only gestures at with 'event objects and frame steps,' and explains what a step does mechanically. auto_pause's semantics are also echoed usefully.

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?

States a specific verb+resource ('send a sequence of input events with game frame steps') and immediately frames the scope that separates it from send_event (singular) and step: multi-step interactions in one call. The concrete use cases (drag-and-drop, slider scrub, card hand drag) make the purpose unambiguous.

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?

Clear about when this tool is needed (multi-step interactions) and states an operational prerequisite: the game must be paused for frame steps, with auto_pause:true as the remedy. It implies the sibling send_event for single events via 'same params as send_event' but never explicitly says 'use send_event instead for a single event,' so it falls short of full alternative routing.

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