Aari Clothing — Premium Menswear, Activewear & Footwear
Server Details
Shop Aari men's clothing, activewear and footwear: jackets, hoodies, polos, trousers and tracksuits.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- ChatGPT
- –
- Claude
- –
TDQS
Scored across 19 tools
Several tool pairs have unclear boundaries: begin_checkout vs checkout_link both return a checkout/continue URL, render_cart vs view_cart both surface cart contents, product_details vs render_product_detail both resolve one product, and complete_look_product_details (with a completely empty description) vs render_complete_the_look are essentially indistinguishable from names alone. The verbose render_* descriptions help somewhat, but an agent must read carefully to avoid misselecting.
There is a recognizable pattern (render_* for UI surfaces, verb_noun for cart mutations), but it breaks down with noun-only names like product_details, checkout_link, and complete_look_product_details, plus view_cart sitting next to render_cart. Readable but mixed conventions across the set.
At 19 tools this is on the heavy side for a storefront assistant, with several infrastructure tools (bootstrap_cart_session, render_action_confirmation, track_product_link) consuming slots. Each has a rationale, but the surface feels padded rather than tightly scoped.
Cart lifecycle is thorough — add, remove, update, quantity, variant replace, cancel, view/render, and checkout handoff — and discovery covers search, detail, pairing, and sizing. Minor gaps remain around post-purchase order status and account/wishlist operations, which agents cannot work around at all.
Available Tools
19 toolsadd_to_cartCInspect
Add a product variant to the current store cart and preserve existing items.
| Name | Required | Description | Default |
|---|---|---|---|
| cart_id | No | ||
| quantity | No | ||
| variant_id | Yes | ||
| buyer_context | No | ||
| cart_scope_id | No | ||
| source_surface | No | unknown | |
| cart_session_id | No | ||
| subject_product_id | No | ||
| recommendation_type | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| type | No | |
| empty | No | |
| items | No | |
| cartId | No | |
| totals | No | |
| message | Yes | |
| storeId | Yes | |
| snapshotAt | No | |
| cartScopeId | No | |
| cartVersion | No | |
| continueUrl | No | |
| emptyReason | No | |
| snapshotMode | No | |
| cartSessionId | No | |
| lineItemCount | No | |
| cartSessionState | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are supplied, so the description carries the full behavioral burden, and it discloses only that existing cart items are preserved. It says nothing about what happens when no cart exists (cart_id, cart_scope_id, and cart_session_id are all optional), whether the call is idempotent, what errors or stock limits apply, or what authorization is needed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler, and the key action leads. The brevity is efficient, though it borders on under-specification given the parameter surface.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With nine parameters, zero schema descriptions, and no annotations, the description is far too thin; an output schema exists so return values need not be explained, but cart-resolution logic and the meaning of the context/attribution fields are missing. An agent could call it with just variant_id but would be guessing at quantity semantics and cart targeting.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across nine parameters, and the description only implicitly covers variant_id via 'product variant'. Quantity, cart_id, cart_scope_id, cart_session_id, buyer_context, source_surface, subject_product_id, and recommendation_type are entirely unexplained in prose, leaving resolution and attribution semantics opaque.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb and resource ('Add a product variant to the current store cart'), so the core action is unambiguous. It does not name or contrast with siblings such as replace_cart_item_variant or update_cart_item_quantity, which prevents a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'preserve existing items' implicitly distinguishes this additive operation from the replace/update siblings, giving an agent a usable signal. However, there is no explicit when-to-use/when-not-to-use guidance and no mention of how to choose between this and replace_cart_item_variant or update_cart_item_quantity.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
begin_checkoutBInspect
Validate the current cart and return its checkout handoff URL.
| Name | Required | Description | Default |
|---|---|---|---|
| source_surface | No | cart | |
| cart_session_id | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| type | No | |
| empty | No | |
| items | No | |
| cartId | No | |
| totals | No | |
| message | Yes | |
| storeId | Yes | |
| snapshotAt | No | |
| cartScopeId | No | |
| cartVersion | No | |
| continueUrl | No | |
| emptyReason | No | |
| snapshotMode | No | |
| cartSessionId | No | |
| lineItemCount | No | |
| cartSessionState | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are supplied, so the description carries the full burden; it does say validation happens and that a handoff URL is returned, but nothing about what happens when validation fails (empty cart, out-of-stock, expired session), whether it mutates cart or checkout state, or what permissions are needed. For a checkout-transition tool with zero annotation coverage this is a substantial gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single tight sentence with the action front-loaded and no filler. It is efficient, though the brevity is partly under-specification rather than genuine concision.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 not be explained, but with 0% parameter coverage and no annotations the description leaves the two inputs, failure behavior, and the boundary against checkout_link entirely undocumented. The definition is too thin for a checkout-initiating tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% for both parameters, and the description never mentions source_surface or cart_session_id, nor the enum values and defaults. Only the phrase 'current cart' indirectly hints that a cart session may be optional, which is insufficient compensation for undocumented parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Validate') plus the resource ('current cart') and names the output ('checkout handoff URL'), which is far more informative than the bare name. It stops short of distinguishing itself from the sibling checkout_link, so the agent cannot fully tell which one to pick.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to call this versus checkout_link or view_cart, no precondition such as a non-empty cart, and no exclusion for already-started checkouts. Usage has to be inferred entirely from the name and description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bootstrap_cart_sessionCInspect
Create or validate the opaque cart session used by this app surface.
| Name | Required | Description | Default |
|---|---|---|---|
| cart_session_id | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| type | No | |
| empty | No | |
| items | No | |
| cartId | No | |
| totals | No | |
| message | Yes | |
| storeId | Yes | |
| snapshotAt | No | |
| cartScopeId | No | |
| cartVersion | No | |
| continueUrl | No | |
| emptyReason | No | |
| snapshotMode | No | |
| cartSessionId | No | |
| lineItemCount | No | |
| cartSessionState | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations supplied, the description carries the full burden. "Opaque" usefully signals the value should not be parsed, but nothing explains what happens when a supplied cart_session_id is expired, malformed, or belongs to another session, nor whether validation failure raises an error or silently creates a new session. The create-vs-validate fork is the tool's central behavior and it is left unexplained.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One sentence, front-loaded with the operative verbs and resource, with no padding or repetition. Its brevity is appropriate to a one-parameter tool, though the space saved is not used to disambiguate the create/validate branch.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return-value structure need not be explained, which relieves much of the burden. However, for a session-bootstrapping tool with zero annotation coverage and an undocumented optional parameter, the definition leaves the failure and idempotency behavior unstated, which is material for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for the single optional cart_session_id parameter, and the description never mentions it. The agent cannot tell from either source whether omitting it creates a fresh session and supplying it validates an existing one, which is the key semantic distinction the description needed to supply.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb pair and resource: "Create or validate the opaque cart session." That clearly separates it from siblings like add_to_cart, update_cart, and render_cart, which all operate on existing cart contents rather than establishing the session itself. The phrase "used by this app surface" is vague but does not obscure the core purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use guidance, no mention of ordering relative to add_to_cart or begin_checkout, and no statement about whether this is idempotent or only called once per session. The phrase "used by this app surface" hints at context but gives the agent nothing actionable about when to invoke it versus simply calling a cart tool directly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cancel_cartCInspect
Cancel and clear the current store cart completely.
| Name | Required | Description | Default |
|---|---|---|---|
| cart_id | No | current | |
| cart_scope_id | No | ||
| source_surface | No | cart | |
| cart_session_id | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| type | No | |
| empty | No | |
| items | No | |
| cartId | No | |
| totals | No | |
| message | Yes | |
| storeId | Yes | |
| snapshotAt | No | |
| cartScopeId | No | |
| cartVersion | No | |
| continueUrl | No | |
| emptyReason | No | |
| snapshotMode | No | |
| cartSessionId | No | |
| lineItemCount | No | |
| cartSessionState | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are supplied, so the description carries the full behavioral burden for a destructive mutation. It does not say whether the cancelled cart is recoverable, whether an in-progress checkout or session is invalidated, what permissions or auth are needed, or what happens to cart_scope_id/cart_session_id state. Only "completely" hints at the blast radius.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler or repetition. It is efficient, though its brevity is part of the under-specification problem rather than a virtue in itself.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 not be described, but for a destructive no-annotation tool with four undocumented parameters the description is far too thin. An agent learns what it does but not the consequences, the scope-selection semantics, or how it differs operationally from remove_from_cart and update_cart.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across four parameters, and the description compensates for none of them: cart_id, cart_scope_id, cart_session_id, and the source_surface enum are all left unexplained. Worse, calling out only the "current" cart arguably steers the agent away from the cart_id default of "current" and its override capability.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb pair ("Cancel and clear") and resource ("the current store cart"), which distinguishes it from item-level siblings like remove_from_cart and update_cart_item_quantity. The word "completely" signals whole-cart scope, though the phrase "current store cart" sits awkwardly next to a cart_id parameter that can point elsewhere.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use or when-not-to-use guidance and no sibling is named as an alternative. The adverb "completely" implies this is for emptying the whole cart rather than removing a single line item, but the agent must infer that distinction from the sibling list itself.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
checkout_linkCInspect
Get the current continue/checkout URL for the store cart.
| Name | Required | Description | Default |
|---|---|---|---|
| cart_id | No | current | |
| cart_scope_id | No | ||
| cart_session_id | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| type | No | |
| empty | No | |
| items | No | |
| cartId | No | |
| totals | No | |
| message | Yes | |
| storeId | Yes | |
| snapshotAt | No | |
| cartScopeId | No | |
| cartVersion | No | |
| continueUrl | No | |
| emptyReason | No | |
| snapshotMode | No | |
| cartSessionId | No | |
| lineItemCount | No | |
| cartSessionState | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are supplied, so the description carries the full behavioral burden. 'Get' weakly implies a read with no side effects, but the description says nothing about whether the call creates or mutates cart state, what happens when no cart/session exists, whether an anonymous session is created implicitly, or whether the returned URL is stable or single-use.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with the resource front-loaded and no filler. Its brevity is not verbosity waste, though it verges on under-specification rather than tightness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 not be explained, but the definition leaves three undocumented parameters, no safety/mutation profile, and unclear boundaries with begin_checkout. For a cart-session-aware retrieval tool with three overlapping identifiers, that is not enough to call it confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for three parameters (cart_id, cart_scope_id, cart_session_id), all nullable with defaults. The description only vaguely implies cart scoping ('for the store cart') and does not explain the difference between the three identifiers or the meaning of the 'current' default, so it does not compensate for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: 'Get the current continue/checkout URL for the store cart.' An agent knows the return is a URL and that it relates to the store cart. It stops short of distinguishing itself from the sibling begin_checkout, which sounds like it could also produce a checkout URL.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use clause, no prerequisites (e.g. cart must exist / session must be bootstrapped), and no mention of alternatives despite a closely related sibling (begin_checkout) and adjacent tools (view_cart, render_cart). The agent must infer the routing decision entirely.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
complete_look_product_detailsDInspect
| Name | Required | Description | Default |
|---|---|---|---|
| product_id | Yes | ||
| track_action | No | ||
| source_surface | No | complete_look |
Output Schema
| Name | Required | Description |
|---|---|---|
| type | No | |
| store | Yes | |
| message | Yes | |
| product | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Tool has no description.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Tool has no description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Tool has no description.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Tool has no description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Tool has no description.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Tool has no description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
product_detailsProduct detailsCInspect
App-only normalized data lookup for one Aari Clothing product.
| Name | Required | Description | Default |
|---|---|---|---|
| query | No | ||
| selected | No | ||
| product_id | No | ||
| track_action | No | ||
| buyer_context | No | ||
| source_surface | No | product_detail |
Output Schema
| Name | Required | Description |
|---|---|---|
| type | No | |
| store | Yes | |
| message | Yes | |
| product | Yes | |
| selected | No | |
| sizeGuide | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations supplied, the description carries the full behavioral burden. "Lookup" weakly implies a read, but the description never states permissions, side effects, or that `track_action` defaults to true, which is a non-trivial behavioral trait. "App-only" hints at a constraint but is not defined, leaving the agent unable to assess whether the call is safe or has hidden effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single front-loaded sentence with no wasted words, which is structurally clean. The problem is under-specification rather than verbosity, but the sentence itself is efficiently constructed.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a six-parameter tool with zero schema descriptions and no annotations, the description is far too thin to guide correct invocation. An output schema exists, so return values need not be explained, but the input contract and behavioral side effects remain unexplained. It identifies the resource and cardinality but little else.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across six parameters, including opaque names such as `query`, `selected`, `buyer_context`, and `source_surface`. The description only implies that `product_id` identifies the single product; it adds no meaning for the other five parameters. This falls well short of compensating for the undocumented schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a verb ("normalized data lookup") and a resource scope ("one Aari Clothing product"), so the basic purpose is inferable. But "data lookup" is vague about what data is returned (details, variants, availability, pricing), and it does not distinguish itself from `render_product_detail` or `complete_look_product_details`. The phrase "App-only" is unexplained jargon that an agent cannot act on.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of alternatives such as `render_product_detail` or `complete_look_product_details`. The single sentence gives no signal about which product-detail-adjacent sibling to select or when this normalized lookup is preferable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
remove_from_cartCInspect
Remove one cart item by line_id or variant_id from the current store cart.
| Name | Required | Description | Default |
|---|---|---|---|
| cart_id | No | current | |
| line_id | No | ||
| variant_id | No | ||
| buyer_context | No | ||
| cart_scope_id | No | ||
| source_surface | No | cart | |
| cart_session_id | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| type | No | |
| empty | No | |
| items | No | |
| cartId | No | |
| totals | No | |
| message | Yes | |
| storeId | Yes | |
| snapshotAt | No | |
| cartScopeId | No | |
| cartVersion | No | |
| continueUrl | No | |
| emptyReason | No | |
| snapshotMode | No | |
| cartSessionId | No | |
| lineItemCount | No | |
| cartSessionState | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It implies a mutation and a default "current" cart, but says nothing about behavior when the item is absent (error vs. no-op), whether it requires an existing cart session or auth, whether price/totals are recalculated, or whether removal is reversible — all material for a destructive cart mutation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler, which is well structured. It is arguably over-terse for a seven-parameter mutation, but it wastes no words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Output schema exists, so return values need not be described, and the enum values are visible in the schema. Still, for a 7-parameter, zero-coverage, unannotated mutation, one sentence leaves identifier selection rules and the meaning of four contextual parameters undocumented.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 7 parameters, and the description only gestures at line_id, variant_id and an implicit default cart. It never explains precedence between line_id and variant_id, that all parameters are optional so a call with neither identifier is possible, or what buyer_context, cart_scope_id, cart_session_id and the source_surface enum actually control.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ("Remove one cart item") plus the two identifying keys (line_id or variant_id) and the scope ("current store cart"). That is enough to separate it from add_to_cart and replace_cart_item_variant, though it never names those siblings explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use or when-not-to-use guidance is given. There is no mention of how this differs from update_cart_item_quantity with a zero quantity, no note about requiring a prior bootstrap_cart_session or view_cart, and no exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
render_action_confirmationRender action confirmationCInspect
Return a compact action confirmation contract for interactive rendering.
| Name | Required | Description | Default |
|---|---|---|---|
| title | Yes | ||
| action | Yes | ||
| cart_id | No | ||
| message | Yes | ||
| quantity | No | ||
| continue_url | No | ||
| product_title | No | ||
| variant_title | No | ||
| line_item_count | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| type | No | |
| title | Yes | |
| action | Yes | |
| cartId | No | |
| status | No | |
| message | Yes | |
| subject | No | |
| continueUrl | No | |
| lineItemCount | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are supplied, so the description carries the full burden. It never says whether this is a pure read/render operation or whether confirming an 'action' triggers a side effect (e.g. adding to cart), nor does it explain that cart_id/quantity are optional context fields.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single front-loaded sentence with no wasted words, but that brevity comes at the cost of substance rather than being genuinely efficient1 it is under-specified rather than tight.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 not be described, but a 9-parameter tool with no annotations and zero parameter coverage needs the description to explain parameter roles and side effects, and it does neither.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are 9 parameters at 0% schema description coverage, and the description adds no meaning for any of them. Optional fields such as cart_id, quantity, continue_url, variant_title, and line_item_count are completely undocumented in both places.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The verb 'Return' and the resource 'action confirmation contract' are present, but 'contract for interactive rendering' is internal jargon that does not tell an agent concretely what is produced or how it differs from siblings like render_cart or render_product_detail, all of which also 'render' something.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool versus additions like render_cart, update_cart, or begin_checkout, and no prerequisites or exclusions. The agent must infer usage entirely from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
render_cartShow or view cartARead-onlyIdempotentInspect
Always call this tool when the shopper asks to show, open, view, review, or check their cart. It renders the interactive cart UI; do not replace it with a text-only cart summary.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| type | No | |
| empty | No | |
| items | No | |
| cartId | No | |
| totals | No | |
| message | Yes | |
| storeId | Yes | |
| snapshotAt | No | |
| cartScopeId | No | |
| cartVersion | No | |
| continueUrl | No | |
| emptyReason | No | |
| snapshotMode | No | |
| cartSessionId | No | |
| lineItemCount | No | |
| cartSessionState | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is covered. The description adds real context beyond those annotations: it produces an interactive UI surface, not a text summary, which materially changes what the agent emits to the shopper. It omits what happens with an empty or uninitialized cart, which the bootstrap_cart_session sibling hints could matter.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, both earning their place: the first front-loads the trigger intents, and the second states the output form and the forbidden fallback. No repetition of the title or name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no parameters, an output schema, and full annotation coverage, the description only needs to establish trigger conditions and output form, and it does both. The one missing piece is disambiguation from the sibling view_cart, which shares obvious semantic territory with this tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters and the schema is 100% covered, so there is no parameter meaning for the description to supply. The baseline for a no-parameter tool applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb and resource: it 'renders the interactive cart UI' rather than a text-only summary, which is a meaningful distinction. It does not, however, distinguish itself from the sibling view_cart, whose name suggests near-identical intent, so an agent must guess which one to pick.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It has strong when-to-use guidance, covering 'show, open, view, review, or check their cart' and instructing to always call this tool for those intents. It also gives an explicit prohibition against substituting a text-only summary. The notable gap is that it never says when to prefer this over view_cart, an overlapping sibling.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
render_complete_the_lookComplete the lookARead-onlyIdempotentInspect
Use this when a shopper wants Aari Clothing products to pair, match, style or wear with a specific product. Render Complete the Look with store-configured complementary products and supplementary items. Examples: 'what can I pair with this?', 'what can I match?', 'suggest a suitable pair', 'suitable matching suggestions', 'recommend matching products', 'what goes well with it?', 'dress to pair with this product', or 'complete this outfit'. Follow-up pairing requests also need this tool when the subject is clear from current-store context; the shopper does not need to say 'Complete the Look' or 'call the tool'. Do not substitute a text-only styling answer for fetching store recommendations. For one subject product, call this tool exactly once. For multiple explicitly named subject products, call it at most once per subject. Do not call it automatically after an ordinary discovery search, and do not additionally open product search or product detail merely to prepare, validate, rank, compare, or explain these recommendations. Pass a known current-store product ID, otherwise the subject's exact title in query; this tool resolves it internally. Do not call product search first merely to resolve the subject. If 'this/it' is ambiguous or no subject is identified, ask which product rather than guessing. General shopping suggestions without a subject belong to render_product_search. If no matching products are configured, explain the returned limitation without inventing pairs or opening another UI.
| Name | Required | Description | Default |
|---|---|---|---|
| query | No | Subject product's exact current-store title, extracted from user wording or prior store context, when product_id is unknown. Example: 'Painter Tee - Black'. Do not pass the whole pairing question, 'this product', or the desired matching category. | |
| product_id | No | Exact Shopify product GID of the subject to match, from a previous current-store result. Prefer this over query; never invent an ID or use a different store's ID. | |
| buyer_context | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| type | No | |
| pairs | No | |
| store | Yes | |
| message | Yes | |
| notices | No | |
| subject | Yes | |
| accessories | No | |
| initialProductId | No | |
| pairsEmptyMessage | No | |
| supplementaryTitle | No | |
| accessoriesEmptyMessage | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false, and openWorldHint=false. The description adds meaningful behavior beyond those annotations: it resolves the subject internally, must be called exactly once per subject, must not open extra product UIs, and must explain returned limitations instead of inventing pairs.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with purpose and examples, then moves into operational constraints, alternative routing, parameter usage, ambiguity handling, and limitations. It is longer than typical and includes some repeated guardrails, but the structure is clear and most sentences carry useful routing or behavioral information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 is complete for this render tool: it covers intended use, alternatives, subject resolution, ambiguity, call limits, fallback behavior, and what not to substitute. The only notable gap is buyer_context, which is optional and does not undermine correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already documents query and product_id in detail, and the description mainly reinforces the product_id-over-query preference plus internal subject resolution. However, buyer_context has no description in either the schema or the tool description, leaving one of three parameters undefined.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action: render Complete the Look with store-configured complementary and supplementary products for a subject product. It clearly distinguishes this from product search, product detail, and general styling answers, so an agent can identify the tool without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives explicit when-to-use conditions, many shopper phrasings, follow-up request handling, call-count rules for one versus multiple subjects, exclusions such as not calling automatically after discovery search, and the alternative render_product_search for general suggestions. Ambiguous 'this/it' handling is also specified.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
render_product_detailRender product detailAInspect
Render the interactive detail UI for one exact Aari Clothing product. Pass a product_id when known; otherwise pass the exact product-name query directly because this tool resolves it internally. Use this only when the shopper explicitly asks to view, inspect, review, or get specifications for one exact product, or selects a product from search results. Do not call it automatically to rank, compare, validate, or explain discovery results. Do not call product search first to resolve the product. For matching items, recommended pairs or what to wear with this product, use render_complete_the_look instead.
| Name | Required | Description | Default |
|---|---|---|---|
| query | No | ||
| selected | No | ||
| product_id | No | ||
| buyer_context | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| type | No | |
| store | Yes | |
| message | Yes | |
| product | Yes | |
| selected | No | |
| sizeGuide | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are supplied, so the description carries the full behavioral burden. It usefully discloses that the tool renders an interactive client UI and internally resolves a product name, but says nothing about what happens on zero or multiple matches, whether resolution costs time, or whether the render is idempotent across repeated calls.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the action and input precedence before the when/when-not rules, and every sentence blocks a specific failure mode (auto-calling, pre-searching, wrong sibling). Slightly long, but no sentence is filler; the 'view, inspect, review, get specifications' list is the only mild padding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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, and the routing, exclusions and input precedence are complete for an agent to choose correctly. The remaining gap is behavioral edge cases (no match, ambiguous name) and the two undocumented optional parameters, which matter given zero annotation coverage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across four parameters, so the description must compensate. It does real work for two of them: product_id 'when known' and query as the exact product-name fallback, including the precedence rule that the tool resolves names internally. However, 'selected' and 'buyer_context' are never mentioned, leaving half the inputs with no meaning anywhere.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb plus resource: 'Render the interactive detail UI for one exact Aari Clothing product.' It names what it is not (render_product_search, render_complete_the_look) and scopes to a single exact product, so an agent can separate it from the discovery and pair-recommendation siblings without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicit positive triggers ('shopper explicitly asks to view, inspect, review, or get specifications for one exact product, or selects a product from search results') and explicit exclusions ('do not call it automatically to rank, compare, validate, or explain discovery results'). It also names the alternative for pair/matching intent and forbids a wasteful product-search round trip first.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
render_product_searchRender product searchAInspect
Search Aari Clothing and render the interactive product carousel. Pass the shopper's product wording through in query without rewriting it. When the shopper states a budget, provide min_price and/or max_price in major currency units; use both with the same value only for an exact price. For one requested category or concept, call this tool exactly once and do not repeat or rephrase the search. If no products are returned, show the empty result and ask before trying a different query or relaxing constraints. For multiple explicitly requested categories, use one faithful combined search when possible; otherwise call this tool once per distinct category. Do not create separate searches for synonyms, colours, styles, audiences, or alternative wording. Use this for browsing or discovery, not as a preliminary lookup for an exact product-detail request. Do not automatically open product-detail tools for returned products to rank, compare, validate, or explain the results. For products to pair or match with a referenced item, use render_complete_the_look instead.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum products to return. | |
| query | Yes | The shopper's product wording, passed to Shopify unchanged. | |
| currency | No | ISO 4217 currency code. | |
| max_price | No | Optional maximum price in major currency units. | |
| min_price | No | Optional minimum price in major currency units. | |
| buyer_context | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| type | No | |
| query | Yes | |
| store | Yes | |
| message | Yes | |
| products | No | |
| matchType | Yes | |
| explanation | No | |
| resultCount | No | |
| suggestions | No | |
| rawResultCount | No | |
| recommendedView | No | |
| searchCandidates | No | |
| resolvedProductId | No | |
| totalCandidateResults | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does well: it specifies empty-result handling ('show the empty result and ask before trying a different query'), forbids chaining into product-detail tools, and sets an exactly-once rule. It does not mention permissions, rate limits, or whether the carousel is stateful, which are the remaining gaps for an unannotated tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Purpose is front-loaded in sentence one and each subsequent sentence is a concrete directive rather than filler. It runs long (roughly ten sentences) and the repeated prohibitions on rephrasing overlap somewhat, but nothing is pure padding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return-value explanation is correctly omitted, and the search/price/category behaviors are well covered. The only omission is buyer_context, which is undocumented in both schema and description, leaving the agent to guess its shape and effect.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 83%, so the baseline is 3, but the description adds real meaning: query must be passed verbatim without rewriting, and min_price/max_price are in major currency units with the rule that both set to the same value means an exact price. Only buyer_context goes unmentioned in both places.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The opening sentence names a specific verb and resource ('Search Aari Clothing and render the interactive product carousel'), and the closing sentences distinguish it from product_details and render_complete_the_look. An agent can differentiate it from every sibling without opening a schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives explicit when-to-use ('browsing or discovery'), explicit when-not ('not as a preliminary lookup for an exact product-detail request'), and names the alternative path ('use render_complete_the_look instead'). It even defines call-count policy for single vs. multiple categories and forbids synonym re-searches.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
render_size_guideSize guideAInspect
Render this connected store's size guide or size chart. Use for requests about sizing, measurements, clothing sizes, children's sizes, or footwear sizing. The result explains when the connected store does not provide the requested guide.
| Name | Required | Description | Default |
|---|---|---|---|
| query | No | size guide |
Output Schema
| Name | Required | Description |
|---|---|---|
| type | No | |
| query | Yes | |
| store | Yes | |
| catalog | No | |
| message | Yes | |
| available | Yes | |
| selectedGuideId | No | |
| visibleGuideIds | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It usefully discloses fallback behavior when the store does not provide the requested guide, but it does not state that the operation is read-only, whether it has side effects, or any permission requirements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences, front-loaded with the core action and followed by usage triggers and fallback behavior. Every sentence adds useful information without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple render tool with an output schema, the description covers purpose, usage triggers, and the no-guide fallback. The main gap is the undocumented query parameter, but otherwise it is complete enough for an agent to select and invoke the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is one optional query parameter with 0% schema description coverage, so the description should compensate. It never explains what the query should contain, its format, or how the default "size guide" is used, leaving parameter meaning largely undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb, "Render," and a specific resource, "size guide or size chart," making the tool's purpose immediately clear. It distinguishes the tool from cart and product siblings through the sizing domain, though it does not explicitly name an alternative sibling.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly lists when to use the tool: requests about sizing, measurements, clothing sizes, children's sizes, or footwear sizing. It does not provide when-not-to-use guidance or name alternative tools, but the usage context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
replace_cart_item_variantCInspect
Replace one cart item with another variant, such as switching size or color.
| Name | Required | Description | Default |
|---|---|---|---|
| cart_id | No | current | |
| line_id | No | ||
| quantity | No | ||
| buyer_context | No | ||
| cart_scope_id | No | ||
| new_variant_id | Yes | ||
| old_variant_id | No | ||
| source_surface | No | cart | |
| cart_session_id | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| type | No | |
| empty | No | |
| items | No | |
| cartId | No | |
| totals | No | |
| message | Yes | |
| storeId | Yes | |
| snapshotAt | No | |
| cartScopeId | No | |
| cartVersion | No | |
| continueUrl | No | |
| emptyReason | No | |
| snapshotMode | No | |
| cartSessionId | No | |
| lineItemCount | No | |
| cartSessionState | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and delivers almost nothing: no mention of whether the replacement is atomic, whether quantity is preserved or reset, what happens if old_variant_id or line_id is omitted, or whether the operation requires an active cart session. For a 9-parameter mutation tool this is a serious gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no wasted words and the key example placed immediately after the purpose. Brevity is appropriate, though it comes partly at the cost of completeness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 needn't be explained, but the description still leaves a mutation tool with nine parameters and zero annotation coverage badly under-described. An agent cannot safely determine how to target the line being replaced.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description should compensate for nine undocumented parameters, yet it explains none of them. The ambiguity between line_id and old_variant_id, the cart_id default of "current", and the role of cart_scope_id, cart_session_id, buyer_context, and source_surface are all left unaddressed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ("Replace one cart item with another variant") with a concrete example ("switching size or color"). That distinguishes it from add_to_cart and remove_from_cart, but it never names a sibling or explains why it beats update_cart.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The size/color example implies when to use it, but there is no explicit guidance on when not to use it versus add_to_cart, update_cart, or update_cart_item_quantity, nor any stated prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
track_product_linkAInspect
App-only analytics acknowledgement after requesting a product link to open. Never a product lookup or navigation tool.
| Name | Required | Description | Default |
|---|---|---|---|
| product_id | Yes | ||
| variant_id | No | ||
| source_surface | No | unknown | |
| destination_domain | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=false, openWorldHint=false, and the description correctly reinforces that this is a non-destructive telemetry write with no lookup or navigation side effect. Beyond that it says nothing about what the write records, whether it is idempotent, or whether calling it affects subsequent navigation, so added behavior context is modest.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, zero padding, and the exclusion is front-loaded enough to prevent misuse. The terseness borders on under-specification rather than waste, so the structure earns high marks.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 not be described, and the annotation set covers the safety profile. The remaining gap is parameter meaning and the exact call ordering relative to requesting and opening a link, which an agent would still have to guess.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 0% description coverage across four parameters (product_id, variant_id, source_surface enum, destination_domain), so the description carries the full burden and mentions none of them. Only the phrase 'product link' indirectly hints at product_id and destination_domain; the meaning of source_surface's enum values and when to supply variant_id are left entirely unexplained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action (analytics acknowledgement after requesting a product link to open) and explicitly fences off the most likely misreading ('Never a product lookup or navigation tool'). 'Acknowledgement' is somewhat vague about what is actually recorded, but the verb+resource is concrete enough to distinguish it from lookup siblings like product_details.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives a triggering context ('after requesting a product link to open'), a platform restriction ('App-only'), and an explicit exclusion ('never a product lookup or navigation tool'), which routes agents away from wrongly using it for retrieval. It does not name the preferred alternative tool for lookups or state whether the call is mandatory versus optional telemetry.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_cartBInspect
Replace the current store cart contents with the supplied full line item list.
| Name | Required | Description | Default |
|---|---|---|---|
| cart_id | No | current | |
| line_items | Yes | ||
| buyer_context | No | ||
| cart_scope_id | No | ||
| source_surface | No | cart | |
| cart_session_id | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| type | No | |
| empty | No | |
| items | No | |
| cartId | No | |
| totals | No | |
| message | Yes | |
| storeId | Yes | |
| snapshotAt | No | |
| cartScopeId | No | |
| cartVersion | No | |
| continueUrl | No | |
| emptyReason | No | |
| snapshotMode | No | |
| cartSessionId | No | |
| lineItemCount | No | |
| cartSessionState | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden, and it usefully discloses that existing cart contents are replaced. It does not state permission requirements, whether an empty list clears the cart, whether other cart state is reset, or how cart scoping interacts with replacement.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single front-loaded sentence with no wasted wording. Every phrase contributes to the core replacement semantics.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a six-parameter destructive mutation with no annotations and no schema descriptions, but the definition is only one sentence. The output schema reduces the need to document return values, yet the missing parameter guidance and limited behavioral detail leave the definition incomplete for the tool's complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate, but it only clarifies that line_items is the full list rather than a delta. The other five parameters, including cart_id, buyer_context, cart_scope_id, source_surface, and cart_session_id, receive no explanation beyond their names.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: replacing the current store cart contents with a full line item list. It implicitly distinguishes itself from incremental siblings like add_to_cart and update_cart_item_quantity by specifying full replacement, but it does not name any sibling explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'full line item list' implies this tool should be used for wholesale cart replacement rather than incremental edits. However, it gives no explicit when-to-use or when-not-to-use guidance and does not direct the agent to alternatives such as update_cart_item_quantity or add_to_cart.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_cart_item_quantityCInspect
Set the quantity of one cart item by line_id or variant_id in the current store cart.
| Name | Required | Description | Default |
|---|---|---|---|
| cart_id | No | current | |
| line_id | No | ||
| quantity | Yes | ||
| variant_id | No | ||
| buyer_context | No | ||
| cart_scope_id | No | ||
| source_surface | No | cart | |
| cart_session_id | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| type | No | |
| empty | No | |
| items | No | |
| cartId | No | |
| totals | No | |
| message | Yes | |
| storeId | Yes | |
| snapshotAt | No | |
| cartScopeId | No | |
| cartVersion | No | |
| continueUrl | No | |
| emptyReason | No | |
| snapshotMode | No | |
| cartSessionId | No | |
| lineItemCount | No | |
| cartSessionState | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. 'Set the quantity' usefully implies an absolute replacement rather than an increment, but it says nothing about whether quantity=0 removes the line, what happens when the referenced line or variant is absent, permission/auth requirements, or whether the mutation is reversible. For an unannotated write tool this is a significant gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler that puts the verb, the target, and the alternative identifiers up front. It is slightly under-specified for a tool with this parameter surface, but the sentence itself wastes nothing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 not be described, and the core operation is conveyed. However, with 8 parameters at 0% schema coverage and no annotations, an agent still lacks the meaning of four session/context parameters and the removal semantics at quantity=0, which is more than a minor omission for a mutation tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 8 parameters, and the description only covers quantity, line_id, variant_id, and loosely the cart. cart_scope_id, cart_session_id, buyer_context, and source_surface are entirely unexplained, and the interaction between the two targeting identifiers is left unstated, so the description compensates poorly for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb and resource ('Set the quantity of one cart item') and identifies the two addressing modes (line_id or variant_id), which separates it from add_to_cart and remove_from_cart. It does not explicitly distinguish itself from the sibling update_cart, leaving some ambiguity about which tool to pick for cart-level edits.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this versus update_cart, replace_cart_item_variant, or remove_from_cart, and no explanation of what quantity=0 does or which identifier takes precedence when both line_id and variant_id are supplied. The only implicit guidance is 'in the current store cart', which rests on a default rather than stated policy.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
view_cartView cartCInspect
Return the current Aari Clothing cart contents to an already-rendered app.
| Name | Required | Description | Default |
|---|---|---|---|
| cart_id | No | current | |
| track_action | No | ||
| cart_scope_id | No | ||
| source_surface | No | cart | |
| cart_session_id | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| type | No | |
| empty | No | |
| items | No | |
| cartId | No | |
| totals | No | |
| message | Yes | |
| storeId | Yes | |
| snapshotAt | No | |
| cartScopeId | No | |
| cartVersion | No | |
| continueUrl | No | |
| emptyReason | No | |
| snapshotMode | No | |
| cartSessionId | No | |
| lineItemCount | No | |
| cartSessionState | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full disclosure burden, yet it never says whether the call is read-only, whether it creates a cart when none exists, or what happens if the cart is empty. The only behavioral hint is "already-rendered app," which implies a rendering-context dependency but leaves it unexplained. Parameters such as track_action and source_surface also imply side effects (analytics tracking, surface attribution) that go unmentioned.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single front-loaded sentence with no filler or redundancy. The brevity is appropriate in form, though here it edges toward under-specification rather than efficiency.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 not be explained, but for a five-parameter tool with zero schema coverage and no annotations the description is far too thin. It leaves the cart identity parameters, the tracking flag, and the relationship to the render_* and bootstrap_cart_session siblings entirely unresolved.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across five parameters, and the description mentions none of them. cart_id, cart_scope_id, and cart_session_id overlap confusingly and are not disambiguated anywhere, and the track_action flag's effect is entirely undocumented. Even the enumerated source_surface values receive no explanation of why the calling surface matters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description supplies a specific verb and resource ("Return the current Aari Clothing cart contents"), which is clearer than the bare name. However, with siblings like render_cart, update_cart, and bootstrap_cart_session in the same family, "return contents" does not clearly establish how this differs from render_cart or whether it mutates state. The phrase "to an already-rendered app" gestures at a distinction but never states it plainly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use or when-not-to-use guidance. An agent facing both view_cart and render_cart gets no rule for choosing between them, and no prerequisites (such as needing an existing cart or session) are stated beyond the vague "already-rendered app" clause.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
19 tool updates
- First observed
add_to_cart - First observed
begin_checkout - First observed
bootstrap_cart_session - First observed
cancel_cart - First observed
checkout_link - First observed
complete_look_product_details - First observed
product_details - First observed
remove_from_cart - First observed
render_action_confirmation - First observed
render_cart - First observed
render_complete_the_look - First observed
render_product_detail - First observed
render_product_search - First observed
render_size_guide - First observed
replace_cart_item_variant - First observed
track_product_link - First observed
update_cart - First observed
update_cart_item_quantity - First observed
view_cart
Related MCP Connectors
Shop Lorenzo's premium streetwear, denim, hoodies, tees and tracksuits for men and women.
191Shop Trailberg activewear, tracksuits, jackets, footwear and accessories for men, women and boys.
191Search and explore taste-led finds in clothing, audio, designed objects and music.
Search fashion across 1,000+ retailers; compare prices, sizes and stock by country.
Related MCP Servers
- AlicenseAqualityDmaintenanceEnables AI assistants to browse, search, and purchase limited-edition fashion from Kenya, with tools for product details, stock checks, styling advice, and cart link generation.10MIT
- AlicenseAqualityAmaintenanceThe premier fashion & apparel Model Context Protocol server. AI bounding box outfit deconstruction, 100% in-stock occasion looks, live size stock, and 1-click checkout.10166 npmMIT
- AlicenseAqualityBmaintenanceEnables AI assistants to search and recommend Christian streetwear, faith apparel, trucker hats, and clogs, while providing theological insights, sizing guides, gift suggestions, and direct 1-click Shopify checkout links.9330 npmMIT
- FlicenseNot gradedqualityDmaintenanceAI commerce platform — WooCommerce store products, flights, tours, activities and local transport via MCP. Search, availability and booking tools. No auth for public endpoint.-
Glama MCP Gateway
Add one secure layer between your agents and this server.