MCP server for OpenAI GPT image generation and editing
Single tool 'create-image' has a well-structured schema with comprehensive parameters, clear enum constraints, and detailed descriptions. However, the tool description, while present, is somewhat generic and could better explain when to use it vs alternatives or error recovery paths. Parameter descriptions are generally good but some lack actionable detail (e.g., 'User identifier for tracking' doesn't explain what this is used for). Output documentation is absent, the tool returns base64 or file paths but no schema is documented for what the response structure contains. Error handling is basic (throws Error with messages) but lacks recovery guidance or categorization. Composition is good: one focused tool doing one thing. Overall definition quality is above average but falls short of production-grade due to missing output schema documentation and incomplete error recovery guidance.
Generate images using OpenAI's GPT image model with support for various parameters including size, quality, format, and moderation options
Output schema is not documented. Tool accepts 'output' parameter (base64 or file_output) but the response structure is not defined. LLMs cannot predict what fields are returned or plan downstream operations.
Error handling lacks recovery guidance. Errors thrown are raw Error objects with messages like 'Invalid size...' but no actionable next steps. Should categorize errors (retryable vs user-fixable) and suggest recovery paths.
Parameter 'user' has minimal description ('User identifier for tracking'). It's unclear what this ID is used for, what format is expected, or whether it's required for audit trails or billing.
Tool description does not mention that this operation performs API calls to OpenAI and may incur charges. Users should know this is not a free/side-effect-free operation. Descriptions of state-modifying tools should declare consequences.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | D | 58 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 0 | - | v1 |
Size parameter description mentions aspect ratios in the enum list ('1:1, 16:9, ...') but the schema enum does NOT include these values, they are parsed client-side. This creates a disconnect: the description promises ratios the schema rejects, forcing LLMs to guess or fail.
Constraint interdependency not fully documented: 'If background is transparent, output_format must be png or webp.' This is enforced in code but the description for 'output_format' does not mention this dependency, forcing LLMs to discover it via trial-and-error.
No rate-limiting, timeout, or quota guidance in the tool. If an agent calls this repeatedly, there is no protection against runaway costs or API throttling. Tool should document rate limits and best practices.