Skip to main content
Glama

run_lua

Execute Aseprite Lua scripts to automate sprite edits, animation tasks, and exports; pass a file path, parameters, and control whether changes are saved.

Instructions

Run Aseprite Lua (API 1.3). Globals: sprite (from path), params. Returns the script's return value. Saves unless save=false.

Input Schema

NameRequiredDescriptionDefault
codeYes
pathNo
saveNo
paramsNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv2.3.0

TDQS

B3.3/5.0
Behavior3/5

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

Without annotations, the description carries the full burden. It discloses important behaviors like the default saving side effect ('Saves unless save=false'), the return value, and available globals, but omits critical context for a code-execution tool: sandboxing, permissions, error handling, and timeouts.

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?

The description is front-loaded with the core purpose and then adds only useful details. Every sentence—covering API version, globals, return value, and save behavior—earns its place.

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

Completeness3/5

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

For a code-execution tool with four parameters, a nested object, no output schema, and no annotations, the description covers the basics (what it runs, what globals are available, what it returns, and the save default) but leaves significant gaps around error behavior, execution environment, and parameter details.

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 0%, so the description must compensate. It partially does by mapping the path parameter to the sprite global and the params parameter to the params global, and by explaining the save flag's effect. However, it does not clarify the format of path or the allowed contents of the params object, leaving gaps for a 4-parameter tool with a nested object.

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: 'Run Aseprite Lua (API 1.3)'. The purpose is clear, but it does not differentiate itself from sibling tools like generate or batch, leaving the agent to infer that this is a generic escape hatch.

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?

Provides no guidance on when to use this tool versus the many domain-specific siblings. It does not say whether this is for custom operations not covered elsewhere, nor does it mention any prerequisites or exclusions.

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