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

Order history

hktv_recent_orders
Read-onlyIdempotent

Retrieve a signed-in HKTVmall account's order history newest first for re-ordering, with pagination and optional item details; use it to inspect past orders before updating the cart.

Instructions

The account's HKTVmall order history, newest first, for re-ordering: each order's number, date, status, total, deliveries (date and delivered/scheduled/cancelled per batch) and items (id, title, quantity, line_total; free_gift for promotion gifts). total_orders counts the whole history; page back through it with offset = next_offset (null at the end), one call after another: calls for one account run in turn, so parallel ones only wait. Items need each order's page the first time (about 2 s each; a call reads at most 10 new ones and says more_to_read), after that they come back at once. items=false lists up to 50 orders quickly without items. Read-only; never shows the address or payment. To buy items again, use hktv_update_cart with exact quantities. Needs the account's sign-in.

Input Schema

NameRequiredDescriptionDefault
itemsNoInclude each order's items (reads each order's page)
limitNoHow many orders, newest first after offset
offsetNoSkip this many of the newest orders (next_offset pages on)

Output Schema

NameRequiredDescriptionDefault
notesNo
ordersYes
next_offsetNo
total_ordersYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.12.11

TDQS

A4.8/5.0
Behavior5/5

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

Goes well past the annotations by disclosing cost and concurrency behavior: items require reading each order's page the first time (~2 s each, at most 10 new ones per call, signaled by more_to_read), then are cached; calls for one account serialize so parallel ones only wait. It also states a read-only/never-address-or-payment disclosure and the sign-in prerequisite.

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 purpose and return contents, then pagination, then the slow-path cost, then the alternative tool. Dense semicolon chaining makes it slightly harder to parse than it needs to be, but no sentence is filler given the caching and concurrency nuances covered.

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?

An output schema exists, so return shape need not be restated; what remains — auth requirement, pagination termination, per-call read budget, serialization of concurrent calls, and privacy boundaries — is all covered. Nothing an agent needs to invoke this correctly is missing.

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?

Schema coverage is already 100%, but the description adds real meaning: items=false raises the effective scan to 50 orders without item reads, and offset is tied to next_offset for iterative paging rather than just "skip N". The per-parameter performance consequences are the value-add here.

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 resource (the account's HKTVmall order history, newest first) and enumerates exactly what each entry contains: order number, date, status, total, deliveries per batch, and items with line totals. It also distinguishes the re-order path from the sibling that performs the actual purchase, hktv_update_cart.

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?

Gives the selecting condition up front ("for re-ordering"), names the alternative ("To buy items again, use hktv_update_cart with exact quantities"), and provides a fast-path variant ("items=false lists up to 50 orders quickly"). It also spells out the paging loop: offset = next_offset, one call after another, null marks the end.

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