A production-ready MCP server for AI-powered image generation and editing using Google's Gemini 3.1 Flash Image and Gemini 3 Pro Image models with intelligent model selection
The server provides 4 tools with clear naming and mostly complete schemas. Tool names follow verb-noun conventions (generate_image, upload_file, output_stats, maintenance), which is good. Descriptions are present and substantive (90-180 chars), meeting baseline expectations. However, several parameter descriptions are underdeveloped or vague, output schemas are not documented, and error handling guidance is absent. Tool composition is reasonable but the server lacks explicit error recovery patterns and confirmation safeguards for destructive operations.
Generate images using Gemini's image generation capabilities with intelligent model selection
Perform maintenance operations including cleanup of expired Files API entries, local file cleanup based on age/LRU policy, storage quota checks, and database hygiene
Retrieve statistics about generated images and server output, including total count, storage usage, and metadata
Upload image files to Gemini's Files API for use in image generation and editing operations
Output schemas not documented for any tool. LLMs cannot plan downstream chaining or extract specific fields from responses.
maintenance tool performs destructive operations (cleanup_expired, cleanup_local, database_hygiene, full_cleanup) with only a dry_run boolean flag. No explicit confirmation or recovery guidance for irreversible actions.
Parameter descriptions lack actionable constraint details. Example: 'aspect_ratio' lists options ('Square image', 'Portrait', 'Landscape', '16:9', '4:3') in description text rather than enforcing enum constraint in schema. format and pattern fields not visible in schema definitions.
No error handling guidance visible. Error responses should tell the LLM what to do next (retryable, user-fixable, fatal), but no recovery patterns or actionable error messages are documented.
Inferred effective spec: 2025-06-18+.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | D | 51 | 2025-06-18+ | v2 |
| 2026-03-09 | D | 51 | - | v1 |
upload_file parameter descriptions do not specify file size limits, allowed MIME types beyond the list ('image/png, image/jpeg, image/webp, image/gif'), or handling of unsupported formats.
maintenance tool parameter 'operation' uses enum constraint, but descriptions of each operation are minimal and scattered. 'cleanup_expired' lacks explanation of what 'expired' means in context (Files API TTL? timestamp-based?).
No dependency hints documented. E.g., upload_file uploads to Gemini's Files API, but it's unclear when to call it vs. passing a file path directly to generate_image, or whether both workflows are supported.