MCP Server for NanoBanana AI Image Generation via AceDataCloud API
This MCP server demonstrates solid definition quality with well-structured tool schemas and comprehensive parameter documentation. All 4 tools have explicit JSON Schema definitions with proper type declarations and field descriptions. Tool naming follows verb_noun conventions and is action-oriented. Descriptions are generally thorough and context-aware, exceeding the 10-1024 character baseline. However, there are notable gaps: output schemas are not formally documented (responses are returned as formatted strings rather than structured objects), error handling lacks recovery guidance, and tool annotations (readOnlyHint/destructiveHint) are absent despite the tools being read-only operations. The server follows good practices for parameter constraints (enums, min/max) but could improve composition by separating polling from generation concerns.
Edit or combine images using AI based on a text prompt. This allows you to modify existing images or combine multiple images together. Perfect for virtual try-on, product placement, image enhancement, and more. Use this when: - You want to combine multiple images (e.g., person + clothing) - You want to modify an existing image - You need virtual try-on (putting clothes on a person) - You want to place products in different scenes - You need to change attributes (materials, colors, styles) Common use cases: - Portrait replacement: Try different clothing on same person - Product scene composition: Place products in realistic environments - Attribute replacement: Change materials, colors, or variants - Poster editing: Rapidly change styles or themes - 2D to 3D conversion: Convert images to 3D product mockups - Image restoration: Restore old or damaged photos Returns: Task ID, trace ID, and edited image URL.
Generate an AI image from a text prompt using Google's Nano Banana model. This creates high-quality images from detailed text descriptions. The more descriptive your prompt, the better the results. Use this when: - You want to generate a new image from scratch - You have a detailed description of the desired image - You need photorealistic or artistic image generation Prompt writing tips: - Include: Main subject + Atmosphere + Lighting + Camera/Lens + Quality keywords - Example: "Urban career woman, backlit sunlight, film grain, orange-gold tones, hopeful dawn" Returns: Task ID, trace ID, and generated image URL.
Query the status and result of an image generation or edit task. Use this to check if a generation/edit is complete and retrieve the resulting image URLs and metadata. Use this when: - You want to check if an image generation has completed - You need to retrieve image URLs from a previous generation - You want to get the full details of a generated/edited image Returns: Task status and image information including URLs and prompts.
Output schemas not formally documented. Tools return formatted strings rather than structured objects with typed fields. LLMs cannot plan downstream operations or extract specific fields reliably.
Tool annotations absent. All 4 tools are read-only (risk: READ_ONLY declared) but lack readOnlyHint in schema. This prevents LLMs from understanding operation safety and planning retry strategies.
Error handling lacks recovery guidance. No documented error responses, error classification (retryable vs user-fixable), or actionable next steps. If API call fails, LLM has no guidance.
Inferred effective spec: 2026-07-28+.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | C | 69 | 2026-07-28+ | v2 |
| 2026-03-09 | B | 70 | - | v1 |
Query multiple image generation/edit tasks at once. Efficiently check the status of multiple tasks in a single request. More efficient than calling nanobanana_get_task multiple times. Use this when: - You have multiple pending generations to check - You want to get status of several images at once - You're tracking a batch of generations Returns: Status and image information for all queried tasks.
API key/credentials handling not visible in tool definitions. If credentials are passed as environment variables, documentation is missing. If passed as parameters, this is a security violation (pattern:secret-injection).
Tool composition concern: get_task and get_tasks_batch are polling tools that should follow a standard pagination/async pattern, but lack documented status codes or result formats. LLMs cannot reliably detect task completion.
Parameter 'callback_url' in generate_image and edit_image is optional and underdocumented. No guidance on format, success response format, retry semantics, or when LLM should prefer async vs synchronous polling.
Resolution parameter description says 'Only works with nano-banana-pro model' but no validation is documented. If LLM passes resolution with wrong model, what error does it get? How should it recover?