MCP server for Gemini 3 Nano Banana Pro image generation
This server defines 3 image manipulation tools with complete input schemas and consistent descriptions. Tool naming is clear and verb-based (generate_image, edit_image, describe_image). All parameters have type definitions and descriptions. However, there are notable gaps: output schemas are not documented, error handling lacks recovery guidance, and parameter descriptions could be more detailed about constraints and formatting. The server accepts base64-encoded images as parameters, which is reasonable for this domain, but lacks guidance on image size limits or encoding requirements. Descriptions are adequate (100-150 chars) but fall short of LLM-optimization baselines (target 50-200 chars).
Analyze and describe one or more images using Google Gemini. Returns a text description of the image contents.
Edit one or more images using Google Gemini. Provide images and instructions for how to modify them. Returns a base64-encoded image.
Generate an image using Google Gemini. Optionally provide reference images to guide the generation style or content. Returns a base64-encoded image.
Output schemas not documented. LLMs cannot plan downstream operations or extract data from base64-encoded image responses without knowing the structure.
Error handling lacks recovery guidance. Tool implementations (in gemini.js, not shown) likely return raw API errors or stack traces instead of actionable error messages that guide the LLM on next steps.
Parameter descriptions lack formatting constraints. 'Base64 encoded image data' does not specify maximum payload size, allowed MIME types beyond examples, or line-break handling. This invites LLM hallucinations of oversized or malformed inputs.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | C | 68 | 2026-07-28+ | v2 |
| 2026-04-07 | F | 16 | - | v1 |
Model parameter is optional with a default but lacks clear documentation of which models support which features (e.g., image generation vs. editing). Ambiguous defaults may cause silent feature degradation.
The outputPath parameter allows arbitrary filesystem writes. No validation visible in schema to prevent path traversal attacks (e.g., '../../../etc/passwd'). This is a security gap.