Server has 7 tools with basic schemas and descriptions, but significant gaps limit production readiness. All tools have descriptions (10-200 chars, within baseline range), and most have input schemas. However, parameter descriptions are sparse or missing entirely. Tools like generate_avatar_video_with_multiple_scenes expose complex nested objects (VideoInput, Character, Voice, Dimension) without inline parameter documentation. Error handling is generic (catch-all Exception → error field) with no recovery guidance. No tool annotations (readOnlyHint, destructiveHint, idempotentHint) despite clear risk distinctions (5 READ_ONLY vs 2 WRITE). Output schemas are not documented. Tool names follow verb_noun convention (get_*, generate_*) but lack clarity on when to use similar tools (e.g., generate_avatar_video vs generate_avatar_video_with_multiple_scenes).
Generates a new avatar video via the HeyGen API.
Generates a new avatar video via the HeyGen API. with multiple scenes.
Retrieves a list of HeyGen avatar groups. By default, only private avatar groups are returned, unless include_public is set to true. Avatar groups are collections of avatars, avatar group ids cannot be used to generate videos.
Retrieves the status of a video generated via the HeyGen API. Video status make take several minutes to hours depending on length of video and queue time. If video is not yet complete, status be viewed later by user via https://app.heygen.com/home
Retrieves a list of avatars in a specific HeyGen avatar group.
Complex nested parameter schemas lack inline descriptions. generate_avatar_video_with_multiple_scenes accepts VideoInput array with nested Character and Voice objects, but no parameter-level documentation explains what each field controls or when to use avatar_style, scale, or voice type variants.
No tool annotations despite clear risk distinctions. 5 tools are READ_ONLY (safe to retry), 2 are WRITE (irreversible). Missing readOnlyHint and destructiveHint annotations prevent agents from reasoning about retry safety and confirmation requirements.
Generic error handling with no recovery guidance. All tools catch Exception and return error field, but do not categorize errors (retryable vs user-fixable vs fatal) or suggest next steps. E.g., 'HEYGEN_API_KEY not set' should suggest 'Set HEYGEN_API_KEY environment variable.'
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 53 | 2026-07-28+ | v2 |
Retrieves the remaining credits in heygen account.
Retrieves a list of available voices from the HeyGen API. Results truncated to first 100 voices. Private voices generally will returned 1st.
Ambiguous tool naming for video generation. generate_avatar_video and generate_avatar_video_with_multiple_scenes both create videos but differ in scene count. LLMs may conflate them. Rename to clarify: generate_single_scene_video vs generate_multi_scene_video, or add explicit 'single vs multiple' to descriptions.
Output schemas not documented. Tools return MCPGetCreditsResponse, MCPVoicesResponse, etc., but response field structures are not visible in source. LLMs cannot plan downstream calls or extract required IDs without knowing what fields are returned.