Skip to main content
Glama

Search catalog

search_products
Read-onlyIdempotent

Search the allover.art catalog; returns one card per design (good_id, code, price, url) plus the total match count. Use it for any 'find me a …' request — list_collections is for curated themed pages, get_product for one card's sizes and fabrics. Filters combine: query is free text ('cat', 'neon koi'); theme is a canonical theme (Cats, Anime, Skulls; comma-separate several); style should follow the shopper's saved fit from get_user_prefs (basic → tee, oversized → oversized); max_price is USD. Ranked by relevance with a query, by best-sellers without. No paging: you get the top limit (default 24, max 48), so narrow the filters to reach the rest. Adult-only designs are excluded; an unknown color or style returns an error listing the valid values.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "search_products"
  }
}

Input Schema

NameRequiredDescriptionDefault
colorNoMain color of the print.
limitNoMax cards to return (default 24, max 48).
queryNoFree-text search, e.g. 'cat' or 'neon koi'.
styleNoGarment cut: tee, oversized, sleeveless (men's oversized tee without sleeves), cropped (girls' cropped tee), bodysuit (baby bodysuit, 56-80 cm), long_sleeve, oversized_long_sleeve, hoodie (men's, women's and kids' French terry hoodie, on part of the designs) or oversized_hoodie (men's and women's French terry oversized hoodie, on part of the designs).
themeNoCanonical theme filter (Cats, Anime, Skulls, ...); comma-separate several.
sectionNoCatalog section.
max_priceNoOnly items priced at or below this amount, USD.

Output Schema

NameRequiredDescriptionDefault
errorNoUnknown color or style, with the valid values.
itemsNoProduct cards.
totalNoTotal catalog matches for the filters.
showingNoNumber of cards returned.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • changedInput schema / properties / style / description
      Previous value: -"Garment cut: tee, oversized, sleeveless (men's oversized tee without sleeves), cropped (girls' cropped tee), bodysuit (baby bodysuit, 56-80 cm), long_sleeve, oversized_long_sleeve or oversized_hoodie (men's and women's French terry hoodie, on part of the designs)."New value: +"Garment cut: tee, oversized, sleeveless (men's oversized tee without sleeves), cropped (girls' cropped tee), bodysuit (baby bodysuit, 56-80 cm), long_sleeve, oversized_long_sleeve, hoodie (men's, women's and kids' French terry hoodie, on part of the designs) or oversized_hoodie (men's and women's French terry oversized hoodie, on part of the designs)."
    • changedInput schema / properties / style / enum
      Previous value: -[
      -  "tee",
      -  "oversized",
      -  "sleeveless",
      -  "cropped",
      -  "bodysuit",
      -  "long_sleeve",
      -  "oversized_long_sleeve",
      -  "oversized_hoodie"
      -]New value: +[
      +  "tee",
      +  "oversized",
      +  "sleeveless",
      +  "cropped",
      +  "bodysuit",
      +  "long_sleeve",
      +  "oversized_long_sleeve",
      +  "oversized_hoodie",
      +  "hoodie"
      +]
  2. Changed1 schema field changed
    • changedInput schema / properties / style / description
      Previous value: -"Garment cut: tee, oversized, sleeveless (men's oversized tee without sleeves), cropped (girls' cropped tee), bodysuit (baby bodysuit, 56-80 cm), long_sleeve, oversized_long_sleeve or oversized_hoodie (men's French terry hoodie, on part of the designs)."New value: +"Garment cut: tee, oversized, sleeveless (men's oversized tee without sleeves), cropped (girls' cropped tee), bodysuit (baby bodysuit, 56-80 cm), long_sleeve, oversized_long_sleeve or oversized_hoodie (men's and women's French terry hoodie, on part of the designs)."
  3. Changed2 schema fields changed
    • changedInput schema / properties / style / description
      Previous value: -"Garment cut: tee, oversized, sleeveless (men's oversized tee without sleeves), cropped (girls' cropped tee), bodysuit (baby bodysuit, 56-80 cm), long_sleeve or oversized_long_sleeve."New value: +"Garment cut: tee, oversized, sleeveless (men's oversized tee without sleeves), cropped (girls' cropped tee), bodysuit (baby bodysuit, 56-80 cm), long_sleeve, oversized_long_sleeve or oversized_hoodie (men's French terry hoodie, on part of the designs)."
    • changedInput schema / properties / style / enum
      Previous value: -[
      -  "tee",
      -  "oversized",
      -  "sleeveless",
      -  "cropped",
      -  "bodysuit",
      -  "long_sleeve",
      -  "oversized_long_sleeve"
      -]New value: +[
      +  "tee",
      +  "oversized",
      +  "sleeveless",
      +  "cropped",
      +  "bodysuit",
      +  "long_sleeve",
      +  "oversized_long_sleeve",
      +  "oversized_hoodie"
      +]
  4. Changed2 schema fields changed
    • changedInput schema / properties / style / description
      Previous value: -"Garment cut: tee, oversized, sleeveless (men's oversized tee without sleeves), cropped (girls' cropped tee), long_sleeve or oversized_long_sleeve."New value: +"Garment cut: tee, oversized, sleeveless (men's oversized tee without sleeves), cropped (girls' cropped tee), bodysuit (baby bodysuit, 56-80 cm), long_sleeve or oversized_long_sleeve."
    • changedInput schema / properties / style / enum
      Previous value: -[
      -  "tee",
      -  "oversized",
      -  "sleeveless",
      -  "cropped",
      -  "long_sleeve",
      -  "oversized_long_sleeve"
      -]New value: +[
      +  "tee",
      +  "oversized",
      +  "sleeveless",
      +  "cropped",
      +  "bodysuit",
      +  "long_sleeve",
      +  "oversized_long_sleeve"
      +]
  5. Changed2 schema fields changed
    • changedInput schema / properties / style / description
      Previous value: -"Garment cut: tee, oversized, sleeveless (men's oversized tee without sleeves), long_sleeve or oversized_long_sleeve."New value: +"Garment cut: tee, oversized, sleeveless (men's oversized tee without sleeves), cropped (girls' cropped tee), long_sleeve or oversized_long_sleeve."
    • changedInput schema / properties / style / enum
      Previous value: -[
      -  "tee",
      -  "oversized",
      -  "sleeveless",
      -  "long_sleeve",
      -  "oversized_long_sleeve"
      -]New value: +[
      +  "tee",
      +  "oversized",
      +  "sleeveless",
      +  "cropped",
      +  "long_sleeve",
      +  "oversized_long_sleeve"
      +]
  6. Changed2 schema fields changed
    • changedInput schema / properties / style / description
      Previous value: -"Garment cut: tee, oversized, long_sleeve or oversized_long_sleeve."New value: +"Garment cut: tee, oversized, sleeveless (men's oversized tee without sleeves), long_sleeve or oversized_long_sleeve."
    • changedInput schema / properties / style / enum
      Previous value: -[
      -  "tee",
      -  "oversized",
      -  "long_sleeve",
      -  "oversized_long_sleeve"
      -]New value: +[
      +  "tee",
      +  "oversized",
      +  "sleeveless",
      +  "long_sleeve",
      +  "oversized_long_sleeve"
      +]
  7. Changed3 schema fields changed
    • changedInput schema / properties / section / description
      Previous value: -"Catalog section: mens, womens or kids."New value: +"Catalog section."
    • addedInput schema / properties / section / enum
      Added value: +[
      +  "mens",
      +  "womens",
      +  "kids"
      +]
    • addedOutput schema / properties / error
      Added value: +{
      +  "description": "Unknown color or style, with the valid values.",
      +  "type": "string"
      +}
  8. Changed2 schema fields changed
    • addedInput schema / properties / color
      Added value: +{
      +  "description": "Main color of the print.",
      +  "enum": [
      +    "Black",
      +    "Grey",
      +    "White",
      +    "Navy",
      +    "Beige",
      +    "Turquoise",
      +    "Pink",
      +    "Brown",
      +    "Red",
      +    "Purple",
      +    "Olive",
      +    "Blue",
      +    "Green",
      +    "Yellow",
      +    "Orange",
      +    "Burgundy",
      +    "Multicolor"
      +  ],
      +  "type": "string"
      +}
    • addedInput schema / properties / style
      Added value: +{
      +  "description": "Garment cut: tee, oversized, long_sleeve or oversized_long_sleeve.",
      +  "enum": [
      +    "tee",
      +    "oversized",
      +    "long_sleeve",
      +    "oversized_long_sleeve"
      +  ],
      +  "type": "string"
      +}
  9. Changed6 schema fields changed
    • addedInput schema / properties / limit / description
      Added value: +"Max cards to return (default 24, max 48)."
    • addedInput schema / properties / max_price / description
      Added value: +"Only items priced at or below this amount, USD."
    • addedInput schema / properties / query / description
      Added value: +"Free-text search, e.g. 'cat' or 'neon koi'."
    • addedInput schema / properties / section / description
      Added value: +"Catalog section: mens, womens or kids."
    • addedInput schema / properties / theme / description
      Added value: +"Canonical theme filter (Cats, Anime, Skulls, ...); comma-separate several."
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "properties": {
      +    "items": {
      +      "description": "Product cards.",
      +      "items": {
      +        "properties": {
      +          "code": {
      +            "type": "string"
      +          },
      +          "currency": {
      +            "type": "string"
      +          },
      +          "good_id": {
      +            "type": "integer"
      +          },
      +          "image": {
      +            "type": "string"
      +          },
      +          "price": {
      +            "type": "number"
      +          },
      +          "product": {
      +            "type": "string"
      +          },
      +          "theme": {
      +            "type": "string"
      +          },
      +          "title": {
      +            "type": "string"
      +          },
      +          "url": {
      +            "description": "Canonical product page.",
      +            "type": "string"
      +          }
      +        },
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "showing": {
      +      "description": "Number of cards returned.",
      +      "type": "integer"
      +    },
      +    "total": {
      +      "description": "Total catalog matches for the filters.",
      +      "type": "integer"
      +    }
      +  },
      +  "type": "object"
      +}
  10. First observed

TDQS

A4.8/5.0
Behavior5/5

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

Annotations already declare readOnly/idempotent/non-destructive/openWorld=false, so the bar is lower, yet the description adds substantial behavior: relevance ranking with a query versus best-sellers without, no pagination at all, a hard 48-card ceiling, exclusion of adult-only designs, and that an invalid color or style returns an error enumerating valid values. These are exactly the runtime traits an agent cannot infer from 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.

Conciseness5/5

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

Front-loaded with what the tool returns before any caveats, then proceeds through alternatives, filter semantics, ranking, paging limits, and failure modes in a tight sequence. Every clause carries information — there is no filler, and the dense semicolon packing suits a filter-heavy search tool.

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?

For a 7-parameter, zero-required search tool with an output schema, the definition covers the hard parts: ranking mode, the absence of paging and how to work around it, filter combination logic, and error behavior. Only minor gaps remain, such as whether filters are AND-ed across different facets or whether section interacts with style values.

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 schema already documents every parameter and the baseline would be 3. The description nonetheless adds meaning beyond it: how filters combine, that theme is canonical and comma-separable, that max_price is USD, that limit defaults to 24 and caps at 48, and the mapping from saved fit to style values — genuinely new semantics rather than restatement.

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 ('Search the allover.art catalog') and immediately defines the return shape: one card per design with good_id, code, price, url plus total match count. It also names the siblings it is not — list_collections for curated pages, get_product for a single card's sizes and fabrics — so an agent can discriminate without opening any 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?

Explicitly scopes use to any 'find me a …' request and gives a positive routing rule against two named alternatives. It goes further by telling the agent to derive the style filter from get_user_prefs (basic → tee, oversized → oversized), which is a real when-to-use dependency rather than generic advice.

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