A production-ready MCP server for AI-powered image generation using Gemini 3 Pro Image (Nano Banana Pro) and Gemini 2.5 Flash Image with intelligent model selection
Server has 4 tools with mixed quality. Tool names follow verb_noun pattern (maintenance, generate_image, upload_file, output_stats). Maintenance tool has detailed schema with enums and constraints; generate_image and upload_file lack visible input schemas in provided code. Descriptions range from adequate (maintenance: 280 chars) to minimal (generate_image, upload_file: <50 chars). No output schemas documented. Error handling and recovery guidance absent. Tool composition is reasonable but parameter documentation incomplete for 2 of 4 tools.
Generate images using Gemini 2.5 Flash Image or Gemini 3 Pro Image with intelligent model selection
Perform maintenance operations following workflows.md patterns. Available operations: cleanup_expired (Remove expired Files API entries from database), cleanup_local (Clean old local files based on age/LRU), check_quota (Check Files API storage usage vs. ~20GB budget), database_hygiene (Clean up database inconsistencies), full_cleanup (Run all cleanup operations in sequence)
Get statistics about generated images and server output
Upload files to Google Files API for use in image generation and editing operations
generate_image and upload_file tools lack visible input schemas in source code. Cannot verify parameter types, constraints, or descriptions.
generate_image and upload_file have minimal descriptions (<50 chars). LLMs cannot determine when to select these tools or what they return.
No output schemas documented for any tool. LLMs cannot plan downstream calls or extract required fields. Maintenance tool returns unspecified structure; generate_image returns images + JSON but format undefined.
No error handling guidance. Tools lack recovery hints (e.g., 'If quota exceeded, call cleanup_expired'). Agents cannot self-correct on failures.
Inferred effective spec: 2025-06-18+.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 39 | 2025-06-18+ | v2 |
maintenance tool accepts 'operation' as free-form string with enum values only in description. Should declare as enum type in schema for LLM clarity and validation.