Dream Is Free — Streetwear, Denim & Hoodies
Server Details
Shop Dream Is Free streetwear, denim, hoodies, jackets, joggers, knitwear, footwear and accessories.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- ChatGPT
- –
- Claude
- –
TDQS
Scored across 19 tools
Several tool pairs have soft boundaries that require careful reading to separate: render_cart vs view_cart, begin_checkout vs checkout_link, and product_details vs render_product_detail. complete_look_product_details has no description at all, making it indistinguishable from product_details/render_complete_the_look. The remaining cart mutation tools (update_cart, update_cart_item_quantity, replace_cart_item_variant) are well differentiated by their descriptions.
The dominant convention is clear snake_case verb_noun (add_to_cart, remove_from_cart, render_product_search, update_cart_item_quantity). A few names drop the verb and are bare noun phrases (product_details, checkout_link, complete_look_product_details), which breaks the pattern mildly but is still readable.
At 19 tools the surface sits in the heavy band for a storefront, and a handful are internal/duplicative (bootstrap_cart_session, render_action_confirmation, track_product_link, the undocumented complete_look_product_details). The core browse-and-cart operations do justify most slots, but consolidation toward ~15 would sharpen the set.
The browse → detail → complete-the-look → cart → checkout handoff lifecycle is fully covered, plus size guidance and variant swapping. Gaps are minor: no order status/history, wishlist, or inventory/stock-availability lookup after checkout is handed off.
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 Dream Is Free 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, the description carries the full burden and discloses almost nothing beyond implying a read via "lookup". Critically, it never mentions that the track_action parameter defaults to true, meaning a nominal "lookup" may record an analytics event — an undisclosed side effect. Permissions, cost, and failure behavior are all unstated.
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, so structure is fine. The brevity is under-specification rather than genuine conciseness, since the one sentence omits information an agent needs.
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 six-parameter tool with zero annotation coverage and zero schema descriptions, a single sentence leaves the agent without the parameter meaning, side-effect disclosure, or sibling routing needed to invoke it correctly.
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, and the description explains none of them: query, selected, product_id, track_action, buyer_context, and the source_surface enum are entirely undocumented in prose. The phrase "one ... product" only faintly gestures at product_id and gives no meaning for the rest.
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 sentence names a resource (one Dream Is Free product) and a vague operation ("normalized data lookup"), so the intent is inferable but the verb is not a concrete action like get/fetch. "App-only" is unexplained jargon, and nothing separates this from siblings such as complete_look_product_details or render_product_detail.
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 named alternative. The only contextual hint is the opaque "App-only" qualifier, which an agent cannot act on when choosing between this and the several product-related siblings.
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 Dream Is Free 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 establish readOnly and idempotent, and the description adds real behavior beyond them: internal ID/title resolution, a one-call-per-subject cardinality rule, and a defined failure mode ('if no matching products are configured, explain the returned limitation without inventing pairs'). It stops short of describing latency, result size, or ordering, keeping it from a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The trigger condition and call-cardinality rules are front-loaded, which is the right structure for a routing-sensitive tool. However, the long enumeration of near-duplicate example utterances ('what can I match?', 'suitable matching suggestions', 'recommend matching products') adds bulk without adding decision value, and the no-search-before-resolving rule is stated twice in different forms.
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 description covers the remaining agent-critical decisions: trigger detection, subject resolution, ambiguity fallback, call budget, and empty-result handling. Nothing needed to invoke it correctly is missing.
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 67% and the schema itself already states that product_id is preferred over query and warns against inventing IDs, so the description's 'pass a known current-store product ID, otherwise the subject's exact title' largely restates it. The third parameter, buyer_context, is neither described in the schema nor mentioned in the description, leaving an undocumented input.
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 ('Render Complete the Look with store-configured complementary products and supplementary items') and explicitly contrasts itself with render_product_search for subjectless suggestions. An agent can distinguish this from product_details, render_product_detail, and search without opening any schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It enumerates trigger phrasings, covers follow-up pairing requests with anaphora, states the ambiguity rule ('ask which product rather than guessing'), names the sibling that owns the out-of-scope case, and gives explicit call-count limits (once per subject). Negative guidance is unusually thorough: no auto-call after discovery search, no opening search or detail to prepare or validate.
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 Dream Is Free 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?
With no annotations, the description carries the full burden and does disclose meaningful behavior: the tool resolves a product name internally, returns an interactive UI rather than raw data, and should not be invoked automatically. It does not cover what happens on an ambiguous or non-matching query, nor whether rendering has any side effects, which keeps it short of a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is front-loaded with the purpose before routing rules, and the exclusion sentences genuinely prevent misuse. The 'use only when' and 'do not call automatically' clauses overlap slightly, costing a bit of tightness but not readability.
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-shape explanation is unnecessary, and the routing/alternative guidance is thorough. The remaining gap is the undocumented selected and buyer_context inputs, which matter for a four-parameter tool with zero schema 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%, so the description must compensate, and it does explain the two core inputs: pass product_id when known, otherwise pass the exact product-name query because resolution happens internally. The selected and buyer_context parameters get no mention at all, leaving half the inputs 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 first sentence states a specific verb (render), resource (interactive detail UI), and scope (one exact product), so an agent knows precisely what it produces. It also names the sibling it is not — render_complete_the_look — making it separable from the adjacent detail/styling tools without opening any schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicit triggers are given (shopper asks to view, inspect, review, or get specs for one exact product, or selects from search results), explicit exclusions are given (not for ranking, comparing, validating, or explaining discovery results), and an alternative is named for matching-item queries. It even rules out the tempting intermediate step of calling product search 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 Dream Is Free 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 supplied, the description carries the full burden and does disclose key behavior: empty results are shown as-is and require confirmation before retrying, and results must not be fed into detail tools. It does not state the hard cap of 10 results or anything about latency/availability, so disclosure is strong but not exhaustive.
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 and the dense rule list is mostly operational rather than filler. There is some repetition around not rephrasing or repeating searches across two separate sentences that could be merged.
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 an output schema present, return values need no explanation, and the description covers the search, budget, and anti-chaining behaviors thoroughly. The only uncovered element is the buyer_context parameter, which no field documents.
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 high (83%), so baseline is 3, and the description earns above that by adding the pass-through rule for query and the non-obvious rule that min_price and max_price should be set to the same value only for an exact price. The buyer_context object remains unexplained in both schema and 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?
"Search Dream Is Free and render the interactive product carousel" gives a concrete verb, resource, and rendered output in one clause. It also distinguishes itself from siblings by naming product-detail lookups and render_complete_the_look as the correct path for other intents.
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 when-to-use (browsing/discovery, not a preliminary lookup for an exact product request), when-not-to-use (don't auto-open product-detail tools to rank or validate), and the alternative for pairing scenarios (render_complete_the_look). It also sets call-count rules per category and forbids synonym/colour/style rewrites.
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 Dream Is Free 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. It does not mention that track_action defaults to true (an undisclosed logging side effect), whether a cart is created when none exists, how a null cart_id resolves, or that the call is idempotent/non-mutating.
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 redundancy. It is short, though partly because required detail is omitted rather than because the content is dense.
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 5 undocumented parameters, no annotations, and no output-schema explanation needed, the description is too thin for the tool's complexity. The key gaps are parameter meaning, the tracking side effect, and its relationship to render_cart and bootstrap_cart_session.
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, so the description must compensate and largely does not. Only a faint hint about the 'current' cart exists; cart_scope_id, cart_session_id, source_surface, and especially the track_action side effect are 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?
States a specific verb ('Return') and resource ('current Dream Is Free cart contents'), and the clause 'to an already-rendered app' signals this is a data read rather than a UI render. It does not explicitly name render_cart or update_cart as the sibling it is not, leaving mild ambiguity in a crowded cart-tool family.
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?
'To an already-rendered app' implies a precondition (a cart surface already exists), which hints at when this applies versus render_cart. However, there is no explicit when-to-use, when-not-to-use, or named alternative, so the agent must infer the routing.
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.
191Search and explore taste-led finds in clothing, audio, designed objects and music.
Human culture news, trends and search across sports, music, fashion and streetwear.
Live sneaker & streetwear prices and in-stock sizes across 600+ US stores, by style code.
Related MCP Servers
- 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
- FlicenseAqualityAmaintenanceVerified records on 60 niche fashion subcultures (years, key brands, iconic items, where to buy, price range, and a WARNING on what each must not be confused with). Catalog and a sample record are free; full records cost $0.01 each, paid over x402 in USDC on Base.3-
- FlicenseNot gradedqualityCmaintenanceDTC competitor intelligence: catalog snapshots, price history, cross-brand product comparison, and drop/restock detection for 84 Shopify-powered brands. Pay-per-call via Apify.-
- 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
Glama MCP Gateway
Add one secure layer between your agents and this server.