Skip to main content
Glama

YouCam for Fashion & Retail

Ai Shoes Virtual Try On

AI-Shoes-Virtual-Try-On

Step into the future of shopping with our AR Shoes Virtual Try-On. Instantly see how your favourite styles look and fit right from your screen. Powered by cutting-edge AI technology, this experience delivers a perfect visual fit, helping you shop with confidence and reduce returns. Explore endless styles and colours from the comfort of home. Our high-fidelity AR simulation brings every detail to life so you can enjoy the thrill of an in-store experience anytime, anywhere. Try it today and find the perfect pair that matches your style.gender must be explicitly provided by the user. If missing, ask the user for clarification and set the parameter once received.

Input Schema

NameRequiredDescriptionDefault
pollingNoIf true (default), keep polling until the task finishes, returning the final result. If false, return immediately without waiting for the task to finish.
requestYes

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / request / anyOf
      Previous value: -[
      -  {
      -    "properties": {
      -      "gender": {
      -        "description": "Gender of the person in the image.",
      -        "enum": [
      -          "female",
      -          "male"
      -        ],
      -        "examples": [
      -          "female"
      -        ],
      -        "type": "string"
      -      },
      -      "ref_file_url": {
      -        "description": "Url of the reference file to run task. The url should be publicly accessible.",
      -        "examples": [
      -          "https://example.com/reference.jpg"
      -        ],
      -        "type": "string"
      -      },
      -      "src_file_url": {
      -        "description": "Url of the file to run task. The url should be publicly accessible.",
      -        "examples": [
      -          "https://example.com/selfie.jpg"
      -        ],
      -        "type": "string"
      -      },
      -      "style": {
      -        "anyOf": [
      -          {
      -            "enum": [
      -              "random",
      -              "style_minimalist",
      -              "style_bohemian",
      -              "style_cottagecore",
      -              "style_french_elegance",
      -              "style_retro_fashion"
      -            ],
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": "random",
      -        "description": "To control outfit and background style.",
      -        "examples": [
      -          "random"
      -        ]
      -      }
      -    },
      -    "required": [
      -      "gender",
      -      "src_file_url",
      -      "ref_file_url"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "properties": {
      -      "gender": {
      -        "description": "Gender of the person in the image.",
      -        "enum": [
      -          "female",
      -          "male"
      -        ],
      -        "examples": [
      -          "female"
      -        ],
      -        "type": "string"
      -      },
      -      "ref_file_id": {
      -        "description": "ID of the reference file to run task. File ID from upload file API.",
      -        "examples": [
      -          "pfNK5PuRe0MrwLHcGA3DOmB1ahwfXTbYHjv+KoBIxbE="
      -        ],
      -        "type": "string"
      -      },
      -      "src_file_url": {
      -        "description": "Url of the file to run task. The url should be publicly accessible.",
      -        "examples": [
      -          "https://example.com/selfie.jpg"
      -        ],
      -        "type": "string"
      -      },
      -      "style": {
      -        "anyOf": [
      -          {
      -            "enum": [
      -              "random",
      -              "style_minimalist",
      -              "style_bohemian",
      -              "style_cottagecore",
      -              "style_french_elegance",
      -              "style_retro_fashion"
      -            ],
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": "random",
      -        "description": "To control outfit and background style.",
      -        "examples": [
      -          "random"
      -        ]
      -      }
      -    },
      -    "required": [
      -      "gender",
      -      "src_file_url",
      -      "ref_file_id"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "properties": {
      -      "gender": {
      -        "description": "Gender of the person in the image.",
      -        "enum": [
      -          "female",
      -          "male"
      -        ],
      -        "examples": [
      -          "female"
      -        ],
      -        "type": "string"
      -      },
      -      "ref_file_url": {
      -        "description": "Url of the reference file to run task. The url should be publicly accessible.",
      -        "examples": [
      -          "https://example.com/reference.jpg"
      -        ],
      -        "type": "string"
      -      },
      -      "src_file_id": {
      -        "description": "ID of file to run task. File ID from upload file API.",
      -        "examples": [
      -          "pfNK5PuRe0MrwLHcGA3DOmB1ahwfXTbYHjv+KoBIxbE="
      -        ],
      -        "type": "string"
      -      },
      -      "style": {
      -        "anyOf": [
      -          {
      -            "enum": [
      -              "random",
      -              "style_minimalist",
      -              "style_bohemian",
      -              "style_cottagecore",
      -              "style_french_elegance",
      -              "style_retro_fashion"
      -            ],
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": "random",
      -        "description": "To control outfit and background style.",
      -        "examples": [
      -          "random"
      -        ]
      -      }
      -    },
      -    "required": [
      -      "gender",
      -      "src_file_id",
      -      "ref_file_url"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "properties": {
      -      "gender": {
      -        "description": "Gender of the person in the image.",
      -        "enum": [
      -          "female",
      -          "male"
      -        ],
      -        "examples": [
      -          "female"
      -        ],
      -        "type": "string"
      -      },
      -      "ref_file_id": {
      -        "description": "ID of the reference file to run task. File ID from upload file API.",
      -        "examples": [
      -          "pfNK5PuRe0MrwLHcGA3DOmB1ahwfXTbYHjv+KoBIxbE="
      -        ],
      -        "type": "string"
      -      },
      -      "src_file_id": {
      -        "description": "ID of file to run task. File ID from upload file API.",
      -        "examples": [
      -          "pfNK5PuRe0MrwLHcGA3DOmB1ahwfXTbYHjv+KoBIxbE="
      -        ],
      -        "type": "string"
      -      },
      -      "style": {
      -        "anyOf": [
      -          {
      -            "enum": [
      -              "random",
      -              "style_minimalist",
      -              "style_bohemian",
      -              "style_cottagecore",
      -              "style_french_elegance",
      -              "style_retro_fashion"
      -            ],
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": "random",
      -        "description": "To control outfit and background style.",
      -        "examples": [
      -          "random"
      -        ]
      -      }
      -    },
      -    "required": [
      -      "gender",
      -      "src_file_id",
      -      "ref_file_id"
      -    ],
      -    "type": "object"
      -  }
      -]New value: +[
      +  {
      +    "properties": {
      +      "ref_file_url": {
      +        "description": "Url of the reference file to run task. The url should be publicly accessible.",
      +        "examples": [
      +          "https://example.com/reference.jpg"
      +        ],
      +        "type": "string"
      +      },
      +      "src_file_url": {
      +        "description": "Url of the file to run task. The url should be publicly accessible.",
      +        "examples": [
      +          "https://example.com/selfie.jpg"
      +        ],
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "src_file_url",
      +      "ref_file_url"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "properties": {
      +      "ref_file_id": {
      +        "description": "ID of the reference file to run task. File ID from upload file API.",
      +        "examples": [
      +          "pfNK5PuRe0MrwLHcGA3DOmB1ahwfXTbYHjv+KoBIxbE="
      +        ],
      +        "type": "string"
      +      },
      +      "src_file_url": {
      +        "description": "Url of the file to run task. The url should be publicly accessible.",
      +        "examples": [
      +          "https://example.com/selfie.jpg"
      +        ],
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "src_file_url",
      +      "ref_file_id"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "properties": {
      +      "ref_file_url": {
      +        "description": "Url of the reference file to run task. The url should be publicly accessible.",
      +        "examples": [
      +          "https://example.com/reference.jpg"
      +        ],
      +        "type": "string"
      +      },
      +      "src_file_id": {
      +        "description": "ID of file to run task. File ID from upload file API.",
      +        "examples": [
      +          "pfNK5PuRe0MrwLHcGA3DOmB1ahwfXTbYHjv+KoBIxbE="
      +        ],
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "src_file_id",
      +      "ref_file_url"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "properties": {
      +      "ref_file_id": {
      +        "description": "ID of the reference file to run task. File ID from upload file API.",
      +        "examples": [
      +          "pfNK5PuRe0MrwLHcGA3DOmB1ahwfXTbYHjv+KoBIxbE="
      +        ],
      +        "type": "string"
      +      },
      +      "src_file_id": {
      +        "description": "ID of file to run task. File ID from upload file API.",
      +        "examples": [
      +          "pfNK5PuRe0MrwLHcGA3DOmB1ahwfXTbYHjv+KoBIxbE="
      +        ],
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "src_file_id",
      +      "ref_file_id"
      +    ],
      +    "type": "object"
      +  }
      +]
  2. First observed

TDQS

C2.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare readOnlyHint=false, idempotentHint=false and openWorldHint=true, so the agent already knows this is a non-idempotent mutating operation against external resources. The description adds nothing behavioral – no mention of it being a long-running async task (implied only by the polling param), no cost, no rate limits – and 'Instantly see' mildly conflicts with the polling semantics in the schema.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Roughly five sentences of pure marketing fluff precede the one sentence with any operational content, and that content is appended with no separator. The structure is not front-loaded – the only actionable instruction is at the very end, glued to the prose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists so return values are covered, but for a non-idempotent async generation tool the description omits the task/polling model, the meaning of the two source inputs, and cost behavior. Instead it spends its length on promotional copy and a reference to a parameter that does not exist.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is only 50%, so the description needs to compensate, and it does not. It never explains the crucial src (selfie) vs ref (product) distinction, and it introduces a phantom 'gender' parameter absent from the schema, which is worse than silence.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description conveys that this is an AR/virtual try-on for shoes, which distinguishes it from the bag/hat/watch siblings. However, it never states the actual operation in concrete terms (e.g., 'generates an image of shoes on a source photo') – it is buried in marketing prose about 'stepping into the future of shopping' and 'high-fidelity AR simulation'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to choose this over the other try-on siblings, nor on the async/polling workflow. The only operational instruction is about a 'gender' parameter that does not exist anywhere in the input schema, which would actively mislead an agent into asking the user for a nonexistent field.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources