Unofficial Harvey design-system atlas and reusable MCP blueprint for brand-governed UI, imagery, motion, and video.
Harvey MCP has well-structured tool definitions with consistent naming (verb_noun pattern) and comprehensive parameter schemas using enums and constraints. However, descriptions are often verbose (200-300+ chars) and lack LLM-optimized brevity. Output schemas are not explicitly documented in the visible code. Error handling is minimal, no recovery guidance or actionable error messages. Tools are READ_ONLY and well-scoped, but composition chains (e.g., compile_prompt → create_video_production_plan) lack explicit chaining hints in descriptions. Security is sound (no secrets in params), but audit trails and permission gates are absent.
Audit a production plan against Harvey brand rules, evaluation gates, and capability requirements.
Audit a rendered video against Harvey brand rules, color palette, typography, and asset usage.
Compile a plain-language task into a Harvey-aligned production prompt for UI, still images, motion graphics, or video.
Compile a Harvey-aligned HyperFrames brief for HTML timeline composition, motion graphics, and MP4 rendering.
Compile a Harvey-aligned motion graphics blueprint with timing, easing, color tokens, and typography rules.
Create a Harvey-aligned partnership announcement video plan with motion template, identity requirements, and publication checks.
Descriptions lack LLM-optimized brevity. Most descriptions exceed 200 chars (baseline p90=392 but median should be 50-200 for clarity). Example: 'Recommend the fal.ai API/MCP and HeyGen HyperFrames skills needed for Harvey image, motion, and video production, including official setup links and secret-handling guidance.' (156 chars) could be 'Recommend fal.ai API/MCP and HeyGen HyperFrames setup for image, motion, video production.' (90 chars). Verbose descriptions waste tokens and bury key intent.
Output schemas not documented in visible code. Tools return structured JSON (e.g., production plans, audit results) but no explicit schema definitions are visible for downstream tool chaining. LLMs cannot infer what fields to extract for follow-up calls (e.g., does create_video_production_plan return 'plan_id' or 'productionPlanId'?). This forces discovery calls and risks context loss.
Inferred effective spec: 2026-07-28+.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 61 | 2026-07-28+ | v2 |
Compile a Harvey-aligned video production plan with shot list, timing, asset requirements, and audit gates.
Retrieve an authorized Harvey asset file when the requested intended use is listed in its rights record.
Return tokens, rules, recipes, evaluation gates, and module guidance for one Harvey capability.
Recommend the fal.ai API/MCP and HeyGen HyperFrames skills needed for Harvey image, motion, and video production, including official setup links and secret-handling guidance.
Get the provider-specific adapter and preamble for a given format and provider combination.
List all Harvey assets with their metadata, rights, and availability status.
Suggest B-roll assets and shots based on Harvey brand guidelines and the video production plan.
Verify the SHA256 checksum of a local Harvey asset against its rights record.
No error handling or recovery guidance. Tools lack descriptions of failure modes, retryability, or actionable error messages. Example: audit_video_render could fail if video format is unsupported, but no guidance on what formats are valid or how to recover. Pattern: recovery-guide requires 'Try X instead' or 'This is retryable' classification.
Tool composition chains not documented. compile_prompt → create_video_production_plan → audit_production_plan is a clear workflow, but descriptions do not hint at this sequence or what data flows between tools. LLMs must infer the chain via trial-and-error, wasting tokens and risking wrong tool selection.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint). All 14 tools are READ_ONLY, but this is not declared in the tool definitions. Agents cannot distinguish safe tools from destructive ones without explicit annotations. This is a current MCP spec feature (2026-07-28) that should be present.