Post-edit / text / infographic / multi-reference image work. Provides tools for image generation, editing, text overlay, link CTAs, infographics, and refinement via OpenAI's vision and image APIs.
Server has 8 tools with complete input schemas and descriptions. Naming follows verb_noun convention (upload_image, generate_image, etc.). Descriptions are detailed (100-250 chars) and explain WHAT the tool does and WHEN to use it. However, parameter descriptions lack actionable constraints (e.g., aspect_ratio enum values are listed but not formally constrained; quality lacks min/max for count). Output schemas are documented in code comments but not exposed in tool definitions. Error handling is minimal, no recovery guidance or categorization. Security: no evidence of secret injection for API keys (OpenAI key likely in env, but not validated in code). Composition is sound, each tool has one responsibility. Missing: pagination for multi-image responses, idempotency hints, permission gates.
Composite a call-to-action (CTA) button or link deterministically over an image. Zero API cost, exact URL rendering. Supports button, bar, pill, and underlined-link styles with color schemes.
Composite text deterministically over an image using PIL. Zero API cost, exact character rendering. Supports multiple styles (headline, badge, caption, watermark) and positions.
Composite multiple images into a single canvas. Supports grid layouts, aspect ratio control, and quality settings.
Create an infographic by generating an AI background and compositing deterministic text layers. Supports portrait-stat, landscape-comparison, and square-list layouts.
Edit an existing image using OpenAI's image edit API. Supports inpainting with a mask and a text prompt describing the desired changes.
Enum constraints not formally declared in schemas. aspect_ratio and quality parameters list valid values in descriptions but lack JSON Schema enum arrays. LLMs cannot parse prose constraints reliably.
Output schemas documented in code comments but not exposed to MCP clients. Tool definitions lack explicit 'output' schema declarations. Agents cannot plan downstream calls or extract fields reliably.
No error recovery guidance. Tool descriptions do not explain what to do if generation fails, API rate limits, or invalid inputs. Agents receive raw errors with no actionable next steps.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 62 | 2026-07-28+ | v2 |
Generate one or more images from a text prompt using OpenAI's image generation API. Requires aspect_ratio and quality intake before calling.
Refine a previously generated image using OpenAI's Responses API. Chain via previous_response_id or image_generation_call_id with a refinement prompt.
Accept an image file (bytes or URL), store it locally with HMAC-signed URL, optionally upload to cloud storage (S3/GCS). Returns asset_id (durable opaque ref) and image_url (signed or durable).
Missing idempotency hints and destructive operation markers. generate_image, edit_image, and refine_image modify state (consume API quota, create new assets) but lack toolAnnotations (destructiveHint, idempotentHint) to guide agent retry logic.
Parameter count constraints missing. composite_images accepts 'images' array with no documented min/max length. create_infographic 'content' object structure not formally defined. Agents may pass invalid payloads.