MCP server for Universal Image Notation (UIN) - extracts Canny edges from images, generates prompts from UIN JSON, analyzes images, and validates UIN packages for use with ComfyUI and ControlNet
Four tools with partial schemas and inconsistent descriptions. extract_edges and generate_from_uin have complete input schemas with proper constraints (min/max, enums, defaults), but descriptions are generic (50-60 chars). analyze_image and validate_uin lack visible schema definitions in the provided code, only inferred from tool names. No output schemas documented. Parameter descriptions are minimal. No error handling guidance. Tool names are action-oriented (extract_, generate_, analyze_, validate_) but lack clarity on when to use each vs. alternatives.
Analyze image and suggest UIN attributes
Extract Canny edges from image and create UIN package
Generate image from UIN JSON description via ComfyUI
Validate UIN JSON against schema and suggest improvements
analyze_image and validate_uin lack visible input schemas in source code. Only tool names and descriptions are inferred from server_full.py. Cannot verify parameter types, constraints, or required fields.
No output schemas documented for any tool. LLMs cannot plan downstream calls or extract structured data. E.g., does extract_edges return file paths, UIN JSON, or image metadata?
Descriptions are too short (35 - 60 chars) and lack context. 'Extract Canny edges from image and create UIN package' does not explain when to call this vs. analyze_image, what 'UIN package' means, or what the output contains.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 46 | 2026-07-28+ | v2 |
Parameter descriptions are minimal or missing. 'detail_level' in analyze_image has enum values (basic, detailed, forensic) but no explanation of what each level returns or when to use each.
No error handling guidance. If extract_edges fails (invalid image path, unsupported format, disk full), what should the LLM do? Retry? Ask user? Call a different tool?