Vetted, leak-free, SSR-safe 3D & motion components for Next.js — installed by your AI agent via MCP or CLI with AST-safe injection.
AnimAI defines 2 tools with clear verb-noun naming (search_*, fetch_*) and reasonable descriptions (150-180 chars). Both tools have input schemas with Zod validation and documented output schemas. However, parameter descriptions are minimal ('Flat natural-language motion query', 'Flat result limit', 'Flat template id'), and the fetch_motion_component tool has optional parameters without clear guidance on defaults or dependencies. Error handling exists but is basic (RegistryError catch returns text only). No tool annotations (readOnlyHint, idempotentHint) despite both being read-only operations. Output schemas are defined but not integrated into the MCP tool registration visible in mcp-tools.ts.
Returns the deterministic, pre-vetted source for one component: files to write, dependencies to install, and integration instructions. Never generate 3D/motion code from scratch when a vetted component matches.
Searches the AnimAI registry of vetted, leak-free, SSR-safe 3D and motion components (React Three Fiber, GSAP) for Next.js.
Parameter descriptions are vague and lack actionable constraints. 'Flat natural-language motion query' and 'Flat result limit' do not explain what constitutes a valid query, expected query length, or why limit is capped at 10. LLMs cannot infer these constraints from names alone.
fetch_motion_component has optional parameters (template_id, target_framework) with defaults applied inside the handler, but the descriptions do not state the defaults or explain when to omit them. LLMs may pass both parameters when only one is needed, or omit both and rely on undocumented defaults.
No tool annotations (readOnlyHint, idempotentHint) despite both tools being read-only and idempotent. This prevents MCP clients from optimizing caching, retry logic, or UI presentation. Current spec (2026-07-28) supports tool annotations; omitting them misses a production-readiness opportunity.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 60 | 2025-06-18+ | v2 |
Error handling is minimal. RegistryError is caught and returned as text, but no guidance is provided on recovery steps. If a template_id is invalid, the LLM receives only the error message with no suggestion to call search_motion_library first or list available templates.
Output schemas are defined in mcp-tools.ts but not visible in the MCP server registration code (src/mcp.ts not provided). Cannot verify that outputSchema is actually passed to the MCP SDK during tool registration, which is required for LLMs to understand response structure.