MCP server for searching and retrieving Lottie animations from LottieFiles API
Server has 3 read-only tools with basic schemas and descriptions. Naming follows verb_noun convention (search_, get_). Descriptions are present but minimal (34 - 66 chars, well below the 194-char baseline for A-grade tools). All tools have input schemas with type definitions and parameter descriptions, meeting baseline expectations for C/D-grade servers. Parameter descriptions are brief but functional. No output schema documented in code. Missing error handling guidance, no idempotency notes, and no downstream chaining IDs returned. Schemas are valid JSON Schema but lack richness, no enum constraints, no pattern validation beyond basic min/max bounds.
Get detailed information about a specific Lottie animation, including animation data, preview images, and tags.
Get a list of currently popular Lottie animations.
Search for Lottie animations by keywords, tags, and other criteria. Supports pagination.
Descriptions are too brief (34 - 66 characters) and lack LLM-optimized guidance. Baseline for A-grade is 50 - 200 chars. Current descriptions do not explain WHEN to use each tool, what makes them distinct, or WHAT the output structure is.
No documented output schema. LLMs cannot plan downstream use or extract data without knowing response structure. Response is JSON but not formally declared in the tool definition.
No error handling guidance. callTool() throws 'Unknown tool' but returns no recovery hints. LLM-facing errors should be actionable (e.g., 'Animation not found. Try search_animations() to find the ID first.').
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | F | 0 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 40 | - | v1 |
search_animations lacks required parameter. The 'query' param has no 'required' field in the schema, LLM may omit it, causing an undefined search. Should be in the required array.
No pagination guidance in descriptions. Tools return count + items in JSON but do not state whether results are truncated or what total count means. Agents cannot determine if they should paginate further.
Parameter type annotation for 'query' in search_animations is missing the 'required' declaration, yet it is semantically required for search to be meaningful. Schema should list query in required array.