MCP server that provides image generation capabilities using multiple providers: Google Gemini (Nano Banana) and Azure OpenAI (Flux/gpt-image-1). Generates images from text prompts and UI/app mockups for Claude Code integration.
Server has 3 tools with complete schemas and descriptions. Tool names follow verb_noun pattern (generate_image, generate_ui_image, list_generated_images). Descriptions are detailed (150-250 chars) and explain WHAT/WHEN/WHY. All parameters have type definitions and descriptions. However, output schemas are not formally documented, responses are inferred from code. Error handling is minimal (no recovery guidance, no error categorization). No tool annotations (readOnlyHint, destructiveHint, idempotentHint). Parameters lack validation constraints (e.g., size format, quality enum mapping per provider). Missing dependency hints and chaining IDs in responses.
Generate an image from a detailed text prompt using Google Gemini (default) or Azure OpenAI. Google Gemini (Nano Banana) is fast and free-tier friendly. Azure supports Flux/gpt-image-1 with more control. Supports various sizes and quality settings. Returns the file path to the generated image. IMPORTANT: Provide detailed, descriptive prompts (at least 10 characters).
Generate a UI/app screenshot or mockup image. Specialized for creating realistic user interface designs for mobile apps, web apps, dashboards, landing pages, etc. Perfect for building prototypes and mockups. IMPORTANT: Provide detailed descriptions (at least 20 characters) for best results.
List all previously generated images with their file paths, sizes, and creation dates. Useful for reviewing past generations.
Output schemas not formally documented. Responses are inferred from code (text + image content for generate_* tools, file list for list_generated_images). LLMs cannot plan downstream operations without knowing return structure.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint). generate_image and generate_ui_image are destructive (write files), but this is not declared. Agents cannot reason about side effects or retry safety.
Error handling lacks recovery guidance. No error categorization (retryable vs user-fixable vs fatal). If image generation fails, the LLM receives no actionable next step.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 62 | 2026-07-28+ | v2 |
list_generated_images has empty input schema (no parameters). Description is vague ('List all previously generated images'), does not explain when to call it or what structure it reveals. Baseline: 100% of A+ tools have param descriptions.
Parameter constraints not enforced. 'size' accepts free-form strings (e.g., '1024x768') but description says 'Flux: 256-1440, must be multiple of 32', no validation. LLMs will pass invalid sizes; tool must validate and return actionable errors.