Skip to main content
Glama
sprite-agent-mcp

sprite-agent-mcp

Shape the loop

sprite_loop

Apply pingpong, reverse, hold, or deduplicate modes to sprite animation frames, with optional hold repetition and project selection, to create reusable loops.

Instructions

pingpong (seamless back-and-forth), reverse, hold (freeze each frame N times) or deduplicate (remove identical frames). Example: {mode:'pingpong'}.

Input Schema

NameRequiredDescriptionDefault
modeYes
timesNo
projectNoProject id. Omit to use the active project.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.0.0

TDQS

C2.6/5.0
Behavior2/5

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

With no annotations, the description carries the full behavioral burden and does not meet it: it never says whether frames are mutated in place, whether the operation is reversible, whether it applies to the active project only, or how 'deduplicate' interacts with existing timing. The parentheticals explain what each mode means semantically, but say nothing about side effects or persistence.

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?

A single compact sentence plus a usage example, with the mode definitions front-loaded and no filler. It is efficient, though the terseness is partly the cause of the missing context rather than pure economy.

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

Completeness2/5

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

For a mutating tool with zero annotation coverage, no output schema, and a partially documented schema, the description should establish what is being modified, whether the change is destructive, and how the modes differ in effect on timing. It only covers the mode vocabulary, leaving the agent unable to predict the result of a call.

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 coverage is 33%, but the description does the important work on the enum: each mode value gets a plain-language gloss that the bare enum list lacks. 'times' is only obliquely covered ('freeze each frame N times') with no mention of the 1–20 bound, and 'project' relies entirely on its schema description.

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

Purpose3/5

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

The description enumerates the four modes and describes each with a verb-phrase gloss ('pingpong (seamless back-and-forth)', 'hold (freeze each frame N times)'), which implies the tool reshapes the frame sequence of a loop. However, it never states at a high level what the tool operates on or produces (e.g. 'modifies the frame order of the current sprite's animation loop'), so the core purpose must be inferred from the mode names.

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

Usage Guidelines2/5

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

No when-to-use guidance is given and no siblings are referenced, despite obvious neighbors like sprite_timing, sprite_animate, and sprite_frame that also affect playback. An agent has no signaled criteria for choosing this tool over them, nor any stated prerequisite that a loop/animation must already exist.

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