Agentengesteuerte Charakteranimation im Browser — Beitrag zur OpenAI WebMCP Challenge
Server has 9 tools with explicit schemas and descriptions, but quality is inconsistent. Tool names follow verb_noun convention (add_phase, edit_phase, set_target, set_pose, look, export_clip, validate_*). Descriptions are present but brief (10-80 chars), below the 50-200 char LLM-optimized baseline. Parameter descriptions exist but lack detail on constraints, ranges, and valid values. No error handling guidance visible. Output schemas are not documented. Transport mechanism unknown, capping protocol readiness.
Adds a motion phase to the timeline with verb and parameters
Edits an existing motion phase in the timeline
Exports solved timeline as GLB file with root motion
Renders annotated strip views of character animation frames
Sets joint rotations for a specific frame
Sets end-effector target position for inverse kinematics
Validates ValidationReport contract compliance
Validates RigProfile contract compliance
Descriptions are too brief (10-80 chars vs. 50-200 char baseline). LLMs cannot determine when to select tools or understand nuanced differences between similar operations (add_phase vs edit_phase, set_target vs set_pose).
Parameter descriptions lack actionable constraints. 'Motion verb from the inventory' does not specify valid verbs, format, or how to discover them. 'Motion parameters' is vague, what structure? What fields required?
No output schemas documented. Tools return results but LLMs cannot plan downstream calls or extract required fields. E.g., does 'look' return image URLs, base64 data, or file paths?
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 46 | 2026-07-28+ | v2 |
Validates Timeline contract compliance
No error handling guidance. Tools that validate (validate_rig, validate_timeline, validate_report) will fail on invalid input, but descriptions do not explain what errors mean or how to recover.
Numeric parameters (frame, from, to) lack range constraints. 'Frame number' does not specify min/max valid values, causing LLMs to pass absurd values (frame=-1, frame=999999).