MCP server for image generation using Gemini on Vertex AI
Single tool with strong fundamentals: clear verb-noun naming (generate_image), detailed description (164 chars), complete input schema with all parameters typed and described, proper enum constraint for aspect_ratio, and good error handling with actionable messages. Output structure is well-formed with both text and image returns. However, some minor gaps prevent a higher score: output schema is not formally documented in code comments, parameter descriptions include example file paths (which LLMs may reuse literally), and no idempotent/destructive annotations despite write risk. The tool correctly handles secrets via environment variables (GEMINI_API_KEY, VERTEX_PROJECT).
Generate an image from a text prompt using Gemini. The image is saved to the specified file path and also returned inline. Supports various aspect ratios.
Output schema structure not formally documented. While the code returns a well-formed response with text and image content blocks, there is no JSDoc or TypeScript type export documenting the return shape for LLMs to understand the structure and plan downstream operations.
Parameter descriptions include example file paths (e.g., 'C:/Users/palan/Pictures/output.png'). LLMs tend to reuse example values literally rather than adapt to context, risking hardcoded paths in actual calls. Replace with format/constraint description instead.
Tool performs destructive file I/O (writes to disk) but lacks explicit destructive/idempotent annotations. The tool is not idempotent (repeated calls overwrite the file), and this should be declared to agents via toolAnnotations (destructiveHint: true) per MCP spec.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | C | 62 | 2026-07-28+ | v2 |
| 2026-03-09 | D | 58 | - | v1 |
No pagination or result limits documented.
Missing scope/permission declaration. The tool requires Gemini API access (via GEMINI_API_KEY or Vertex AI credentials) but does not document required scopes or permissions in its description, limiting audit trail clarity.