Skip to main content
Glama

generate_vfx

Make a pixel-art visual effect (explosion, slash, sparkle, magic burst…) procedurally, from a prompt or a recipe a previous call returned: a sprite sheet PNG, an animated GIF, atlas and Aseprite JSON, a Godot SpriteFrames .tres and the recipe (pass it back with changes to tweak the effect). The effect is also saved to your library (free, private; save: false to skip): the reply gives its asset id and cdn.voidless.dev URLs for the sheet, GIF and frames, which the other tools take as inputs. Images up to 2048x2048, 256 frames, 32 MB of input per call. Free: no credits.

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": "generate_vfx"
  }
}

Input Schema

NameRequiredDescriptionDefault
glowNoLight, 0 (off) to 1
saveNoSave the effect to your Voidless library (default; false = only return it here)
splitNoAlso return back and front halves, to draw behind and in front of a character
promptNoWhat the effect looks like, e.g. 'small blue magic burst, 8 frames'
recipeNoA recipe from a previous result, edited or as is
optionsNoExtra engine options, passed through

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.7/5.0
Behavior5/5

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

Beyond the annotations (openWorldHint true, non-destructive, non-idempotent), the description discloses the important side effect the annotations do not capture: every call writes to the user's library by default unless save:false is passed, and that storage is free and private. It also states hard limits (2048x2048, 256 frames, 32 MB input per call) and that the operation costs no credits, which is exactly the behavioral context an agent needs for a generative write 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?

It is a single dense paragraph, but it is front-loaded with the action and output artifacts, then layered with side effects, limits, and cost. Every clause carries distinct information — there is no restatement of the title or filler.

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

Completeness5/5

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

There is no output schema, and the description compensates by enumerating the return payload (sprite sheet PNG, animated GIF, atlas/Aseprite JSON, Godot SpriteFrames .tres, recipe, asset id, cdn.voidless.dev URLs) and noting that those URLs feed other tools as inputs. For a complex generative tool with nested objects and zero required parameters, that covers what an agent needs to invoke it and chain the result.

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 description coverage is 100%, so the baseline is 3, and the description earns an increment by explaining the recipe contract not obvious from the schema alone — that the recipe comes from a previous result and can be edited and replayed to modify an effect. It adds nothing for glow, split, or options beyond what the schema already says.

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 description names a specific verb and resource ('Make a pixel-art visual effect... procedurally') and enumerates the concrete artifact types (explosion, slash, sparkle, magic burst), which separates it from siblings like make_gif, animate_sprite, or generate_animation_set. It also names the two invocation modes (prompt or recipe) up front, so an agent can identify the tool without opening the schema.

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?

It gives clear usage context: call with a prompt for a new effect, or pass back a returned recipe with edits to tweak an existing one, and it explains save:false when persistence is unwanted. What it does not do is compare itself to neighbouring generation tools (generate_animation_set, generate_image, make_gif), leaving the agent to infer which generator to pick.

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