RunAPI Runway 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 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 schema structure. No error recovery guidance. Descriptions are present but generic (baseline: 194 chars avg; these are ~80-100 chars). Parameters lack type constraints (enums, ranges). No validation rules visible in tool definitions.
Look up RunAPI pricing for the runway model line.
Fetch the current status and latest result payload for a runway task.
Parameter descriptions lack actionable constraints. 'action' parameter in both tools has minimal guidance on valid values, format, or when to omit. LLMs cannot infer whether to pass 'endpoint_name', 'service/endpoint', or leave blank.
Output schema not documented. Neither tool specifies what fields the response contains, their types, or structure. LLMs cannot plan downstream tool calls or extract required data without seeing actual response examples.
No error recovery guidance. Code shows friendlyError() wrapping, but tool descriptions do not explain what errors are possible, whether they are retryable, or what the LLM should do next (e.g., 'Task not found. Verify task_id matches the ID returned when the task was created.').
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 49 | 2026-07-28+ | v2 |
Optional parameter defaults not explained. get_task's 'action' parameter is optional when only one async endpoint exists, but the description does not state which endpoint is the default or how the LLM should know when to omit it.
Parameter naming ambiguity. 'action' in both tools is vague, does it mean endpoint name, endpoint slug, or something else? Baseline: parameter names should be suffixed with type (e.g., 'action_name', 'endpoint_slug') to avoid LLM confusion.