Skip to main content
Glama

View basket

view_basket
Read-onlyIdempotent

Use this to show what is in the customer's teas.co.uk basket, with the live subtotal and a delivery estimate. Prices and stock are read again on every call. basket_id is only for hosts that do not identify the customer: pass the one an earlier basket tool returned. A basket is kept for 35 days after its last change. An unknown basket_id, or a basket never filled, comes back empty (no lines, no delivery price) rather than as an error. To add products use add_to_basket, to change quantities use update_basket, and to pay use checkout_link.

Input Schema

NameRequiredDescriptionDefault
basket_idNoOnly for hosts that do not identify the user: the basket_id returned by an earlier basket tool in this conversation. Leave it out otherwise.

Output Schema

NameRequiredDescriptionDefault
itemsYesNumber of items in the basket.
linesYes
deliveryYes
messagesYesAnything that could not be added or changed, in plain words.
subtotalNoPounds including VAT, before delivery.
basket_idNoPresent only when the host did not identify the user: pass it to later basket tools.
subtotal_textYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.7/5.0
Behavior5/5

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

Goes well beyond the readOnly/idempotent annotations by disclosing that prices and stock are re-read on every call, that a basket is retained 35 days after its last change, and that an unknown or never-filled basket returns an empty result rather than an error. These are exactly the freshness and edge-case behaviors an agent needs and cannot get from annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loads what the tool returns, then layers behavior (refetch, retention, empty-result semantics), then closes with sibling routing. Each sentence carries distinct information with no padding.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present, return values need not be explained, and everything else an agent needs — freshness, retention window, empty-result behavior, and alternative tools — is covered. Nothing material is missing.

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

Parameters3/5

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

Schema coverage is 100% with a single optional parameter, and the description's guidance on basket_id ('only for hosts that do not identify the customer, pass the one an earlier basket tool returned') largely restates the schema's own parameter description. Baseline 3 applies since the schema already carries the semantics.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (view/show) and resource (the customer's teas.co.uk basket), and names the concrete contents returned: live subtotal and delivery estimate. It is immediately distinguishable from add_to_basket, update_basket and checkout_link, which are named as the mutating siblings.

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

Usage Guidelines5/5

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

Explicitly says when to use it (to show basket contents) and routes each adjacent action to its own tool: add_to_basket for adding, update_basket for quantities, checkout_link for paying. It also states the condition under which basket_id must be supplied versus omitted.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources