Trailberg — Activewear, Tracksuits & Footwear
Server Details
Shop Trailberg activewear, tracksuits, jackets, footwear and accessories for men, women and boys.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- ChatGPT
- –
- Claude
- –
TDQS
Scored across 19 tools
Several tool pairs have murky boundaries: begin_checkout vs checkout_link both return a checkout URL, view_cart vs render_cart both surface cart contents, and product_details vs render_product_detail vs complete_look_product_details (which has an empty description) all target product data. The render_* tool descriptions are heavily caveated with 'do not use this instead' warnings, which signals the overlap is a known problem rather than a clean separation.
Most tools follow snake_case verb_noun or verb_object (add_to_cart, render_product_search, update_cart_item_quantity), but there is an inconsistent render_ prefix that mixes UI-rendering tools with ones that return plain data, plus noun-only names like checkout_link and product_details. Singular/plural drift (product_details vs render_product_detail, complete_look_product_details vs render_complete_the_look) makes the pattern harder to predict.
19 tools is on the heavy side for a single storefront surface, and the cart area alone consumes eleven of them. Several of those (view_cart/render_cart, begin_checkout/checkout_link, bootstrap_cart_session) look like they could be consolidated without losing capability.
Coverage is broad for an apparel storefront: browse/search, product detail, pairing recommendations, size guide, cart CRUD, variant replacement, and checkout handoff are all present. Gaps are minor — no order status/tracking, wishlist, or returns tooling, and one tool (complete_look_product_details) has an empty description that makes its role unknowable.
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 Trailberg 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?
No annotations are provided, so the description carries the full burden and discloses almost nothing. It does not state that this is a read-only lookup, does not mention that track_action defaults to true (implying a side effect), and says nothing about permissions, caching, or what happens when product_id is omitted.
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 single sentence is front-loaded and free of filler, so it is concise in the literal sense. However, brevity here comes at the cost of substance: the sentence is too short for a six-parameter tool with no annotations rather than efficiently 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?
An output schema exists, so return values need not be described, but everything else is missing: six undocumented parameters, no annotations, and an undisclosed tracking side effect. For a tool of this parameter complexity, the definition is not complete enough for reliable 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% across six parameters, and the description adds no meaning for any of them. Terms like "selected", "buyer_context", "source_surface", and "track_action" are entirely opaque, leaving the agent unable to construct a correct call.
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 resource (one Trailberg product) and an operation (data lookup), so an agent can tell it retrieves product data rather than mutating a cart. But "normalized data" and "app-only" are unexplained jargon, and nothing distinguishes it from siblings such as render_product_detail or complete_look_product_details, which appear to cover the same resource.
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 any alternative tool. With four or five siblings operating on products, the agent is left to guess whether this is the data-fetching counterpart to a render tool or a duplicate of it.
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 Trailberg 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=true, idempotentHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description adds genuinely new behavior: it resolves a title internally rather than requiring prior search, it returns store-configured recommendations or a limitation that must be explained rather than worked around, and it forbids opening another UI to validate or compare results. It stops short of describing what the rendered recommendations look like beyond that.
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?
Lead sentence front-loads the trigger condition, and the negative constraints and cardinality rules follow in a logical order. The one weak spot is the seven-phrase example list of shopper phrasings, which is longer than needed to establish the trigger pattern and could be trimmed without losing meaning.
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 rightly omitted, and the description still covers subject resolution, ambiguity handling, cardinality, sibling routing, and the no-recommendations failure mode. For a zero-required-parameter render tool with an opaque buyer_context argument, that gap is the only thing keeping this from being fully complete.
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 both query and product_id carry their own schema descriptions, so those two are well covered in structured data. The description adds precedence logic beyond the schema ('pass a known current-store product ID, otherwise the subject's exact title in query') and removes the temptation to pre-resolve the subject via search. The third parameter, buyer_context, is not explained in either the description or the schema, leaving a residual 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 ('Render Complete the Look with store-configured complementary products and supplementary items') and enumerates the shopper phrasings it answers, so it is unmistakable against siblings like render_product_search or render_product_detail. It also states the scope of the render (store-configured pairs, not generated styling text).
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 (pairing/matching/styling requests, follow-ups where the subject is clear), explicit when-not-to (do not call after an ordinary discovery search, do not open product search/detail to prepare or rank, general suggestions without a subject belong to render_product_search), plus cardinality rules (once per subject) and an ambiguity fallback (ask which product). This is about as complete a routing contract as a description can carry.
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 Trailberg 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 supplied, the description carries the burden and does disclose a meaningful behavioral trait: the tool resolves exact product names internally, so no prior search call is needed. It also frames the operation as rendering a UI rather than mutating data. It stops short of stating side effects, session/auth requirements, or whether any cart state is touched, which keeps 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?
Purpose is front-loaded, then routing, then trigger conditions, then exclusions — a sensible priority order with no filler sentences. It runs a bit long with several separate 'do not' clauses, but each carries decision-relevant information rather than restating the 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?
An output schema exists, so return values need no explanation, and the description covers the hard parts: internal resolution, invocation triggers, and the sibling to use for complementary-item scenarios. The remaining gap is the unexplained 'selected' and 'buyer_context' inputs, which matters less for a render-only tool but is still an omission.
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. It does add real meaning for two of the four parameters — pass product_id when known, otherwise pass the exact product-name query — but says nothing about 'selected' or 'buyer_context', leaving half the inputs undocumented 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?
The description opens with a specific verb and resource — 'Render the interactive detail UI for one exact Trailberg product' — and immediately distinguishes this from rendering search results or the complete-the-look experience. An agent can tell what this tool produces and what it does not without reading 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 enumerates the exact shopper intents that should trigger it (view, inspect, review, specifications, selection from search results), states explicit exclusions (no ranking, comparing, validating, or explaining discovery results), tells the agent not to pre-resolve via product search, and names the alternative tool (render_complete_the_look) for matching items and pairings.
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 Trailberg 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 discloses the UI side effect (renders a carousel), states the no-results policy, forbids automatic follow-up calls into detail tools, and caps the call-count pattern per category. It does not mention auth/session prerequisites or whether the carousel replaces or appends to prior output, which keeps 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?
Front-loaded with purpose and the most important constraint (faithful query), then rules in priority order. A few directives overlap — "do not repeat or rephrase" is restated by the later synonyms/colours/styles sentence — so the text could shed roughly a sentence without losing meaning.
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 no explanation, and the description supplies the decision rules a 6-parameter search tool needs. The only remaining hole is buyer_context, which is undocumented in both schema and prose and could matter for personalized results.
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?
Adds real meaning beyond the 83%-covered schema: query must be the shopper's wording passed through unrewritten, and min_price/max_price are in major currency units with the non-obvious rule that using both with the same value means an exact price. Only buyer_context is left undocumented 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?
Opens with a specific verb and resource ("Search Trailberg and render the interactive product carousel") and immediately distinguishes itself from the closest sibling by naming render_complete_the_look for pair/match requests. An agent can route correctly without opening any other 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 when-to-use (browsing/discovery, single requested concept, multiple explicit categories), when-not-to-use (not a preliminary lookup for an exact product-detail request), what to do on empty results (show empty result, ask before retrying), and which alternative to pick (render_complete_the_look, product-detail tools). This is close to exhaustive routing guidance.
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 Trailberg 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 supplied, so the description carries the full burden of behavioral disclosure and largely fails it. It does not say whether the call is read-only, what 'track_action' does as a side effect, or what happens when no cart exists, and it never says the cart is left unchanged.
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. It is efficient, though the terseness is part of why the surrounding gaps exist.
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 is present, so return values need not be described, but for a five-parameter cart tool with no annotations the description is far too thin. It leaves callers guessing about the default 'current' cart, the tracking side effect, and the required session context.
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. The meaning of cart_scope_id, cart_session_id, source_surface, and especially the mutation-like track_action is left completely 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 and resource ('Return the ... cart contents') plus a qualifier ('to an already-rendered app') that hints at a rendering precondition. It does not explicitly differentiate itself from the very similar siblings render_cart, update_cart, or add_to_cart, so the reader must infer the distinction.
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 instead of render_cart (which also produces cart output) or update_cart. The phrase 'already-rendered app' implies a precondition but never states it as a rule, and no alternatives or exclusions are named.
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 Trailberg Ireland activewear, tracksuits, jackets and footwear for men, women and boys.
191Shop Aari men's clothing, activewear and footwear: jackets, hoodies, polos, trousers and tracksuits.
191Shop Lorenzo's premium streetwear, denim, hoodies, tees and tracksuits for men and women.
191Search hunting, fishing, camping and outdoor gear from brands worldwide on Ridgerunner
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceEnables AI assistants to search products, inspect ingredients and nutrition facts, manage the shopping cart, and review order history on Vilgain.cz.3 npm3MIT
- AlicenseNot gradedqualityBmaintenanceOfficial MCP Server for TheFashionDeals.com. Search real-time verified Amazon US fashion deals, discounts, and trending outfits for AI agents.1MIT
- AlicenseAqualityCmaintenanceEnables searching and retrieving product information, reviews, and details from the Decathlon Netherlands website, including suggestions, pricing, stock, and customer ratings.4GPL 3.0
- FlicenseNot gradedqualityDmaintenanceProvides secure access to Tennis Warehouse product data via natural language queries, enabling product search, availability checks, and deal discovery.-
Glama MCP Gateway
Add one secure layer between your agents and this server.