O MCP Image Server é um servidor MCP desenvolvido em TypeScript para gerar imagens customizadas e ícones prontos para projetos, utilizando IA (inicialmente DALL-E) e entregando arquivos nos formatos .png, .svg, .ico, entre outros. Pronto para uso via npx e integração com MCP Client.
The server defines 2 tools with reasonable naming and schema coverage, but has significant gaps in parameter descriptions, lacks output schema documentation, and provides minimal error recovery guidance. Tool names (generate-image, generate-favicon) appropriately start with verbs and clearly convey intent. Input schemas use Zod with enum constraints for valid values (format, size, background), which is good. However, parameter descriptions are minimal, output structure is not formally documented, and error messages are generic.
Generates a custom favicon.ico from a textual prompt using AI (GPT Image 1).
Generates a custom image using AI (GPT Image 1) and delivers it in the requested format (.png, .svg, .ico).
Output schema not documented. The response can be either text (SVG) or image (PNG/ICO) but the tool definition does not formally declare this union. LLMs cannot plan downstream operations or extract specific fields without knowing the response structure.
Parameter descriptions lack detail on format/constraints. 'directory' accepts 'Full path of the directory' but does not validate or guide the LLM on absolute vs relative paths, platform-specific formatting, or what happens if the directory does not exist. The description mentions 'The path must be absolute' but does not explain the failure mode if a relative path is passed.
No error classification or recovery guidance. The error handler returns a generic text response with isError: true, but does not distinguish between retryable errors (API rate limit, transient network failure) and user-fixable errors (invalid prompt, missing OPENAI_API_KEY). LLMs receive no guidance on next steps.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | F | 11 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 43 | - | v1 |
OPENAI_API_KEY exposed in source and validated at runtime, but the validation message 'OPENAI_API_KEY not defined or invalid' could be more actionable. Better: 'Set OPENAI_API_KEY environment variable with a valid OpenAI API key (at least 10 characters)'.
No idempotency guarantee documented. Calling generate-image twice with identical parameters will generate two different images (even though prompt is the same) because DALL-E API is non-deterministic by design. Tools should declare idempotency status so LLMs know whether retries are safe.
File write side effect not clearly flagged. Descriptions say 'delivers it in the requested format' but do not emphasize that files are written to disk. The 'Risk: WRITE' classification in the rubric metadata is correct, but the tool description should state 'This tool saves a file to disk at the specified directory path.'
Parameter 'size' enum values (1024x1024, 1536x1024, 1024x1536) are not explained in context. The description does not clarify that these are the only sizes supported by the OpenAI API, or that aspect ratios matter for composition. LLMs may infer that any WxH is valid.