MCP server for automating Spine CLI export, texture packing, and asset validation workflows.
sky-spine-mcp defines 6 tools with complete input schemas using Zod validation and descriptions. However, critical gaps limit production readiness: (1) Tool names lack action verbs, 'spine_cli_info', 'spine_export', 'spine_pack' are noun-heavy and don't clearly signal intent to LLMs; (2) Descriptions are adequate (100 - 180 chars) but lack WHEN/WHY guidance and don't explain state-modifying consequences; (3) No output schemas documented, LLMs cannot predict response structure for downstream chaining; (4) Error handling returns raw CommandResult objects without recovery guidance; (5) No parameter constraints (enums, ranges) despite many accepting free-form strings (e.g., exportSettings, pack). Schemas are present and typed, placing this above F/D tier, but missing output documentation and error guidance prevent higher scores.
Run Spine CLI info for a project, folder, JSON, or binary skeleton file.
Export a Spine project or data file with an export settings JSON file or default json/binary mode.
Pack image folders into a Spine texture atlas using default settings or a pack settings JSON file.
Read a Spine .atlas file and return page and region counts.
Read exported Spine JSON and return skeleton metadata, counts, skins, and animations.
Check whether a folder contains expected Spine runtime assets.
Tool names lack action verbs. 'spine_cli_info', 'spine_export', 'spine_pack' are noun-centric and do not clearly signal intent to LLMs. Should be 'run_spine_info', 'export_spine_project', 'pack_spine_atlas' to match verb_noun convention.
No output schemas documented. Tools return CommandResult or summary objects, but LLMs cannot predict field names, types, or structure. This breaks downstream tool chaining and forces LLMs to guess response format.
Error handling returns raw CommandResult with exitCode, stdout, stderr. No recovery guidance. LLMs cannot determine if error is retryable, user-fixable, or fatal. Should categorize errors and suggest next steps.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 53 | 2026-07-28+ | v2 |
Parameter descriptions lack constraints. 'exportSettings' accepts 'json, binary, json+pack, binary+pack' but is documented as free-form string. Should use enum constraint. 'timeoutMs' is unbounded, should specify min/max (e.g., 1000 - 600000).
Descriptions do not explain state-modifying consequences. 'spine_export' and 'spine_pack' modify the filesystem but descriptions do not say 'This tool writes files to disk' or 'Irreversible operation'. LLMs need explicit state-change warnings.