MCP server for generating SPINE2D animations from PSD files using natural language
Server has 5 tools with basic schemas and descriptions, but significant quality gaps. All tools have descriptions (10-50 chars, below the 50-200 char baseline for LLM optimization), and input schemas are present but minimal. Parameters lack type constraints (no enums for format parameter in export_animation). Error handling returns JSON strings but lacks recovery guidance. No tool annotations (readOnlyHint, destructiveHint). Naming is verb-noun compliant but descriptions are too terse to guide LLM selection. Output schemas are undocumented, LLMs cannot predict response structure for chaining. No parameter validation rules stated (e.g., format enum values). Critical: import_psd accepts file_path but no validation guidance; generate_animation accepts free-form description with no length/format constraints.
Export the final animation
Create animation from text description
Upload and process a PSD file
Get a preview of the animation
Automatically rig the character
Descriptions are 10-50 characters, well below the 50-200 char baseline for LLM optimization. 'Upload and process a PSD file' and 'Automatically rig the character' lack context for when/why to use each tool vs alternatives.
export_animation.format parameter accepts free-form string with default 'json' but no enum constraint. Description says '(json, gif, etc.)', LLMs will hallucinate unsupported formats like 'webp' or 'mp4'. Should declare enum: ['json', 'gif'].
No output schemas documented. Tools return JSON with fields like 'character_id', 'animation_id', 'export_url' but LLMs cannot predict structure for downstream chaining. Missing: documented return type for each tool.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 43 | <=2025-11-25 | v2 |
Error responses return JSON with 'status' and 'message' but lack recovery guidance. 'Character not found: {character_id}' does not tell LLM what to do next (e.g., 'Call import_psd first' or 'List available characters with get_characters resource').
No tool annotations (readOnlyHint, destructiveHint, idempotentHint). import_psd, setup_character, generate_animation are WRITE operations but not marked. preview_animation and export_animation are READ_ONLY but not annotated. Agents cannot infer safety/retry semantics.