MCP server for Gemini image generation and transformation
This server defines 2 tools with reasonable naming (verb_noun pattern) and basic descriptions, but has critical gaps in schema documentation, parameter descriptions, and error handling. Tool descriptions are adequate (60-100 chars) but parameter documentation is sparse or missing. Input schemas are visible in the source but lack proper JSON Schema structure with type definitions and per-parameter descriptions. No output schemas are documented. Error handling is minimal, the code catches exceptions but returns generic error messages without recovery guidance. The tools themselves are functional image generation/transformation operations, but the MCP interface lacks the rigor expected for production use.
Generate an image based on the given text prompt using Google's Gemini model.
Transform an existing image based on the given text prompt using Google's Gemini model.
Input schemas lack proper JSON Schema structure with type definitions. Parameters are shown but without formal 'type', 'required', or 'properties' declarations. The 'prompt' parameter in both tools has a description but no explicit type field in the schema object.
Output schemas are completely undocumented. LLMs cannot predict what these tools return (file path? base64 image data? URL?). The code mentions saving images and uploading to ImgBB, but the response format is not declared.
Destructive tools (generate_image_from_text, transform_image_from_resource) lack tool annotations or confirmation patterns. These tools write to disk and may consume API quota. No destructiveHint or confirmation_request pattern is evident.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | F | 40 | <=2025-11-25 | v2 |
| 2026-03-09 | F | 32 | - | v1 |
Error handling returns raw exception messages ('Error calling Gemini API: {str(e)}') without actionable recovery guidance. LLMs cannot determine if an error is retryable, user-fixable, or fatal. Missing error classification and recovery hints.
Parameter 'image_uri' in transform_image_from_resource lacks format constraints and validation guidance. No description states whether it accepts URLs, file paths, or resource URIs. No enum or pattern constraint.
Tool descriptions do not state WHEN to use each tool or how they differ. Both tools generate/transform images, the distinction is clear from names but not explained in descriptions. Missing dependency hints and use-case guidance.