MCP server for Gemini 3.1 Flash image generation with support for single and batch image generation, reference images, Google Search integration, and configurable output formats
Two tools with complete input schemas and reasonable descriptions. Naming follows verb_noun pattern (generate_image, batch_generate_images). Schemas are well-structured with enums for constrained inputs (aspect_ratio, image_size, output_format, thinking_level). However, descriptions are minimal (single sentence, ~30 chars each), falling below the 50-200 char LLM-optimized baseline. Parameter descriptions are present but terse. No output schema documented. Error handling is absent from visible code, no recovery guidance or actionable error messages. Tool composition is reasonable (batch variant exists), but descriptions lack context on when to use each tool or what to expect in responses.
Batch image generation for multiple prompts.
Single-image generation.
Tool descriptions are under 20 characters and lack LLM-optimized context. 'Single-image generation' and 'Batch image generation for multiple prompts' do not explain WHEN to use each tool, what prerequisites exist, or what the output structure is.
No output schema documented. LLMs cannot plan downstream operations or extract fields from responses. Visible code saves images to disk and returns a dict with 'index', 'path', 'filename', 'size', 'timestamp', this structure must be declared in the tool definition.
No error handling or recovery guidance visible. ValidationError exceptions are raised but not caught or translated into actionable LLM-friendly messages. E.g., 'Invalid aspect_ratio' should return 'Invalid aspect_ratio: got "X", must be one of: 1:1, 1:4, ...'
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 44 | <=2025-11-25 | v2 |
Parameter descriptions are minimal and lack format/constraint details. E.g., 'reference_image_paths' says 'List of file paths' but does not explain accepted formats (PNG, JPEG, WebP?), size limits (20 MB each), or count limits (max 14) in the description text, LLMs cannot read JSON Schema constraints.
No idempotency or dry-run support for image generation. If an LLM retries a failed call with identical parameters, it may generate duplicate images. No confirmation step or dry-run mode to prevent accidental resource waste.