Skip to main content
Glama

Get Recommended Outfits

looks.curation.recommend
Read-only

Get complete recommended outfits. Pass a product 'handle' to find complementary items styled with it, OR pass an 'occasion' (e.g. 'Wedding & Reception', 'Party', 'Cocktail', 'Date Night', 'Formal') and 'gender' to discover full occasion looks. All returned looks are verified 100% in-stock (any look with an out-of-stock item is excluded). Automatically localized to active country / 240+ destination regions.

PURPOSE & DISAMBIGUATION:

  • Generates harmonized outfits coordinated around a seed product handle or occasion theme.

  • Distinct from 'products.search.alternatives': Use 'looks.curation.recommend' to build coordinating outfits with different garment pieces (e.g. pairing pants and shoes with a shirt); use 'products.search.alternatives' to find visual replacements for the exact same garment.

  • Distinct from 'looks.curation.by_occasion': 'looks.curation.recommend' supports building outfits around a specific chosen product handle as well as occasion themes.

WHEN TO USE:

  • When a user has selected a product and asks 'How do I style this?' or 'Show me outfits with this shirt'.

  • When discovering coordinated outfit recommendations for an occasion.

WHEN NOT TO USE:

  • Do NOT use to find substitute alternatives of the same garment (use 'products.search.alternatives').

  • Do NOT use for basic keyword search (use 'products.search.text').

BEHAVIOR & SAFETY:

  • Read-only and idempotent with no persistent state modifications.

  • Filters out any outfit containing out-of-stock items (guarantees 100% purchaseable looks).

  • Enriches all included items with verified purchase permalinks and policy strings.

PARAMETERS & CONSTRAINTS:

  • 'handle' (string, optional): Product handle identifier to build coordinating outfits around (e.g. 'solid-linen-shirt').

  • 'occasion' (string, optional): Target occasion or theme (e.g. 'Wedding & Reception', 'Party', 'Cocktail', 'Date Night', 'Formal').

  • 'gender' (enum, default 'women'): Target gender filter ('women', 'men', 'female', 'male').

  • 'country' (string, optional): Target country name, city, currency, or ISO-2 code (e.g. 'US', 'United States', 'UK', 'Dubai', 'CA', 'IN'). Defaults to active saved region.

  • 'mode' (enum, optional): Catalog mode: 'global' (ships to country) or 'local' (domestic only).

  • 'page' (integer >= 1, default 1): Pagination page number.

  • 'page_size' (integer 1-100, default 20): Number of outfit sets per page.

MANDATORY AGENT INSTRUCTIONS:

  1. Always inform the user of available in-stock sizes, fast shipping SLA, and return policy for each item (Negative return days = 'Exchange only |X| days').

  2. When shortlisting a look, render the product specifications table (Fabric, Pattern, Collar, Sleeves, Fit, Care).

  3. Provide the base link (https://s.polopan.com/p/{handle}) during shortlisting. Provide direct 1-click checkout link (https://s.polopan.com/p/{handle}/{size_index}) ONLY after the user's size is finalized.

Input Schema

NameRequiredDescriptionDefault
modeNoCatalog mode: 'global' (ships to country) or 'local' (domestic only). Defaults to active saved region.
pageNoPage number for pagination (1-indexed)
genderNoTarget gender filter: 'women' or 'men' (default: 'women')women
handleNoProduct handle identifier to build coordinating outfits around (e.g. 'solid-linen-shirt')
countryNoCountry name, city, currency, or 2-letter ISO code (e.g. 'US', 'United States', 'UK', 'Dubai', 'CA', 'IN'). Defaults to active saved region.
occasionNoTarget occasion or aesthetic theme (e.g. 'Wedding & Reception', 'Party', 'Cocktail', 'Date Night', 'Formal')
page_sizeNoNumber of outfit sets to return per page (1 to 100, default 20)

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed8 schema fields changed
    • addedInput schema / properties / country
      Added value: +{
      +  "description": "Country name, city, currency, or 2-letter ISO code (e.g. 'US', 'United States', 'UK', 'Dubai', 'CA', 'IN'). Defaults to active saved region.",
      +  "type": "string"
      +}
    • changedInput schema / properties / gender / description
      Previous value: -"Target gender filter: 'women' or 'men'"New value: +"Target gender filter: 'women' or 'men' (default: 'women')"
    • changedInput schema / properties / handle / description
      Previous value: -"Product handle to build coordinating outfits around"New value: +"Product handle identifier to build coordinating outfits around (e.g. 'solid-linen-shirt')"
    • addedInput schema / properties / mode
      Added value: +{
      +  "description": "Catalog mode: 'global' (ships to country) or 'local' (domestic only). Defaults to active saved region.",
      +  "enum": [
      +    "global",
      +    "local"
      +  ],
      +  "type": "string"
      +}
    • changedInput schema / properties / occasion / description
      Previous value: -"Target occasion or aesthetic theme (e.g. 'Wedding', 'Party', 'Cocktail', 'Date Night')"New value: +"Target occasion or aesthetic theme (e.g. 'Wedding & Reception', 'Party', 'Cocktail', 'Date Night', 'Formal')"
    • changedInput schema / properties / page / description
      Previous value: -"Page number for pagination"New value: +"Page number for pagination (1-indexed)"
    • changedInput schema / properties / page_size / description
      Previous value: -"Number of outfits per page"New value: +"Number of outfit sets to return per page (1 to 100, default 20)"
    • changedOutput schema / (root)
      Previous value: -{
      -  "$schema": "http://json-schema.org/draft-07/schema#",
      -  "additionalProperties": false,
      -  "properties": {
      -    "handle": {
      -      "description": "Base product handle",
      -      "type": "string"
      -    },
      -    "looks": {
      -      "description": "List of recommended outfits",
      -      "items": {
      -        "additionalProperties": false,
      -        "properties": {
      -          "image_url": {
      -            "description": "Look image URL",
      -            "type": "string"
      -          },
      -          "title": {
      -            "description": "Outfit title",
      -            "type": "string"
      -          }
      -        },
      -        "type": "object"
      -      },
      -      "type": "array"
      -    }
      -  },
      -  "type": "object"
      -}New value: +null
  2. Added

TDQS

A4.7/5.0
Behavior5/5

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

Annotations only declare readOnlyHint/destructiveHint, but the description adds substantial non-annotation behavior: out-of-stock filtering that guarantees 100% purchasable looks, automatic localization across 240+ regions, and enrichment of items with purchase permalinks and policy strings. These are real operational traits an agent needs and cannot get from the schema or annotations.

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

Conciseness3/5

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

The opening paragraph is excellently front-loaded, but the PARAMETERS & CONSTRAINTS block restates the schema descriptions nearly verbatim (100% coverage), which is pure redundancy, and the MANDATORY AGENT INSTRUCTIONS section is long. Structure is good via headers, but several sentences do not earn their place.

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

Completeness5/5

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

With no output schema, the description carries the burden of describing returns and does so: it names the in-stock guarantee, permalink/policy enrichment, and localization. Combined with the styling/checkout link instructions, an agent has everything needed to call and present results correctly.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3, but the description adds genuinely new semantics: it explains that 'handle' and 'occasion' are alternate entry paths rather than combinable filters, and supplies concrete occasion examples that constrain the free-form string. The remaining param text largely mirrors the schema, capping this at 4.

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

Purpose5/5

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

First sentence states a specific verb and resource ('Get complete recommended outfits') and the two entry modes (handle vs. occasion). The disambiguation section explicitly names 'products.search.alternatives' and 'looks.curation.by_occasion' and contrasts the use cases, so an agent can select this tool without opening any sibling schema.

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

Usage Guidelines5/5

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

Contains explicit WHEN TO USE (styling a selected product, occasion discovery) and WHEN NOT TO USE clauses, each routing the agent to a named alternative tool. This is about as complete as usage guidance gets.

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