MCP server for generating images using OpenAI's DALL-E API and Stable Diffusion
Single tool 'generate-image' has a complete JSON Schema with proper types and descriptions for all parameters. However, the tool description is generic (67 chars) and lacks critical context about prerequisites (API key setup), side effects (file I/O), and when to use it. Parameter descriptions are present but minimal. No output schema is documented, the response structure is inferred from code. Error handling exists but lacks recovery guidance. The tool name 'generate-image' is clear and verb-based, but the overall definition quality is hampered by incomplete documentation and missing output schema specification.
Generate an image using Stable Diffusion based on a text prompt
Output schema not documented. Tool returns a text message with file path, but LLMs cannot plan downstream operations without knowing the response structure. Document the return type explicitly.
Tool description lacks critical context. Does not explain prerequisites (Stable Diffusion API key required), side effects (writes to filesystem), or when to use it vs alternatives. Descriptions should be 50-200 chars and answer WHAT, WHEN, and WHAT IT RETURNS.
Error messages lack recovery guidance. Code returns generic 'Error generating image: %v' without telling the LLM what to do next (retry? check API key? try different dimensions?). Errors should guide the agent toward resolution.
Parameter 'destination' description is vague about behavior when not provided. States 'saves to default folder if not provided' but does not explain the default path logic (HOME/Downloads or env var DEFAULT_DOWNLOAD_PATH). LLMs need explicit defaults.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 48 | <=2025-11-25 | v2 |
No input validation constraints documented. Width/height parameters accept any float64 but likely have API limits. Prompt parameter has no length limit stated. Undocumented constraints invite invalid LLM inputs.