MCP Bundle for Claude Desktop — generates images using Google Gemini API with async job queue, metadata stripping, and generation time estimation
Server has 4 tools with complete input schemas and descriptions. Naming follows verb_noun convention (generate_image, get_job_status, list_jobs, get_estimates). Descriptions are present and adequate (50-150 chars), explaining what each tool does. However, parameter descriptions lack detail on constraints, formats, and dependencies. Output schemas are not documented, LLMs cannot infer what fields to expect from responses. Error handling is minimal; no recovery guidance provided. No tool annotations (readOnlyHint/destructiveHint) despite clear semantic differences between write (generate_image) and read-only tools.
Generate an image using Google Gemini API with specified prompt, image size, and thinking level. Returns a job ID for async processing.
Get current generation time estimates for all image_size × thinking_level combinations, including sample counts from observed data.
Poll the status of an image generation job by job ID. Returns current status, file path if complete, or error details if failed.
List all image generation jobs with their current status, prompts, and metadata.
Output schemas not documented. LLMs cannot infer response structure (fields, types, pagination). Forces agents to guess what data is available after each call.
Parameter descriptions lack constraint details. 'image_size' enum is declared but no description explains why sizes matter or what output dimensions result. 'thinking_level' enum lacks explanation of performance/quality tradeoff.
No tool annotations. generate_image is destructive (WRITE risk) but lacks destructiveHint. get_job_status, list_jobs, get_estimates are read-only but lack readOnlyHint. Agents cannot distinguish safe from unsafe tools without reading descriptions.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 50 | 2026-07-28+ | v2 |
Error handling absent. No guidance on retryability, user-fixable errors, or recovery steps. If generate_image fails (API timeout, quota exceeded, invalid prompt), agent has no actionable next step.
list_jobs and get_estimates lack pagination parameters (limit, offset, cursor). If job count grows large, returning all jobs in one response will exhaust context window.