MCP server for generating images using Google Vertex AI Generative API with support for reference images, polling tasks, and GCS integration
Two tools with complete input schemas and descriptions, but significant gaps in parameter documentation and output schema clarity. generate_image has 16 parameters with minimal descriptions (many under 20 chars). poll_task is minimal. No output schemas documented. Error handling is basic (buildErrorResult returns generic text). Parameter relationships undocumented (e.g., referenceImages vs referenceImageUris vs referenceImagePaths are mutually exclusive but not stated). No enum constraints on string parameters like aspectRatio, imageSize, responseModalities despite fixed valid values. Tool names follow verb_noun pattern (good), but descriptions lack WHEN/WHY guidance for LLM selection.
Generate images using Google Vertex AI Generative API with optional reference images
Poll the status and result of an asynchronous image generation task
Parameter descriptions are too brief and lack constraints. aspectRatio, imageSize, responseModalities, and model are described in 1-2 sentences with no enum values, format patterns, or valid ranges. LLMs cannot infer valid inputs.
Mutually exclusive parameters (referenceImages, referenceImageUris, referenceImagePaths) are not documented as such. LLMs may pass multiple simultaneously, causing ambiguous behavior.
No output schema documented for either tool. generate_image returns CallToolResult with unspecified content structure. poll_task returns PollingTask status but LLMs cannot see the response shape.
Error handling is generic. buildErrorResult returns 'Nano Banana error: {message}' with no recovery guidance. LLMs cannot determine if errors are retryable, user-fixable, or fatal.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 43 | 2025-06-18+ | v2 |
Tool descriptions lack WHEN/WHY context. 'Generate images using Google Vertex AI...' states WHAT but not WHEN to call it vs alternatives or what prerequisites exist (e.g., GCS bucket required).