RunAPI Hailuo MCP server for video generation: create tasks, poll results, and check pricing across 6 model variants from Claude Code, Codex, Cursor, and VS Code.
Two tools with basic schemas and descriptions, but significant gaps in parameter documentation and error handling. get_task has optional parameters with minimal guidance on defaults and dependencies. check_pricing lacks clarity on what 'model' and 'action' mean in context. Neither tool documents output structure or error recovery paths. Descriptions are present but generic (avg ~80 chars, below 194-char baseline). No tool annotations, no idempotency hints, no permission scopes declared. Error handling visible in code (friendlyError calls) but not surfaced in tool definitions.
Look up RunAPI pricing for the hailuo model line.
Fetch the current status and latest result payload for a hailuo task.
Parameter descriptions lack actionable constraints. 'action' param in both tools described only as 'Asynchronous endpoint' or 'Endpoint name' with no enum, format, or valid-value guidance. LLMs cannot infer which endpoints are valid.
Output schemas not documented. Neither tool specifies what fields the response contains (e.g., get_task returns {task_id, status, task} but this is inferred from code, not declared in tool definition). LLMs cannot plan downstream calls without knowing response structure.
Default behavior for optional 'action' parameter in get_task is ambiguous. Description says 'Defaults to the line's only asynchronous endpoint' but does not explain what happens if multiple endpoints exist or if the default is wrong. No recovery guidance.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 57 | 2026-07-28+ | v2 |
No tool annotations (readOnlyHint, idempotentHint). Both tools are read-only and idempotent, but this is not declared. Agents cannot distinguish safe tools from destructive ones without explicit hints.
check_pricing description is vague ('Look up RunAPI pricing') and does not explain when to call it vs other tools, what 'pricing' means (cost per token? per request?), or what the response contains. Below 20-char threshold for actionable guidance.