Skip to main content
Glama

update_sprite

Destructive

Update a sprite by ID, optionally replacing its selected parts.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "spriteId": "<spriteId>",
      "updates": "<updates>"
    },
    "name": "update_sprite"
  }
}

Input Schema

NameRequiredDescriptionDefault
updatesYes
spriteIdYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

C2.9/5.0
Behavior3/5

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

Annotations already declare destructiveHint=true and readOnlyHint=false, so the agent knows this is a mutating, non-open-world operation. The description adds the useful detail that parts can be optionally replaced, but it never explains partial-update semantics — whether omitted fields are preserved or cleared, and what happens to existing parts when partIds is supplied. With annotations carrying the safety profile, this is a moderate gap rather than a fatal one.

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 front-loaded sentence with no filler, and the ID-based targeting is stated first. It is efficient, though the brevity borders on under-specification for a tool with this much surface area.

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 destructive mutation with a large nested schema, no output schema, and 0% parameter documentation, the description is far too thin — it omits update/merge semantics, validation expectations, and any hint about the animation-ID fields. An agent would have to reverse-engineer behavior from the raw schema.

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

Parameters2/5

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

Schema description coverage is 0% and the nested 'updates' object exposes roughly twenty fields with no documentation at all. The description only gestures at spriteId and partIds ('selected parts'), leaving name, colors, hitbox, and the entire family of *_animation_id fields unexplained, including the nullable ones. It does not compensate for the coverage gap.

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?

States a specific verb and resource ('Update a sprite by ID'), which cleanly distinguishes it from create_sprite, get_sprite, and update_part among the siblings. The trailing clause about 'replacing its selected parts' is narrower than what the tool actually does, since the schema also allows name, colors, hitbox, and many animation IDs.

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?

There is no explicit when-to-use guidance, no mention of prerequisites (does the sprite need to exist, are animation IDs validated?), and no routing to alternatives such as create_sprite for new sprites or update_animation for animation edits. Usage is only inferable from the verb.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources