update_cart_item
Storefront: set a line's quantity (0 removes; anything above 1 is held at 1).
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| quantity | Yes | ||
| product_id | Yes |
Storefront: set a line's quantity (0 removes; anything above 1 is held at 1).
| Name | Required | Description | Default |
|---|---|---|---|
| quantity | Yes | ||
| product_id | Yes |
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full behavioral burden. It clearly discloses the non-obvious behaviors: a quantity of 0 removes the line and any quantity above 1 is clamped to 1. It does not mention auth, unknown product_id handling, or negative values, but the core mutation semantics are transparent.
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 tight sentence that front-loads the domain and action and packs both meaningful gotchas into a parenthetical. Every word earns its place.
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 two-parameter mutation tool with no output schema, this is complete enough to select and invoke. It covers the action, domain, and important edge cases. It could additionally state what happens if the product is not in the cart, but that is not essential 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?
The schema has no descriptions (0% coverage), but the description adds crucial meaning for 'quantity' by explaining its edge-case behavior. 'product_id' is self-explanatory from the name, and the phrase 'a line's quantity' ties the parameter to the cart line being modified.
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: 'set a line's quantity' in the Storefront context. The quantity behavior (0 removes, above 1 held at 1) distinguishes it from add_to_cart and remove_from_art without needing to open 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?
The Storefront context and the verb 'set' clearly imply modifying an existing cart line, which separates it from add/remove siblings. It does not explicitly name alternatives or state when not to use it, so it stops just short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Add one secure layer between your agents and this server.
Most market-data and storefront tools are cleanly scoped, but there is meaningful overlap: get_full_board and get_engine_feed are near-duplicates, get_buy_list overlaps with get_morning_brief's candidate list, and get_orders / get_order_status are identical NotOffered stubs. The free/live twin pairs are clearly labeled so agents can distinguish latency/payment intent, but the sheer number of related reads creates selection friction.
The large get_* data family is very predictable (get_stock_read, get_stock_read_live, get_rotation, get_rotation_live), and storefront ools use clear verb_noun actions (add_to_cart, remove_from_cart, save_memory). Minor deviations like checkout_handoff and the get_live_setup / get_live_rules naming (which could be misread as *_live twins) keep it from a perfect score.
46 tools is well abovethe 25+ threshold for a coherent toset; at leat13 are direc live twins of free readable plus a 14-tool storefont/memory subdomain. Many could be consoliated into ingle tools with a delay/live param or a single storefront resource, making the surface feel bloated for agents.
The market-data surface is very comphehensive: regime, buy-list, hold-state, rotation, sector, stock, crypto day/night/trend/setups, full board, archived board, changes, and engine-feed coverage leave few dead ends for the stated trading-intelligence purpose. Storefont is adequate but has minor acknowledged gaps—orders/order-status are NotOffered stubs and session memories have no update/delete—so it is not a perfect 5.