Skip to main content
Glama

discover_brands

Find fashion brands using natural language, structured filters, or both. Best for queries like "Italian streetwear brands", "Scandinavian minimalist brands", "Japanese technical outerwear", "brands with avant-garde tailoring", or qualified similarity such as "brands like Rick Owens for technical outerwear". For a plain "brands like X" request, use find_similar_brands. Country adjectives ("Italian", "Scandinavian", "Nordic", "Japanese", "Iberian", "Benelux") are parsed server-side into shipping-origin filters; you don't need to translate them to ISO codes. query is optional — provide a query, structured filters, or both. Brand country/shipping signals are best-effort and separate from product availability.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of brands to return (1-20, default 12).
queryNoNatural language brand search query, e.g. "Italian streetwear brands", "Scandinavian minimalist brands", "Japanese technical outerwear", or qualified similarity such as "brands like Rick Owens for technical outerwear". Use find_similar_brands for a plain "brands like X" request. Similarity seeds must resolve to an active catalog brand or merged alias; unknown or ambiguous seeds return no brands. Country adjectives are parsed server-side — no need to translate them into ISO codes. Optional: when omitted, results are filtered by the structured fields below.
styleNoOptional style filter, e.g. streetwear, minimalist, elegant, avant-garde, techwear.
countryNoOptional shopper location as an ISO-3166-1 alpha-2 country code (e.g. "US", "GB", "DE"). Recorded for analytics and used to improve future offer geo-matching. Omit if unknown — absence preserves current behavior.
price_tierNoOptional public brand price-tier focus filter: budget, mid, premium, or luxury. Input "budget" maps to the brand-level output tier "value".
gender_focusNoOptional brand audience focus filters.
category_focusNoOptional brand category focus filters, e.g. ["clothing", "shoes"].
ships_from_countryNoOptional ISO-3166-1 alpha-2 country filter for best-effort store shipping origin, e.g. "IT", "US", "GB". Lowercase input is accepted and normalized to uppercase. This is not the same as brand origin.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
brandsYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • changedInput schema / properties / limit / default
      Previous value: -8New value: +12
    • changedInput schema / properties / limit / description
      Previous value: -"Maximum number of brands to return (1-20, default 8)."New value: +"Maximum number of brands to return (1-20, default 12)."
  2. Changed6 schema fields changed
    • changedInput schema / properties / price_tier / description
      Previous value: -"Optional brand price-tier focus filter."New value: +"Optional public brand price-tier focus filter: budget, mid, premium, or luxury. Input \"budget\" maps to the brand-level output tier \"value\"."
    • changedInput schema / properties / query / description
      Previous value: -"Natural language brand search query, e.g. \"Italian streetwear brands\", \"Scandinavian minimalist brands\", \"Japanese technical outerwear\", or \"brands like Rick Owens\". Country adjectives are parsed server-side — no need to translate them into ISO codes. Optional: when omitted, results are filtered by the structured fields below."New value: +"Natural language brand search query, e.g. \"Italian streetwear brands\", \"Scandinavian minimalist brands\", \"Japanese technical outerwear\", or qualified similarity such as \"brands like Rick Owens for technical outerwear\". Use find_similar_brands for a plain \"brands like X\" request. Similarity seeds must resolve to an active catalog brand or merged alias; unknown or ambiguous seeds return no brands. Country adjectives are parsed server-side — no need to translate them into ISO codes. Optional: when omitted, results are filtered by the structured fields below."
    • changedInput schema / properties / ships_from_country / description
      Previous value: -"Optional ISO-3166 alpha-2 country filter for best-effort store shipping origin, e.g. \"IT\", \"US\", \"GB\". This is not the same as brand origin."New value: +"Optional ISO-3166-1 alpha-2 country filter for best-effort store shipping origin, e.g. \"IT\", \"US\", \"GB\". Lowercase input is accepted and normalized to uppercase. This is not the same as brand origin."
    • removedInput schema / properties / ships_from_country / maxLength
      Removed value: -2
    • removedInput schema / properties / ships_from_country / minLength
      Removed value: -2
    • addedInput schema / properties / ships_from_country / pattern
      Added value: +"^[A-Za-z]{2}$"
  3. Changed1 schema field changed
    • addedInput schema / properties / country
      Added value: +{
      +  "description": "Optional shopper location as an ISO-3166-1 alpha-2 country code (e.g. \"US\", \"GB\", \"DE\"). Recorded for analytics and used to improve future offer geo-matching. Omit if unknown — absence preserves current behavior.",
      +  "pattern": "^[A-Za-z]{2}$",
      +  "type": "string"
      +}
  4. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "$schema": "http://json-schema.org/draft-07/schema#",
      +  "additionalProperties": false,
      +  "properties": {
      +    "brands": {
      +      "items": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "about": {
      +            "type": "string"
      +          },
      +          "categories": {
      +            "items": {
      +              "type": "string"
      +            },
      +            "type": "array"
      +          },
      +          "countryOfOrigin": {
      +            "type": "string"
      +          },
      +          "domains": {
      +            "items": {
      +              "type": "string"
      +            },
      +            "type": "array"
      +          },
      +          "genders": {
      +            "items": {
      +              "type": "string"
      +            },
      +            "type": "array"
      +          },
      +          "materials": {
      +            "items": {
      +              "type": "string"
      +            },
      +            "type": "array"
      +          },
      +          "name": {
      +            "type": "string"
      +          },
      +          "priceTier": {
      +            "type": "string"
      +          },
      +          "shipsFromCountries": {
      +            "items": {
      +              "type": "string"
      +            },
      +            "type": "array"
      +          },
      +          "similarityScore": {
      +            "type": "number"
      +          },
      +          "styles": {
      +            "items": {
      +              "type": "string"
      +            },
      +            "type": "array"
      +          }
      +        },
      +        "required": [
      +          "name"
      +        ],
      +        "type": "object"
      +      },
      +      "type": "array"
      +    }
      +  },
      +  "required": [
      +    "brands"
      +  ],
      +  "type": "object"
      +}
  5. Changed1 schema field changed
    • changedInput schema / properties / query / description
      Previous value: -"Natural language brand search query, e.g. \"Italian streetwear brands\", \"minimalist Scandinavian brands\", or \"brands like Rick Owens\". Optional: when omitted, results are filtered by the structured fields below. Provide either a query, structured filters, or both."New value: +"Natural language brand search query, e.g. \"Italian streetwear brands\", \"Scandinavian minimalist brands\", \"Japanese technical outerwear\", or \"brands like Rick Owens\". Country adjectives are parsed server-side — no need to translate them into ISO codes. Optional: when omitted, results are filtered by the structured fields below."
  6. Changed6 schema fields changed
    • changedInput schema / properties / limit / default
      Previous value: -10New value: +8
    • changedInput schema / properties / limit / description
      Previous value: -"Maximum number of brands to return (1-10)."New value: +"Maximum number of brands to return (1-20, default 8)."
    • changedInput schema / properties / limit / maximum
      Previous value: -10New value: +20
    • changedInput schema / properties / query / description
      Previous value: -"Natural language brand search query, e.g. \"Italian streetwear brands\", \"minimalist Scandinavian brands\", or \"brands like Rick Owens\"."New value: +"Natural language brand search query, e.g. \"Italian streetwear brands\", \"minimalist Scandinavian brands\", or \"brands like Rick Owens\". Optional: when omitted, results are filtered by the structured fields below. Provide either a query, structured filters, or both."
    • removedInput schema / properties / query / minLength
      Removed value: -1
    • removedInput schema / required
      Removed value: -[
      -  "query"
      -]
  7. Changed1 schema field changed
    • changedInput schema / properties / style / enum
      Previous value: -[
      -  "minimalist",
      -  "streetwear",
      -  "elegant",
      -  "avant-garde",
      -  "grunge",
      -  "vintage",
      -  "y2k",
      -  "techwear",
      -  "workwear",
      -  "dark-academia",
      -  "preppy",
      -  "punk",
      -  "sportswear",
      -  "coquette",
      -  "quiet-luxury",
      -  "old-money",
      -  "gorpcore",
      -  "goth",
      -  "basics"
      -]New value: +[
      +  "minimalist",
      +  "streetwear",
      +  "elegant",
      +  "avant-garde",
      +  "grunge",
      +  "vintage",
      +  "y2k",
      +  "techwear",
      +  "workwear",
      +  "preppy",
      +  "punk",
      +  "sportswear",
      +  "coquette",
      +  "quiet-luxury",
      +  "old-money",
      +  "gorpcore",
      +  "goth",
      +  "basics",
      +  "boho",
      +  "glam",
      +  "edgy",
      +  "classic",
      +  "western"
      +]
  8. Changed1 schema field changed
    • changedInput schema / properties / gender_focus / items / enum
      Previous value: -[
      -  "women",
      -  "men",
      -  "unisex",
      -  "kids"
      -]New value: +[
      +  "women",
      +  "men",
      +  "unisex",
      +  "boys",
      +  "girls"
      +]
  9. Changed3 schema fields changed
    • addedInput schema / properties / category_focus
      Added value: +{
      +  "description": "Optional brand category focus filters, e.g. [\"clothing\", \"shoes\"].",
      +  "items": {
      +    "maxLength": 200,
      +    "type": "string"
      +  },
      +  "maxItems": 20,
      +  "type": "array"
      +}
    • addedInput schema / properties / gender_focus
      Added value: +{
      +  "description": "Optional brand audience focus filters.",
      +  "items": {
      +    "enum": [
      +      "women",
      +      "men",
      +      "unisex",
      +      "kids"
      +    ],
      +    "type": "string"
      +  },
      +  "maxItems": 20,
      +  "type": "array"
      +}
    • addedInput schema / properties / price_tier
      Added value: +{
      +  "description": "Optional brand price-tier focus filter.",
      +  "enum": [
      +    "budget",
      +    "mid",
      +    "premium",
      +    "luxury"
      +  ],
      +  "type": "string"
      +}
  10. Added

TDQS

A4.5/5.0
Behavior4/5

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

Annotations declare readOnlyHint=false and destructiveHint=false, and the description usefully explains the non-obvious side effect behind that: `country` is "recorded for analytics and used to improve future offer geo-matching." It also discloses failure behavior (unknown or ambiguous similarity seeds return no brands) and that country/shipping signals are best-effort. It does not cover pagination or rate behavior, so not a 5.

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

Conciseness4/5

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

The lead sentence front-loads purpose and the alternative-tool rule follows immediately, which is the right order. It is somewhat long and re-lists example queries that already appear verbatim in the `query` schema description, so it is not maximally tight.

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

Completeness4/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 need no explanation. The description covers input modes, the sibling alternative, server-side parsing behavior, and best-effort caveats — enough for an agent to invoke it correctly. Only minor gaps remain (e.g. no hint about result breadth beyond the `limit` default).

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 description coverage is 100%, so the baseline is 3. The description adds cross-parameter semantics the schema cannot: `query` is optional and either a query, structured filters, or both may be supplied, plus the caveat that country adjectives map to shipping-origin filters rather than brand origin. That is genuine added meaning, though it partly repeats schema examples.

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?

States a specific verb and resource ("Find fashion brands") and explicitly scopes the input modes (natural language, structured filters, or both). It also names the sibling it is not (find_similar_brands) so an agent can route without opening either 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?

Gives concrete query examples, an explicit exclusion ("For a plain 'brands like X' request, use find_similar_brands"), and the rule that country adjectives are parsed server-side rather than needing ISO translation. When-to-use and when-to-use-something-else are both covered.

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.