PoloPan Fashion MCP Server

Fashion & apparel MCP: visual outfit search, stock verification, and 1-click checkout.

Should I use this

Quality & Safety

B
Description quality
100%
Schema completeness
96%
Naming quality
52%
Poisoning risk
0%
Permission match
100%
Protocol compliance
100%

Findings (20)

  • HIGHTool poisoning patterns detected
  • MEDIUMTool description contains URL to non-standard domainin products.search.text
  • MEDIUMTool description contains URL to non-standard domainin products.search.image_url
  • MEDIUMTool description contains URL to non-standard domainin products.search.image_upload
  • MEDIUMTool description contains URL to non-standard domainin looks.curation.by_occasion
  • MEDIUMTool description contains URL to non-standard domainin products.items.get_by_handle
  • MEDIUMTool description contains URL to non-standard domainin products.items.check_stock
  • MEDIUMTool description contains URL to non-standard domainin checkout.links.get_direct_url
  • MEDIUMTool description contains URL to non-standard domainin products.search.alternatives
  • MEDIUMTool description contains URL to non-standard domainin looks.curation.recommend

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~4,934Tokens (tool definitions)
~4.6 KBTypical response size
Significant attention impact (3.85% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "mcp": {
      "command": "npx",
      "args": [
        "polopan-products-mcp"
      ]
    }
  }
}

Runnable packages

npmpolopan-products-mcp1.2.6stdio

Remote endpoints

https://mcp-server.polopan.com/mcpstreamable-http

What it can do

Tool inventory

Tools (10)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢products.search.text(query, page, page_size, sort_by, sort_order, ...)

Search PoloPan products using a text query and optional filters. Returns products with available in-stock sizes, specifications table, shipping/return policies, pricing, and verified purchase URLs (https://s.polopan.com/p/{handle}). MANDATORY AGENT INSTRUCTIONS: 1. Always tell the user the available sizes for items, and display returning & shipping policies (Negative return days = 'Exchange only |X| days'). 2. When presenting/shortlisting products, display the product specifications table. 3. Return the base link (https://s.polopan.com/p/{handle}) during browsing. Provide the direct checkout link (https://s.polopan.com/p/{handle}/{size_index}) ONLY after the user's size is finalized.

Input Schema

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "minLength": 1,
      "description": "The search query or style keyword to find fashion items (e.g. 'black leather jacket', 'floral summer midi dress')"
    },
    "page": {
      "default": 1,
      "description": "Page number for pagination (starts at 1)",
      "type": "integer",
      "minimum": 1,
      "maximum": 1000
    },
    "page_size": {
      "default": 20,
      "description": "Number of items to return per page (max 100)",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    },
    "sort_by": {
      "default": "relevance",
      "description": "Sorting criteria for the search results",
      "type": "string",
      "enum": [
        "relevance",
        "price",
        "title"
      ]
    },
    "sort_order": {
      "default": "desc",
      "description": "Sort order: 'asc' for ascending, 'desc' for descending",
      "type": "string",
      "enum": [
        "asc",
        "desc"
      ]
    },
    "gender": {
      "description": "Target gender filter: 'men', 'women', or 'unisex'",
      "type": "string"
    },
    "size": {
      "description": "Array of sizes to filter by, e.g. ['S', 'M', 'L', 'XL']",
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "price_min": {
      "description": "Minimum price in local currency",
      "type": "number"
    },
    "price_max": {
      "description": "Maximum price in local currency",
      "type": "number"
    },
    "vendor": {
      "description": "List of brand or vendor names to filter by",
      "type": "array",
      "items": {
        "type": "string"
      }
    }
  },
  "required": [
    "query"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Output Schema

{
  "type": "object",
  "properties": {
    "products": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "handle": {
            "type": "string",
            "description": "Unique product handle identifier"
          },
          "title": {
            "type": "string",
            "description": "Product name and title"
          },
          "brand": {
            "description": "Brand or vendor name",
            "type": "string"
          },
          "price": {
            "type": "number",
            "description": "Current selling price"
          },
          "mrp": {
            "description": "Original maximum retail price",
            "type": "number"
          },
          "discount_percent": {
            "description": "Discount percentage",
            "type": "number"
          },
          "sizes": {
            "description": "List of available in-stock sizes",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "url": {
            "type": "string",
            "description": "Verified purchase link"
          }
        },
        "required": [
          "handle",
          "title",
          "price",
          "url"
        ],
        "additionalProperties": false
      },
      "description": "List of matching fashion products"
    },
    "pagination": {
      "description": "Pagination metadata",
      "type": "object",
      "properties": {
        "page": {
          "type": "number",
          "description": "Current page number"
        },
        "page_size": {
          "type": "number",
          "description": "Number of items per page"
        },
        "total": {
          "description": "Total number of matching products",
          "type": "number"
        }
      },
      "required": [
        "page",
        "page_size"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "products"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
🟢products.search.image_url(image_url, page, page_size, sort_by, sort_order, ...)

Search PoloPan products using image_url and optional filters. Returns products with available in-stock sizes, pricing, and verified purchase URLs (https://s.polopan.com/p/{handle}).

Input Schema

{
  "type": "object",
  "properties": {
    "image_url": {
      "type": "string",
      "format": "uri",
      "description": "Publicly accessible URL of the fashion image to search for visual matches"
    },
    "page": {
      "default": 1,
      "description": "Page number for pagination",
      "type": "integer",
      "minimum": 1,
      "maximum": 1000
    },
    "page_size": {
      "default": 20,
      "description": "Number of items to return per page",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    },
    "sort_by": {
      "default": "relevance",
      "description": "Sorting criteria for search results",
      "type": "string",
      "enum": [
        "relevance",
        "price",
        "title"
      ]
    },
    "sort_order": {
      "default": "desc",
      "description": "Sort order: 'asc' or 'desc'",
      "type": "string",
      "enum": [
        "asc",
        "desc"
      ]
    },
    "gender": {
      "description": "Target gender filter: 'men', 'women', or 'unisex'",
      "type": "string"
    },
    "size": {
      "description": "Array of sizes to filter by",
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "price_min": {
      "description": "Minimum price in local currency",
      "type": "number"
    },
    "price_max": {
      "description": "Maximum price in local currency",
      "type": "number"
    },
    "vendor": {
      "description": "List of brand names to filter by",
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "personalize": {
      "default": false,
      "description": "Whether to apply personalized ranking",
      "type": "boolean"
    }
  },
  "required": [
    "image_url"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Output Schema

{
  "type": "object",
  "properties": {
    "products": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "handle": {
            "type": "string",
            "description": "Unique product handle identifier"
          },
          "title": {
            "type": "string",
            "description": "Product name and title"
          },
          "price": {
            "type": "number",
            "description": "Current selling price"
          },
          "url": {
            "type": "string",
            "description": "Verified purchase link"
          }
        },
        "required": [
          "handle",
          "title",
          "price",
          "url"
        ],
        "additionalProperties": false
      },
      "description": "List of matching fashion products"
    }
  },
  "required": [
    "products"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
🟢products.search.image_upload(image_path, image_base64, content_type, expiry_hours, page, ...)

Upload a local image file (or base64 string) and search PoloPan products using the uploaded image URL. Returns products with available in-stock sizes, pricing, and verified purchase URLs (https://s.polopan.com/p/{handle}).

Input Schema

{
  "type": "object",
  "properties": {
    "image_path": {
      "description": "Local file system path to the image file",
      "type": "string",
      "minLength": 1
    },
    "image_base64": {
      "description": "Base64-encoded image data string",
      "type": "string",
      "minLength": 1
    },
    "content_type": {
      "default": "image/jpeg",
      "description": "MIME type of the image, e.g. 'image/jpeg', 'image/png'",
      "type": "string"
    },
    "expiry_hours": {
      "default": 24,
      "description": "Temporary upload URL lifetime in hours",
      "type": "integer",
      "minimum": 1,
      "maximum": 168
    },
    "page": {
      "default": 1,
      "description": "Page number for pagination",
      "type": "integer",
      "minimum": 1,
      "maximum": 1000
    },
    "page_size": {
      "default": 20,
      "description": "Number of items to return per page",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    },
    "sort_by": {
      "default": "relevance",
      "description": "Sorting criteria",
      "type": "string",
      "enum": [
        "relevance",
        "price",
        "title"
      ]
    },
    "sort_order": {
      "default": "desc",
      "description": "Sort order: 'asc' or 'desc'",
      "type": "string",
      "enum": [
        "asc",
        "desc"
      ]
    },
    "gender": {
      "description": "Target gender filter",
      "type": "string"
    },
    "size": {
      "description": "Array of sizes to filter by",
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "price_min": {
      "description": "Minimum price",
      "type": "number"
    },
    "price_max": {
      "description": "Maximum price",
      "type": "number"
    },
    "vendor": {
      "description": "List of brand names",
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "personalize": {
      "default": false,
      "description": "Whether to personalize search ranking",
      "type": "boolean"
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Output Schema

{
  "type": "object",
  "properties": {
    "uploaded_image_url": {
      "type": "string",
      "description": "Temporary URL of the uploaded image"
    },
    "products": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "handle": {
            "type": "string",
            "description": "Product handle"
          },
          "title": {
            "type": "string",
            "description": "Product title"
          },
          "price": {
            "type": "number",
            "description": "Price"
          },
          "url": {
            "type": "string",
            "description": "Purchase link"
          }
        },
        "required": [
          "handle",
          "title",
          "price",
          "url"
        ],
        "additionalProperties": false
      },
      "description": "Matching products"
    }
  },
  "required": [
    "uploaded_image_url",
    "products"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
🟢vision.outfit.detect_pieces(image_path, image_base64, image_url, threshold)

Deconstruct an outfit image or photo into individual fashion pieces (e.g. Upper-body garment, Lower-body garment, Dress, Footwear, Bag, Headwear) with bounding box coordinates and confidence scores. Use this to break down full-body look photos and search for matching catalog items for each piece individually.

Input Schema

{
  "type": "object",
  "properties": {
    "image_path": {
      "description": "Local path to the outfit image file to deconstruct",
      "type": "string",
      "minLength": 1
    },
    "image_base64": {
      "description": "Base64-encoded image string for outfit piece detection",
      "type": "string",
      "minLength": 1
    },
    "image_url": {
      "description": "Public HTTP(S) URL of the fashion image to deconstruct",
      "type": "string",
      "format": "uri"
    },
    "threshold": {
      "default": 0.22,
      "description": "Confidence threshold for object detection bounding boxes (0.05 to 0.95)",
      "type": "number",
      "minimum": 0.05,
      "maximum": 0.95
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Output Schema

{
  "type": "object",
  "properties": {
    "pieces": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "label": {
            "type": "string",
            "description": "Detected clothing category (e.g. Upper-body garment, Lower-body garment, Footwear, Bag)"
          },
          "confidence": {
            "type": "number",
            "description": "Confidence score between 0.0 and 1.0"
          },
          "box": {
            "type": "array",
            "items": {
              "type": "number"
            },
            "description": "Normalized bounding box coordinates [ymin, xmin, ymax, xmax]"
          }
        },
        "required": [
          "label",
          "confidence",
          "box"
        ],
        "additionalProperties": false
      },
      "description": "List of detected fashion pieces"
    }
  },
  "required": [
    "pieces"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
🟢looks.curation.by_occasion(occasion, gender, age, page, page_size, ...)

Discover complete curated fashion looks styled for specific occasions (e.g., 'Wedding & Reception', 'Party', 'Casual', 'Cocktail', 'Date Night', 'Club Night', 'Brunch', 'Vacation', 'Formal'). All returned looks are verified 100% in-stock (any look with an out-of-stock item is excluded). MANDATORY AGENT INSTRUCTIONS: 1. Always inform the user of available in-stock sizes, shipping SLA, and return policy for each item. Format negative return days as 'Exchange only |X| days' (e.g. -7 -> 'Exchange only 7 days'). 2. When shortlisting a look, render the product specifications table (Fabric, Pattern, Collar, Sleeves, Fit, Care). 3. Provide the clean base link (https://s.polopan.com/p/{handle}) during browsing/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

{
  "type": "object",
  "properties": {
    "occasion": {
      "description": "Target occasion or vibe: 'Wedding & Reception', 'Party', 'Casual', 'Cocktail', 'Date Night', 'Club Night', 'Brunch', 'Vacation', 'Formal'",
      "type": "string"
    },
    "gender": {
      "default": "women",
      "description": "Target gender filter: 'women' or 'men'",
      "type": "string",
      "enum": [
        "women",
        "men",
        "female",
        "male"
      ]
    },
    "age": {
      "default": 25,
      "description": "Target demographic age",
      "type": "integer",
      "minimum": 16,
      "maximum": 99
    },
    "page": {
      "default": 1,
      "description": "Page number for looks pagination",
      "type": "integer",
      "minimum": 1,
      "maximum": 1000
    },
    "page_size": {
      "default": 10,
      "description": "Number of looks per page",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    },
    "vendor": {
      "description": "Optional brand filter",
      "type": "array",
      "items": {
        "type": "string"
      }
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Output Schema

{
  "type": "object",
  "properties": {
    "looks": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "description": "Unique look ID",
            "type": "string"
          },
          "title": {
            "description": "Look title",
            "type": "string"
          },
          "occasion": {
            "description": "Occasion tag",
            "type": "string"
          },
          "image_url": {
            "description": "Main styled look image",
            "type": "string"
          },
          "products": {
            "description": "100% in-stock items in this outfit",
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "handle": {
                  "type": "string",
                  "description": "Product handle"
                },
                "title": {
                  "type": "string",
                  "description": "Product title"
                },
                "price": {
                  "type": "number",
                  "description": "Price"
                },
                "url": {
                  "type": "string",
                  "description": "Purchase link"
                }
              },
              "required": [
                "handle",
                "title",
                "price",
                "url"
              ],
              "additionalProperties": false
            }
          }
        },
        "additionalProperties": false
      },
      "description": "List of verified in-stock occasion looks"
    }
  },
  "required": [
    "looks"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
🟢products.items.get_by_handle(handle)

Fetch a single product document by product handle. Returns detailed metadata, variants, in-stock sizes, price details, and the verified short purchase link (https://s.polopan.com/p/{handle}).

Input Schema

{
  "type": "object",
  "properties": {
    "handle": {
      "type": "string",
      "minLength": 1,
      "description": "Unique product handle identifier (e.g. 'solid-linen-shirt')"
    }
  },
  "required": [
    "handle"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Output Schema

{
  "type": "object",
  "properties": {
    "handle": {
      "type": "string",
      "description": "Product handle identifier"
    },
    "title": {
      "type": "string",
      "description": "Product title"
    },
    "price": {
      "type": "number",
      "description": "Price"
    },
    "variants": {
      "description": "Variant size list",
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "size": {
            "type": "string",
            "description": "Size label"
          },
          "in_stock": {
            "type": "boolean",
            "description": "Stock availability"
          }
        },
        "required": [
          "size",
          "in_stock"
        ],
        "additionalProperties": false
      }
    },
    "url": {
      "type": "string",
      "description": "Verified purchase link"
    }
  },
  "required": [
    "handle",
    "title",
    "price",
    "url"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
🟢products.items.check_stock(handle, desired_size, size_index)

Verify real-time stock availability, live discounted pricing, product specifications table (Fabric, Collar, Sleeves, Fit, Bottom, Care Instructions), shipping/return policies, and available sizes for a product. MANDATORY AGENT INSTRUCTIONS: 1. Always tell the user the available in-stock sizes, and display returning & shipping policies (Negative return days = 'Exchange only |X| days'). 2. When presenting/shortlisting products, display the product specifications table. 3. Return the base link (https://s.polopan.com/p/{handle}) during browsing. Provide the direct checkout link (https://s.polopan.com/p/{handle}/{size_index}) ONLY after the user's size is finalized.

Input Schema

{
  "type": "object",
  "properties": {
    "handle": {
      "type": "string",
      "minLength": 1,
      "description": "Unique product handle identifier"
    },
    "desired_size": {
      "description": "Optional size query to verify (e.g. 'M', 'L', 'XL', '32', '40')",
      "type": "string"
    },
    "size_index": {
      "description": "Zero-based index of the size variant",
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    }
  },
  "required": [
    "handle"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Output Schema

{
  "type": "object",
  "properties": {
    "handle": {
      "type": "string",
      "description": "Product handle"
    },
    "title": {
      "type": "string",
      "description": "Product title"
    },
    "is_in_stock": {
      "type": "boolean",
      "description": "Overall stock status"
    },
    "available_sizes": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "List of currently available in-stock sizes"
    },
    "out_of_stock_sizes": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "List of out-of-stock sizes"
    },
    "direct_checkout_url": {
      "type": "string",
      "description": "Verified 1-click checkout permalink"
    }
  },
  "required": [
    "handle",
    "title",
    "is_in_stock",
    "available_sizes",
    "out_of_stock_sizes",
    "direct_checkout_url"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
🟢checkout.links.get_direct_url(handle, size, size_index, quantity, coupon)

Generate the direct 1-click checkout purchase URL for a specific product and size index (https://s.polopan.com/p/{handle}/{size_index}). MANDATORY AGENT INSTRUCTION: Only generate or provide this direct link with /{size_index} after the user has explicitly selected/confirmed their size from the available in-stock options. If there is any confusion regarding sizes or if the user is still browsing, provide ONLY the clean base link (https://s.polopan.com/p/{handle}) without /{size_index}.

Input Schema

{
  "type": "object",
  "properties": {
    "handle": {
      "type": "string",
      "minLength": 1,
      "description": "Unique product handle identifier"
    },
    "size": {
      "description": "Size label confirmed by the user (e.g. 'M', 'L', 'XL')",
      "type": "string"
    },
    "size_index": {
      "description": "Zero-based index of the chosen size variant",
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    },
    "quantity": {
      "default": 1,
      "description": "Number of units to purchase (1-10)",
      "type": "integer",
      "minimum": 1,
      "maximum": 10
    },
    "coupon": {
      "description": "Optional discount coupon code to pre-apply",
      "type": "string"
    }
  },
  "required": [
    "handle"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Output Schema

{
  "type": "object",
  "properties": {
    "handle": {
      "type": "string",
      "description": "Product handle"
    },
    "size": {
      "description": "Selected size",
      "type": "string"
    },
    "size_index": {
      "type": "number",
      "description": "Selected size index"
    },
    "checkout_url": {
      "type": "string",
      "description": "Direct 1-click purchase permalink (https://s.polopan.com/p/{handle}/{size_index})"
    }
  },
  "required": [
    "handle",
    "size_index",
    "checkout_url"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
🟢products.search.alternatives(handle, budget_range, page, page_size, limit, ...)

Find product alternatives within a selected budget range using product image similarity (same logic as extension). Every product url is the PoloPan short purchase link from GET /products/link/{handle} (https://s.polopan.com/p/{handle}; never the raw catalog URL).

Input Schema

{
  "type": "object",
  "properties": {
    "handle": {
      "type": "string",
      "minLength": 1,
      "description": "Base product handle to find alternatives for"
    },
    "budget_range": {
      "default": "1501-3000",
      "description": "Target price bracket in local currency",
      "type": "string",
      "enum": [
        "0-1500",
        "1501-3000",
        "3001-5000",
        "5000+"
      ]
    },
    "page": {
      "default": 1,
      "description": "Page number for pagination",
      "type": "integer",
      "minimum": 1,
      "maximum": 1000
    },
    "page_size": {
      "default": 8,
      "description": "Number of items to fetch per page",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    },
    "limit": {
      "default": 6,
      "description": "Maximum number of filtered alternatives to return",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    },
    "sort_by": {
      "default": "relevance",
      "description": "Sorting criteria",
      "type": "string",
      "enum": [
        "relevance",
        "price",
        "title"
      ]
    },
    "sort_order": {
      "default": "desc",
      "description": "Sort order: 'asc' or 'desc'",
      "type": "string",
      "enum": [
        "asc",
        "desc"
      ]
    },
    "personalize": {
      "default": false,
      "description": "Whether to apply personalized ranking",
      "type": "boolean"
    }
  },
  "required": [
    "handle"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Output Schema

{
  "type": "object",
  "properties": {
    "budget_range": {
      "type": "string",
      "description": "Applied budget bracket"
    },
    "source_handle": {
      "type": "string",
      "description": "Source product handle"
    },
    "products": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "handle": {
            "type": "string",
            "description": "Alternative product handle"
          },
          "title": {
            "type": "string",
            "description": "Alternative product title"
          },
          "price": {
            "type": "number",
            "description": "Alternative product price"
          },
          "url": {
            "type": "string",
            "description": "Purchase link"
          }
        },
        "required": [
          "handle",
          "title",
          "price",
          "url"
        ],
        "additionalProperties": false
      },
      "description": "List of visual alternatives within budget"
    }
  },
  "required": [
    "budget_range",
    "source_handle",
    "products"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
🟢looks.curation.recommend(handle, occasion, gender, page, page_size)

Get complete recommended outfits. Pass a product 'handle' to find complementary items that style with it, OR pass an 'occasion' (e.g. 'Wedding', 'Party', 'Cocktail', 'Date Night') 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). MANDATORY AGENT INSTRUCTIONS: 1. Always inform the user of available in-stock sizes, shipping SLA, and return policy for each item. Format negative return days as 'Exchange only |X| days' (e.g. -7 -> 'Exchange only 7 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

{
  "type": "object",
  "properties": {
    "handle": {
      "description": "Product handle to build coordinating outfits around",
      "type": "string"
    },
    "occasion": {
      "description": "Target occasion or aesthetic theme (e.g. 'Wedding', 'Party', 'Cocktail', 'Date Night')",
      "type": "string"
    },
    "gender": {
      "default": "women",
      "description": "Target gender filter: 'women' or 'men'",
      "type": "string",
      "enum": [
        "women",
        "men",
        "female",
        "male"
      ]
    },
    "page": {
      "default": 1,
      "description": "Page number for pagination",
      "type": "integer",
      "minimum": 1,
      "maximum": 1000
    },
    "page_size": {
      "default": 20,
      "description": "Number of outfits per page",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Output Schema

{
  "type": "object",
  "properties": {
    "handle": {
      "description": "Base product handle",
      "type": "string"
    },
    "looks": {
      "description": "List of recommended outfits",
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "title": {
            "description": "Outfit title",
            "type": "string"
          },
          "image_url": {
            "description": "Look image URL",
            "type": "string"
          }
        },
        "additionalProperties": false
      }
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded10 tools