MCP server for Claude Code that enables AI image generation via OpenRouter API. Supports multiple models including OpenAI GPT-5 Image and Google Gemini 2.5 Flash Image.
Server provides two tools with explicit schemas and descriptions. Both tools have well-documented parameters with types and constraints. However, there are notable gaps in output schema documentation, error handling guidance, and parameter descriptions lack some actionable detail. The generate_image tool accepts file operations (save_to_file, filename) without documenting expected behavior on success/failure or output format. No per-tool error messages or recovery guidance. Naming follows verb_noun convention adequately (generate_image, list_models), though descriptions are somewhat generic. Parameter schemas are properly typed with enums for model selection.
Generate images via OpenRouter using configurable models (OpenAI GPT-5 Image, GPT-5 Image Mini, Gemini Flash Image, Gemini Flash Image Preview).
List available OpenRouter image generation models and their descriptions.
Missing output schema documentation for both tools. LLMs cannot plan downstream operations without knowing what fields to expect. generate_image returns image data but structure is undocumented. list_models presumably returns model list but field names, structure, and pagination are not specified.
No error handling guidance or recovery instructions. Code references error handling but tool descriptions contain no mention of what happens on API failures, invalid credentials, or rate limits. LLMs receive only the raw error with no actionable next steps.
generate_image description lacks detail on how file operations work. What is the output format when save_to_file=true? What directory? What if save fails? What does show_full_response contain? The description is incomplete for users to understand side effects.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | D | 57 | <=2025-11-25 | v2 |
| 2026-03-09 | F | 45 | - | v1 |
list_models has empty inputSchema properties but minimal description. It should document what the response structure contains, what information each model includes (model_id, supported_features, pricing, etc.), and whether results are paginated.
prompt parameter description instructs users to include style details 'directly in the prompt' but no guidance on prompt length limits, token budgets, or what happens if prompt exceeds model limits. This is a hidden constraint that should be documented.
filename parameter lacks description of expected format, allowed characters, max length, and whether extension is auto-appended or user-supplied. The description is too vague ('Base filename') for reliable agent behavior.