MCP server for image generation using Gemini 3 Pro Image model via Antigravity API
Server has 5 tools with visible schemas and descriptions. Tool names are action-verb based (generate_image, auth_status, auth_login, auth_logout, quota_status), which is good. However, descriptions vary significantly in quality and completeness. Parameter descriptions are present but some lack specificity about constraints and formats. The generate_image tool has the most comprehensive schema with proper type constraints (enums for aspect_ratio, min/max for count). Auth tools have simpler but adequate schemas. Output schemas are not explicitly documented, responses are formatted as text content without structured field documentation. Error handling is minimal; no recovery guidance or classification visible in the code. Security is a concern: auth_logout is destructive but has no confirmation pattern or dry-run option. Overall, this is a functional but not production-grade definition set.
Get instructions for authenticating with an image generation provider
Log out and delete stored credentials for an image generation provider
Check authentication status for an image generation provider
Generate images using AI. Supports multiple providers (Antigravity/Gemini, OpenAI DALL-E, etc.). Use 'model' parameter to specify provider:model format.
Check rate limit and quota status for an image generation provider
auth_logout is a destructive operation but lacks confirmation/dry-run pattern and does not warn that stored credentials will be permanently deleted. LLMs may invoke it without intent to do so.
Output schemas are not documented. Tools return text responses wrapped in generic {type: 'text', text: result.message} format, but the structure and fields of result.message are not specified. LLMs cannot plan downstream calls or extract structured data.
Error handling is not visible in tool implementations. No error classification (retryable vs fatal), no recovery guidance, no actionable error messages. Errors will likely propagate as raw exceptions.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | F | 11 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 46 | - | v1 |
auth_* tools accept 'provider' as a free-form string with description mentioning options, but no enum constraint enforces the valid set. LLMs may hallucinate invalid provider names (e.g., 'google', 'aws', 'anthropic') instead of picking from {antigravity, openai, stability, replicate}.
Tool descriptions for auth_* tools are very brief (10-15 chars before the description body). While not critically short, they could be expanded to include hints about when to call them and what they return, following the pattern:tool-description best practice of 50 - 200 character range.
generate_image accepts 'model' as a free-form string with format 'provider:model'. No regex pattern or enum validation visible. LLMs may pass invalid formats like 'gemini-3-pro-image' (missing provider prefix) or 'openai:gpt-4' (invalid for image generation).
generate_image has many optional parameters (model, aspect_ratio, output_path, file_name, input_image, count, session_id). No dependency documentation: e.g., input_image and prompt may conflict, or session_id is only relevant for Antigravity provider. Undocumented dependencies cause silent misuse.