RunAPI InfiniteTalk MCP server for video generation: create tasks, poll results, and check pricing across 1 model from Claude Code, Codex, Cursor, and VS Code.
Two tools with minimal descriptions and incomplete parameter documentation. get_task has a 73-char description (below baseline 194 chars); check_pricing has 60 chars. Both parameter descriptions are present but terse. No output schemas documented. No error handling guidance. Tool names follow verb_noun pattern but lack context about what data is returned or when to use each tool. No tool annotations (readOnlyHint, etc.) despite both being read-only operations.
Look up RunAPI pricing for the infinitetalk model line.
Fetch the current status and latest result payload for a infinitetalk task.
Descriptions are too short (60 - 73 chars vs. baseline 194 chars). LLMs cannot determine when to select get_task vs. check_pricing or what data structure to expect. Descriptions lack WHAT, WHEN, and WHAT-IS-RETURNED context.
No output schema documented. Callers cannot know what fields get_task returns (e.g., does it include task.result, task.error, task.progress?). check_pricing output structure is undocumented.
No error handling guidance. If get_task fails (task not found, invalid endpoint), the error response does not tell the LLM what to do next. No recovery hints or error classification.
Tool annotations missing. Both tools are read-only (Risk: READ_ONLY in metadata) but lack readOnlyHint in schema. This prevents clients from optimizing caching or safety policies.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 52 | 2026-07-28+ | v2 |
Parameter 'action' in both tools has optional/default behavior but no clear guidance on what happens when omitted. get_task description says 'Defaults to the line's only asynchronous endpoint', but what if there are multiple endpoints? Undocumented dependency.