Client for automating e-commerce visual enhancements and copy localization. Supports AI-powered visual model try-on, scene swapping, and multi-language listing optimization.
This MCP server exhibits significant definition quality gaps across both tools. While tool names use action verbs (positive), the descriptions are adequate but lack depth, parameter documentation is incomplete, output schemas are not formally documented, and error handling is minimal. The server provides mock implementations but lacks production-grade definition rigor. Schema constraints are largely absent, and parameter descriptions do not follow the pattern:constrained-input guidance.
Request AI visual model try-on or scene swapping.
Optimize, rewrite, and translate catalog listings for specified markets.
Output schemas are not formally documented. Neither tool declares its return type, structure, or expected fields. LLMs cannot plan downstream calls or extract relevant data without knowing the response shape.
Missing input parameter constraints (enums, ranges, patterns). The 'task' parameter in generate_visual_task accepts free-form strings instead of declaring valid values (model_tryon, scene_swap) as an enum. This invites LLM hallucination of invalid values.
Parameter descriptions are minimal and lack actionable format guidance. For example, 'image_url' is described only as 'URL of the product image', no mention of supported formats, size limits, or required endpoint protocols. 'target_languages' has no explanation of expected format (ISO 639-1 codes, comma-separated array, etc.).
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 41 | 2026-07-28+ | v2 |
Tool descriptions do not explain WHEN to use each tool vs. alternatives, or state which operations have side effects. The description for 'optimize_listing' does not clarify whether this modifies existing catalog data or returns a preview. Agents cannot determine idempotence.
No error handling guidance. Neither tool documents how to recover from failures (invalid image URL, API timeout, unsupported language code). Mock mode raises a generic 'EcommerceCopilotError' with no actionable recovery hints for the LLM.
The 'demographic' parameter in generate_visual_task has a vague description ('Target demographic for the visual task (e.g., 'US Gen-Z')') that includes an example value. Per pattern:tool-description, example values in descriptions lead LLMs to reuse them literally. Use an enum or explicit constraint instead.
Missing composition/chaining support. The 'optimize_listing' response structure is not declared, so an LLM cannot confidently extract output fields to pass to downstream tools. If a later tool needs product IDs or references, this tool does not advertise what it returns.