A stdio MCP server that runs Aseprite Lua scripts and returns exported PNGs for inspection. It does not include Aseprite; users must supply an installation with a separate license.
Two tools with clear names (execute_lua, inspect_export) and reasonable descriptions (120-180 chars). Both have input schemas with typed parameters and descriptions. However, output schemas are not documented, the code shows tools return mcp.Content but no formal schema is declared. Error handling is present (empty script rejection, traversal prevention, non-PNG rejection) but lacks recovery guidance. Parameter descriptions are adequate but could be more prescriptive about constraints. No tool annotations (readOnlyHint/destructiveHint) despite execute_lua being destructive.
Run a Lua script through Aseprite in batch mode (one process per call). The workspace root is passed as the script parameter aseprite_mcp_workspace; write files beneath it. Returns stdout, stderr, and exit status. Use inspect_export afterward to view exported PNGs.
Return an exported PNG from the workspace as image content so you can see the result and refine it. The file must exist and stay inside the workspace.
Output schemas not documented. Tools return mcp.Content (text or image) but no formal schema is declared. LLMs cannot plan downstream operations without knowing return structure.
execute_lua lacks destructiveHint annotation. Tool modifies workspace (writes files) but is not marked as destructive. Agents cannot distinguish safe reads from state-changing operations.
Error messages lack recovery guidance. 'empty script' and 'non-PNG' errors are clear but do not suggest next steps. Pattern: 'Invalid script: must contain at least one statement. Try: print("hello")' or 'Not a PNG file. Call execute_lua to generate an export first.'
Parameter descriptions lack format/constraint details. 'script' param says 'Lua source' but does not specify max size, required structure, or what happens if it exceeds MaxScriptSize. 'path' param lacks guidance on absolute vs relative resolution.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 57 | 2026-07-28+ | v2 |
No pagination or result limits documented. execute_lua returns stdout/stderr as free text; no indication of max output size or truncation behavior. Large outputs could exhaust context.