Skip to main content
Glama

character-sprites

Description → canonical character → separate cutout parts → local rig and animation baking. One text call + two image calls. The companion rig.mjs extracts transparent parts and bakes 32 frames: id… text:Character -> llm:Character designer -> image:Canonical character -> resize:Reference -> edit:Rig parts; returns image + image (muse-image/edit, 1:1) saved to disk (file paths in result). Runs on NanoGPT — $0.06 deposit per call, paid in Nano (XNO) — settles at actual model cost + 20%, change returned; no account needed; last run $0.0221, ~86s. Example: Iron Verdict (https://nanoodle.com/examples/iron-verdict/). A playable fighting game built with character-sprites. This graph generates a character reference and parts sheet; the local skill bakes animated sprites, and a coding agent adds combat, gravity and game rules. Agent skill: https://github.com/nanoodlecom/noodle-skills/tree/main/skills/character-sprites

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "character-sprites"
  }
}

Input Schema

NameRequiredDescriptionDefault
CharacterNoText; default: "A compact furnace knight with a cracked ivory helmet, narrow glowing amber visor, dark navy armor, a short rust-red s..."; optional
_payment_idNoPayment id from this tool's previous payment-required response. Phase 3 only: after /x402/watch closes with status paid, call again with the same arguments plus this id to open the RESULTS stream. Do not pass it while payment is still pending — monitor the watch SSE first.
Character_designerNoSystem prompt; default: "Write ONE image prompt, maximum 130 words, for a game character reference from the description. Preserve the user des..."; optional

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

B3/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and largely delivers: it discloses the payment model ($0.06 deposit in Nano, settles at actual cost +20%, change returned, no account needed), observed runtime (~86s), last-run cost, and that outputs are saved to disk with file paths in the result. It also clarifies that the rig/animation baking happens locally outside this tool. It stops short of error/retry behavior, keeping it below a 5.

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

Conciseness2/5

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

The text is a run-on blend of pipeline notation, payment mechanics, a pasted example URL, and marketing copy, with no clear front-loading of the core action. Several fragments ('id…', 'resize:Reference') are truncated and unreadable, costing more than they add. It is not under-specified, but it is poorly structured.

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?

There is no output schema, so the description must explain returns — and it does ('returns image + image … saved to disk (file paths in result)'), along with cost, timing, and the division of labor with the local rig.mjs skill. For a complex multi-step paid pipeline this is fairly complete, missing only failure/retry handling.

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 description coverage is 100%, so the schema already documents all three parameters, including the nuanced _payment_id flow — baseline is 3. The description adds only a loose mapping of 'text:Character' and 'llm:Character designer' into the pipeline, which is marginal beyond what the schema provides.

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 eventually states that the graph 'generates a character reference and parts sheet' and that a local skill bakes animated sprites, which is a concrete verb+resource. However, the leading sentence is a fragment ('Description → canonical character → separate cutout parts → local rig and animation baking') and the pipeline arrow dump makes the actual purpose hard to extract at a glance. It is distinguishable from siblings like mix-the-references, but only after parsing a lot of noise.

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?

It provides an example use case (a playable fighting game, with a link) but never states when to choose this tool over siblings such as image-model-arena or mix-the-references, nor any prerequisites. The 'One text call + two image calls' line implies a multi-step flow but does not tell the agent when or how to invoke it versus alternatives. Guidance is contextual rather than directive.

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.