Skip to main content
Glama
hktvmall-mcp
by benjamin-di

Get basket

hktv_get_cart
Read-onlyIdempotent

Retrieves the account's current HKTVmall basket with quantities, unit prices, stock, delivery fees, free-delivery gap, totals, and checkout URL so assistants can review it before payment.

Instructions

The account's HKTVmall basket as HKTVmall shows it now: lines with quantity, unit price and stock left, delivery groups with fees and the amount still needed for free delivery, totals, and checkout_url where the person pays. In people mode, connection identifies whose basket this is and account_context identifies the current caller, selection, grant and reconnect epoch. It lasts until one of those changes, including switching away and back. Needs the account's sign-in.

Input Schema

NameRequiredDescriptionDefault

No arguments

Output Schema

NameRequiredDescriptionDefault
totalsYes
connectionNo
line_itemsYes
checkout_urlYes
account_contextNoPass unchanged to basket updates in people mode
delivery_groupsYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changedv0.15.4
    • addedOutput schema / properties / account_context
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "description": "Pass unchanged to basket updates in people mode"
      +}
    • addedOutput schema / properties / connection
      Added value: +{
      +  "anyOf": [
      +    {
      +      "additionalProperties": true,
      +      "type": "object"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null
      +}
  2. First observedv0.12.11

TDQS

A3.6/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, non-destructive and open-world, so the safety profile is covered. The description adds genuinely non-obvious context: the result is scoped to the connection/account_context and remains valid only until those change, including switching away and back, plus the authentication requirement. That caching/lifetime semantics is precisely the kind of trait annotations cannot express.

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

Conciseness4/5

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

Front-loaded with the payload contents, then prerequisites, then lifetime rules — a sensible order. The middle sentence is jargon-dense ('grant and reconnect epoch') but each clause carries operational meaning; nothing is filler.

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

Completeness4/5

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

An output schema exists, so the description needn't restate return values, yet it summarizes them helpfully for selection. Auth requirements and result lifetime are both covered. The only real gap is the absence of guidance on when this should be preferred over sibling tools.

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

Parameters4/5

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

With zero declared parameters the baseline is 4. The description still explains the implicit context inputs that determine the result — connection identifies whose basket it is, account_context identifies caller, selection, grant and reconnect epoch — which the empty schema cannot convey.

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

Purpose4/5

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

The description names a specific resource ('The account's HKTVmall basket') and enumerates exactly what it contains — lines with quantity, unit price and stock, delivery groups with fees, free-delivery threshold, totals, and checkout_url. That is far more specific than a tautology. It doesn't explicitly contrast itself with hktv_update_cart or hktv_status, relying on the name contrast alone.

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

Usage Guidelines2/5

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

It states a prerequisite ('Needs the account's sign-in') but never says when to reach for this versus hktv_update_cart, hktv_recent_orders, or a re-check after hktv_connect. There are no exclusions or alternatives named, so the agent must infer the usage context.

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