Skip to main content
Glama

Server Details

Search and get fashion products recommendations across multiple e-ecom stores

Status
Healthy
Last Tested
Transport
Streamable HTTP
URL
Repository
vistoya/vistoya-mcp
GitHub Stars
0
Server Listing
Vistoya

Glama MCP Gateway

Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.

MCP client
Glama
MCP server

Full call logging

Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.

Tool access control

Enable or disable individual tools per connector, so you decide what your agents can and cannot do.

Managed credentials

Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.

Usage analytics

See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.

100% free. Your data is private.
Tool DescriptionsA

Average 4.7/5 across 6 of 6 tools scored.

Server CoherenceA
Disambiguation5/5

Each tool targets a distinct resource and action: brands vs. products, discover vs. similarity, filters vs. product details. The boundaries are clear even between discover_brands and find_similar_brands, thanks to explicit descriptions of when to use each.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern in snake_case, using discover/find/get as verbs. The naming is uniform and predictable, with no mixed conventions or ambiguous synonyms.

Tool Count5/5

Six tools is an ideal size for a marketplace discovery server. Each tool has a clear purpose and collectively they cover search, similarity, filters, and retrieval without being bloated or sparse.

Completeness5/5

The tool surface covers the full discovery workflow: finding brands and products, refining by filters, getting similar items, and fetching detailed product data. No significant gaps are evident for the stated purpose of a fashion market search API.

Available Tools

6 tools
discover_brandsA
Read-only
Inspect

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.

ParametersJSON 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

ParametersJSON Schema
NameRequiredDescription
brandsYes
Behavior5/5

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

Annotations already indicate readOnlyHint=true and destructiveHint=false, but the description adds meaningful behavioral context: country adjectives are parsed server-side, similarity seeds must resolve to an active catalog brand, unknown/ambiguous seeds return no brands, and shipping-origin signals are best-effort and separate from product availability. These details go well beyond the annotations and help prevent false expectations.

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?

The description is four sentences, front-loaded with the core purpose, and every sentence adds useful information: examples, an alternative, server-side parsing behavior, and a caveat about best-effort signals. There is no redundancy or filler, striking an ideal balance between detail and brevity.

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?

For an 8-parameter tool with no required parameters and an output schema, the description covers selection criteria, invocation modes, parameter interplay, and edge cases (unknown seeds, optional queries). The output schema handles return-value documentation, so nothing essential is missing. It is complete for an agent to select and invoke the tool 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 baseline is 3. The description adds value by clarifying the relationship between query and structured filters, noting query optionality, and explaining the best-effort nature of shipping filters. While much of this repeats schema descriptions, the description consolidates it into a cohesive usage narrative, earning slightly above baseline.

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?

The description opens with a specific verb+resource statement: 'Find fashion brands using natural language, structured filters, or both.' It clearly differentiates from siblings by explicitly directing plain 'brands like X' queries to find_similar_brands, and the brand-vs-product distinction is obvious from the sibling names. This is unambiguous and useful.

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?

The description provides explicit when-to-use guidance with rich examples ('Italian streetwear brands', 'Scandinavian minimalist brands') and names an alternative: 'For a plain "brands like X" request, use find_similar_brands.' It also clarifies when query is optional and how to combine it with structured filters, giving the agent clear decision criteria.

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

discover_productsA
Read-only
Inspect

Find fashion products using natural language and/or structured filters. Provide a query for semantic ranking via multimodal text+image embeddings ("oversized wool coat", "black leather jacket", "minimalist gold jewelry", "linen shirt for a beach wedding under $200") — best for open-ended discovery. Keep queries concrete: noun-led with up to one or two modifiers works best ("summer linen shirt" beats "breathable linen shirt perfect for summer"). Provide only structured filters (category, brand, colors, gender, price, etc.) for pure browse — results are recency-ranked and paginate cleanly. Combine both for filtered semantic search. At least one of query or a filter must be provided.

Example calls (notice the sparse filter population — descriptive attributes stay in query, not in structured fields):

  • "linen wedding guest dress under $200" → {query: "linen wedding guest dress", gender: "women", max_price: 200, materials: ["linen"]}

  • "wool coat under $300" → {query: "wool coat", gender: "women", max_price: 300, materials: ["wool"]}

  • "browse women's black dresses $100-$300" → {gender: "women", category: "clothing/dresses", colors: ["black"], min_price: 100, max_price: 300}

  • "Acne Studios outerwear" → {query: "outerwear", brand: "Acne Studios", gender: "women"}

Returns compact product cards: AI-generated summary, price, images, tags, and compact availability by color/size; variant price differences are nested under the availability dimension that determines price. For merchant description, store info, SKU-level variants, exact variant prices, and all product images, call get_product with a product ID from these results. Multi-currency prices supported (e.g. "under 200 zł" or min_price=200 + currency="PLN"); returned prices render in the requested currency when provided.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number.
brandNoFilter by brand name
limitNoPage size (1-20, default 12)
queryNoNatural language search query — be descriptive for best results. Can include price with currency symbols (e.g. "white coat under 200 zł") which will be parsed automatically. Optional: when omitted, results are filtered by the structured fields below and ranked by recency. Provide either a query, structured filters, or both.
colorsNoFilter by lowercase colors: e.g. ["black", "navy", "sage green"]
genderNoGender filter.
seasonNoSeason filter. Soft descriptor — set ONLY when the user explicitly named the season. The `query` field already captures season semantically; over-specifying is the most common cause of zero-result calls.
stylesNoStyle filter (OR semantics — a product matches if any of its `styles` values is in this list). Pass a single value to filter by one style ("styles": ["minimalist"]); pass several to span a related set ("styles": ["basics", "minimalist", "preppy", "sportswear"] for a "Casual" bucket). Soft descriptor — set ONLY when the user explicitly named one or more styles. The `query` field already captures style semantically; over-specifying is the most common cause of zero-result calls.
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.
patternNoPattern filter (e.g. solid, stripe, checked, floral). Soft descriptor — set ONLY when the user explicitly named the pattern. Default for unspecified ("solid") leaks into queries and zeros the candidate set; omit when unsure.
sleevesNoSleeve style filter. Soft descriptor — set ONLY when the user explicitly named the sleeve style. Do not infer from category or query.
categoryNoCategory slug, e.g. "clothing", "clothing/jackets", "clothing/jackets/bomber-jackets". Accepts last-segment shortcuts when unambiguous — e.g. "loafers-and-slip-ons" resolves the same as "shoes/loafers-and-slip-ons", and "bomber-jackets" resolves the same as "clothing/jackets/bomber-jackets".
currencyNoISO 4217 currency code for min_price/max_price (e.g. "PLN", "EUR", "GBP"). Prices are converted to USD for filtering. Omit for USD.
necklineNoNeckline filter. Soft descriptor — set ONLY when the user explicitly named the neckline. Do not infer from category or query.
occasionNoOccasion filter. Soft descriptor — set ONLY when the user explicitly named the occasion. The `query` field already captures occasion semantically; over-specifying is the most common cause of zero-result calls.
materialsNoFilter by lowercase materials: e.g. ["cotton", "silk", "leather"]
max_priceNoMaximum price (in the currency specified by "currency" param, or USD if omitted)
min_priceNoMinimum price (in the currency specified by "currency" param, or USD if omitted)
silhouetteNoSilhouette/fit filter (e.g. fitted, slim, regular, relaxed, oversized). Soft descriptor — set ONLY when the user explicitly named the fit. The `query` field already captures silhouette semantically; over-specifying is the most common cause of zero-result calls.
color_matchNoColor matching mode. "any" (default): product has at least one of the queried colors. "exact": product has at least one image where the ONLY colors are the queried colors — use for mono-color searches like "all black".any
store_domainNoFilter by store domain (e.g. "thereformation.com"). Accepts forms with protocol, www, locale subdomain, or path — they are normalized to match the registered store.
exclude_colorsNoExclude products with these colors: e.g. ["white", "beige"]
is_sustainableNoTrue when the user explicitly wants products with sustainability claims.
available_sizesNoFilter by available size labels, e.g. ["s", "m", "38"].
exclude_materialsNoExclude products with these materials: e.g. ["polyester", "nylon"]

Output Schema

ParametersJSON Schema
NameRequiredDescription
pageYes
productsYes
marketUrlYes
hasNextPageYes
Behavior5/5

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

Beyond the readOnlyHint annotation, the description discloses behavioral nuances: semantic ranking vs recency ranking, pagination, output format (compact product cards), multi-currency handling, and the zero-result risk from over-specifying filters. It also explains nested variant price differences, adding meaningful context not available in annotations.

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 description is long but well-structured with clear sections, examples, and a logical flow from purpose to usage to output. Every paragraph adds operational detail without filler. Given the tool's 25-parameter complexity, the length is justified, though it is more verbose than strictly necessary in places.

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?

The description covers discovery modes, price parsing, currency conversion, output card content, and the explicit handoff to get_product for deeper data. With an output schema already present, it still adds context on return semantics and edge cases, making it complete for the tool's complexity.

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

Parameters5/5

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

Input schema has 100% coverage, so baseline is 3. The description adds substantial value: concrete query-construction tips ('noun-led with up to one or two modifiers works best'), example mappings from natural language to sparse filter populations, and explicit warnings that soft descriptors are the most common cause of zero-result calls. It clarifies category shortcuts, store domain normalization, and currency conversion—all beyond the schema's per-parameter descriptions.

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?

The description opens with a clear verb+resource ('Find fashion products') and explains the three operation modes (semantic query, structured browse, hybrid). It also positions itself against get_product, the deep-dive sibling, making its role as a discovery endpoint unmistakable.

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 tells when to use semantic query vs structured filters vs both, and explicitly directs users to get_product for deep product details: 'For merchant description, store info, SKU-level variants, exact variant prices, and all product images, call get_product...' It also warns against over-specifying soft descriptors, providing actionable when-not guidance.

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

find_similar_brandsA
Read-only
Inspect

Given an active catalog brand name or merged alias, find similar brands using brand-profile vectors generated during product indexing. Unknown or ambiguous seeds return no brands. Returns up to 20 brands.

ParametersJSON Schema
NameRequiredDescriptionDefault
brandYesBrand name (case-insensitive), e.g. "Rick Owens".
limitNo
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.

Output Schema

ParametersJSON Schema
NameRequiredDescription
brandsYes
Behavior5/5

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

The description adds meaningful behavioral context beyond the readOnlyHint and destructiveHint annotations: it reveals the vector-based mechanism, the requirement for active/merged aliases, the 'returns no brands' edge case for unknown/ambiguous inputs, and a hard limit of 20 results. This gives the agent a clear model of what will happen.

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?

The description is two dense sentences, front-loaded with the core purpose, and every word provides useful information without redundancy. It efficiently covers the input constraint, mechanism, edge case, and output limit.

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?

The combination of description, annotations, and output schema fully covers the tool's behavior. The description handles the key business logic (seed requirements, no results, cap), while the output schema presumably documents return structure, so no further explanation is needed.

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?

The schema already describes 'brand' and 'country' explicitly, and the description adds extra semantics for 'brand' (must be active or merged alias) and 'limit' (implied by 'Returns up to 20'). The description does not discuss 'country' beyond the schema, but the schema already covers it, so the marginal value is still positive.

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?

The description clearly states the verb 'find' and the resource 'similar brands', and specifies the method ('using brand-profile vectors generated during product indexing'). It also distinguishes from siblings like discover_brands and find_similar_products by focusing on brand similarity based on a seed brand.

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

Usage Guidelines4/5

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

The description provides clear context: the seed must be an 'active catalog brand name or merged alias', and unknown seeds return nothing. However, it does not explicitly name alternative tools or state when not to use this tool, such as 'for browsing all brands use discover_brands'.

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

find_similar_productsA
Read-only
Inspect

Given a product ID, find similar products across the entire catalog. Useful for "more like this" recommendations or finding alternatives. Returns compact product cards, not full variant detail; call get_product for SKU-level variants, exact variant prices, merchant description, store info, and all images. Returns page and hasNextPage. Returns up to 20 results per page, paginated (max 3 pages).

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number (1-3)
limitNoPage size (1-20)
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.
currencyNoISO 4217 currency code to render prices in (e.g. "GBP", "EUR", "USD"). Defaults to USD. Stored native prices are preferred; falls back to FX conversion when a merchant-set price isn't available.
product_idYesThe product ID (from a previous search result)

Output Schema

ParametersJSON Schema
NameRequiredDescription
pageYes
productsYes
hasNextPageYes
Behavior5/5

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

The description adds meaningful behavioral context beyond the readOnlyHint=true annotation: it discloses pagination behavior ('Returns page and hasNextPage... up to 20 results per page, paginated (max 3 pages)') and output shape ('compact product cards, not full variant detail'). There is no contradiction with the annotations.

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?

Three sentences, front-loaded with purpose, then usage guidance, then pagination details. Every sentence earns its place, with no filler or redundant restatement of schema information.

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?

Given the rich schema, output schema, and readOnly annotations, the description sufficiently covers what the tool returns, how pagination works, and which sibling to call for more detail (get_product). It provides enough context for correct selection and invocation without over-specifying.

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

Parameters3/5

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

Schema description coverage is 100%, so the description does not need to compensate for missing schema details. It adds no parameter-specific meaning beyond the schema: pagination caps are already in page/limit descriptions, and product_id is already described as 'from a previous search result.' The description contextualizes output and usage, not the parameters themselves.

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?

Description uses a specific verb+resource ('find similar products across the entire catalog') and clearly states the input ('Given a product ID') and purpose ('more like this' recommendations or finding alternatives). It also distinguishes itself from get_product by contrasting compact product cards vs full variant detail, avoiding tautology and sibling confusion.

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 states when to use the tool ('more like this' recommendations or finding alternatives) and provides an explicit alternative: 'call get_product for SKU-level variants, exact variant prices, merchant description, store info, and all images.' It also communicates scope ('across the entire catalog') and limitations ('not full variant detail'), satisfying when-not guidance.

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

get_filtersA
Read-only
Inspect

Returns available filter values in the catalog. By default returns categoryTree plus brands, colors, materials, genders, occasions, seasons, styles, silhouettes, currencies, and price range. Use "fields" to request only specific dimensions — faster and less data. "categoryTree" is a flat DFS-ordered list of { value, label } entries; hierarchy is encoded in the value slug (e.g. "clothing/jackets/bomber-jackets"), parents appear before descendants, and every value can be passed directly to discover_products.category. Use "brand_search" to search brands by prefix instead of listing all. Pass "gender" to scope categoryTree to that gender (women/men/girls/boys); omit to see the merged union.

ParametersJSON Schema
NameRequiredDescriptionDefault
fieldsNoWhich filter dimensions to return. Omit for all. Example: ["categoryTree", "colors", "priceRange"]
genderNoScope categoryTree to this gender. Omit to return the merged union across women/men/girls/boys.
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.
brand_pageNoPage number for brands (12 per page). Use with or without brand_search.
brand_searchNoSearch brands by name (case-insensitive, prefix matches first). Only affects the brands field.

Output Schema

ParametersJSON Schema
NameRequiredDescription
brandsNo
colorsNo
stylesNo
gendersNo
seasonsNo
patternsNo
materialsNo
occasionsNo
currenciesNo
priceRangeNo
silhouettesNo
categoryTreeNo
Behavior5/5

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

Beyond the readOnlyHint annotation, the description discloses significant behavioral details: the DFS-ordered categoryTree with hierarchy encoded in slugs, parents-before-descendants ordering, compatibility with discover_products.category, case-insensitive prefix matching for brand_search, and the analytics purpose of the country parameter. This goes well beyond the structured annotations.

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?

The description is well-structured and front-loaded, opening with the core purpose before moving to defaults, then practical tips, then technical details. Every sentence contributes valuable information without redundancy; it is appropriately sized for the tool's complexity.

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?

Given the output schema and annotations, the description covers all essential aspects: what the tool returns, how to control it, underlying data structures, cross-tool usage, and parameter interactions. It leaves no critical gaps for an agent to select and invoke the tool correctly.

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

Parameters5/5

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

While the schema already documents each parameter, the description enriches understanding by explaining default values, how 'fields' controls the response, the structure of categoryTree, and the behavior of gender scoping and brand_search. It also notes that country absence preserves current behavior, adding nuance beyond the schema.

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?

The description explicitly states 'Returns available filter values in the catalog', specifying the exact resource and action. It further distinguishes this tool from sibling discovery tools by describing its focus on filter dimensions and connecting categoryTree values to discover_products.category.

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?

The description provides actionable usage guidance: it explains the default behavior (all dimensions), suggests using 'fields' to request only specific dimensions for speed, and details 'brand_search' for prefix-based brand lookup. It also clarifies gender scoping and the behavior when omitted, giving clear when-to-use context.

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

get_productA
Read-only
Inspect

Get the detailed response for a specific product ID. Use this after discover_products or find_similar_products when you need merchant description, store info, all images, SKU-level availability variants, SKU, colorKey/size matrix, exact variant prices/compareAtPrice in the requested currency, and the direct link to purchase.

ParametersJSON Schema
NameRequiredDescriptionDefault
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.
currencyNoISO 4217 currency code to render prices in (e.g. "GBP", "EUR", "USD"). Defaults to USD.
product_idYesThe product ID (from a previous search result)

Output Schema

ParametersJSON Schema
NameRequiredDescription
idYes
tagsNo
brandNo
priceYes
storeNo
titleYes
colorsNo
genderNo
imagesNo
inStockNo
sleevesNo
summaryNo
categoryNo
closuresNo
currencyYes
necklineNo
materialsNo
productUrlNo
silhouetteNo
availabilityYes
isSustainableNo
compareAtPriceNo
relevanceScoreNo
similarityScoreNo
merchantDescriptionNo
Behavior4/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds valuable behavioral context by enumerating what the detailed response contains (merchant description, store info, images, SKU variants, pricing in requested currency, direct link), which helps the agent set expectations about the output. Nothing contradicts the annotations.

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 description is a single, fairly long sentence that front-loads the core purpose and then lists use-case details. It is efficient in word count but slightly dense due to the enumeration of output fields. It earns points for being front-loaded and non-repetitive, but could be structured as multiple sentences for improved readability.

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?

Given the tool's simplicity (3 params, one required) and the presence of an output schema, the description is complete: it defines the purpose, provides workflow context (after discovery tools), enumerates returned content, and mentions currency handling. No critical information is missing for effective tool selection and invocation.

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

Parameters3/5

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

Schema description coverage is 100%, with all three parameters clearly explained in the input schema (e.g., product_id from a previous search, currency ISO code). The description only mentions "product ID" and "requested currency" without adding new semantic detail. Baseline 3 is appropriate because schema carries the parameter meaning.

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?

The description opens with a specific verb+resource: "Get the detailed response for a specific product ID," which immediately conveys the tool's function. It further distinguishes itself from sibling tools by framing the tool as a post-discovery retrieval step, listing the specific data fields returned (merchant description, images, SKU matrix, prices) and making clear this is the tool for detailed product data.

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

Usage Guidelines4/5

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

The description explicitly states when to use the tool: "Use this after discover_products or find_similar_products when you need..." This provides clear contextual guidance and names the preceding discovery tools. It does not explicitly articulate when not to use it, but the workflow implication is strong enough to guide an agent effectively.

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

Discussions

No comments yet. Be the first to start the discussion!

Related MCP Servers

View all MCP Servers

Try in Browser

Your Connectors

Sign in to create a connector for this server.