MCP server for Google's Gemini 2.5 Flash Image generation API with cross-platform support
Server has 6 tools with complete input schemas and descriptions. Naming follows verb_noun convention (configure_, generate_, edit_, get_, continue_). Descriptions are clear and action-oriented (avg ~120 chars), exceeding the 10-char minimum. However, output schemas are entirely undocumented, LLMs cannot predict what fields to expect from tool responses. Parameter descriptions are present but lack format constraints (e.g., no guidance on image file formats, path validation, or API key format). Error handling exists but lacks recovery guidance. No tool annotations (readOnlyHint, destructiveHint, idempotentHint) despite clear read/write semantics.
Configure your Gemini API token for nano-banana image generation
Continue editing the LAST image that was generated or edited in this session, optionally using additional reference images. Use this for iterative improvements, modifications, or changes to the most recent image. This automatically uses the previous image without needing a file path.
Edit a SPECIFIC existing image file, optionally using additional reference images. Use this when you have the exact file path of an image to modify.
Generate a NEW image from text prompt. Use this ONLY when creating a completely new image, not when modifying an existing one.
Check if Gemini API token is configured
Get information about the last generated/edited image in this session (file path, size, etc.). Use this to check what image is currently available for continue_editing.
Output schemas completely undocumented. LLMs cannot predict response structure (fields, types, nesting). Tools return CallToolResult with content array, but field names and types are invisible to the agent.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint). Tools like generate_image and edit_image are clearly destructive/write operations, but LLMs have no machine-readable signal. Agents cannot distinguish safe retries from irreversible actions.
Parameter descriptions lack format constraints. 'apiKey' has no guidance on length, character set, or validation rules. 'imagePath' has no specification of supported formats (PNG, JPEG, WebP?) or path validation. LLMs will pass invalid values.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 69 | 2026-07-28+ | v2 |
Error handling lacks recovery guidance. McpError responses include error codes and messages, but do not tell LLMs what to do next (retry? ask user? call another tool?). No actionable error messages.
Stateful session tracking (lastImagePath) violates stateless protocol design. MCP 2026-07-28 spec requires each request to be self-contained. Server maintains session state across calls, breaking compatibility with stateless clients.