RunAPI GPT Image MCP server for image generation: create tasks, poll results, and check pricing across 1 model from Claude Code, Codex, Cursor, and VS Code.
Two tools with minimal descriptions (both under 100 chars) and incomplete parameter documentation. get_task has a vague description that doesn't explain when to use it or what it returns. check_pricing lacks context on what 'pricing' means (cost per call? rate limits?). Both tools have sparse parameter descriptions. No output schemas documented. No error handling guidance. Tool names follow verb_noun pattern but descriptions fail to meet LLM-optimization standards (50-200 chars baseline). No tool annotations (readOnlyHint, etc.) despite both being read-only operations.
Look up RunAPI pricing for the gpt-image model line.
Fetch the current status and latest result payload for a gpt-image task.
Descriptions are too brief and lack context. 'Fetch the current status and latest result payload for a gpt-image task' (79 chars) does not explain when to call this tool, what 'status' values mean, or what fields are in the result payload. LLMs need 50-200 char descriptions with WHAT, WHEN, and WHAT-YOU-GET.
Output schemas are not documented. Neither tool specifies what fields the response contains. LLMs cannot plan downstream calls or extract data without knowing the response structure. get_task should document task object fields; check_pricing should document pricing fields.
Parameter descriptions are minimal. 'action' param in both tools is described as 'Asynchronous endpoint the task was created on' and 'Endpoint name' respectively, vague and inconsistent. No guidance on valid values, format, or when to omit (defaults).
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 50 | 2026-07-28+ | v2 |
No error handling guidance. If task_id is invalid or pricing lookup fails, what should the LLM do? Retry? Call a different tool? No recovery hints provided.
Tool annotations missing. Both tools are read-only (Risk: READ_ONLY noted in metadata) but no readOnlyHint annotation in schema. This prevents clients from optimizing caching or parallelization.