MCP Image Server Test - generates images based on English descriptions using the Flux 1 Schnell model
Single tool with critical definition gaps. Tool name 'image_generation' lacks action verb prefix (should be 'generate_image'). Description is 600+ chars in Chinese with embedded parameter docs, verbose and not LLM-optimized. Input schema present but minimal: only 'image_prompt' (string) with Chinese description. No output schema documented, tool returns dict with 'path' or 'error' keys, but structure is undocumented. Error handling returns raw dicts with 'error' and 'code' fields; no recovery guidance. No parameter constraints (min/max length, format validation). Tool performs external API call with 30s timeout but no timeout error handling documented. No idempotency guarantees stated. Security: API endpoint is environment-injected (good), but no rate limiting, no audit logging, no permission checks.
根據英文描述生成具備文章意境的圖片,並將圖片儲存至本地。 參數: image_prompt (str): 用於生成圖片的英文描述。建議使用具體且生動的語句,並盡量體現文章的主題意境或氛圍。 例如: 'A lonely lighthouse standing on a stormy coast, with dark clouds and crashing waves, evoking a sense of solitude and resilience.' 回傳: str: 生成圖片的本地檔案路徑,例如 '/tmp/generated_image.png'。 注意事項: - 請確保 image_prompt 內容為英文。 - 描述應盡量具體,並能傳達文章的情感、氛圍或主題。 - 回傳值僅包含圖片檔案的本地路徑。
Tool name lacks action verb. 'image_generation' should be 'generate_image' to signal intent and follow verb_noun convention.
Description is 600+ chars in Chinese with embedded parameter docs. Not LLM-optimized. Should be 50-200 chars in English, with parameter descriptions in schema only.
Output schema undocumented. Tool returns dict with 'path' (success) or 'error'+'code' (failure), but LLM has no way to know structure. Must document return type.
Error responses lack recovery guidance. Returns {'error': str, 'code': int} with no actionable next steps. Should include 'retryable' flag and suggested recovery action.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 28 | 2026-07-28+ | v2 |
No input validation or constraints. Parameter 'image_prompt' accepts any string; no length limits, no format validation, no enum for width/height. Unbounded inputs risk API abuse.