Skip to main content
Glama

Tapwhich

Which card to tap here

pick_card
Read-onlyIdempotent

Use this when someone asks which of their credit or debit cards to pay with at a shop, app, category or city, to get the most cashback. Pass the place (a merchant such as Grab or Shopee, a category such as dining or supermarket, or a city such as Tokyo, or both: 'dining in Tokyo') and the cards they hold (names or ids). It answers in one line, 'use card X here, because Y, up to cap Z', with the second-best card, each card's cap and conditions, and the bank source link. The data pack covers Vietnam-issued cards; amounts are in VND.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
dateNoPurchase date YYYY-MM-DD. Default today in Vietnam.
cardsYesThe cards the person holds, by name ('VPBank Z JCB') or id ('vpbank-z-jcb').
picksNoBonus categories picked on pick-N cards, by group (vib-one, vib-max, cake-freedom, msb-mdigi).
placeYesMerchant, category or city, for example 'Grab', 'supermarket', 'dining in Tokyo'.
amountNoPurchase amount, in VND unless currency says otherwise. Default 1,000,000 VND.
channelNoOnline or in a shop, when the place alone does not say.
currencyNoISO code of amount when the person gives a foreign amount, such as JPY for 8,000 yen. The tool converts at its own dated rate; do not convert yourself.
statement_spendNoSpend so far this statement by card id, for minimum spend and tiers.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
bestNo
dateYes
packYes
checkYes
placeYes
amountYes
answerYes
secondNo
rankingYes
currencyYes
freshnessNo
converted_fromNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already establish readOnly/idempotent/non-destructive/non-open-world, and the description is consistent with them. It adds genuine context beyond the annotations: the response shape ('use card X here, because Y, up to cap Z', a second-best card, caps/conditions, source link) and the data-coverage/currency limitation (Vietnam-issued cards, VND).

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?

Well front-loaded: the trigger condition comes first, followed by inputs and then the answer shape. It is a little long, and the detailed description of the return line partially duplicates what the output schema already provides, but no sentence is wasted.

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?

For an 8-parameter tool with nested objects and an existing output schema, the description covers the required inputs, the scope limits, and the nature of the answer. Optional parameters (picks, statement_spend, date, channel) are left to the schema, which is acceptable given its full coverage.

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 description coverage is 100%, so the schema already documents every parameter including place, cards, currency and amount. The description largely echoes that ('place' as merchant/category/city, 'cards' by name or id) and adds only the minor nuance of combining place and category ('dining in Tokyo'). Baseline 3 is appropriate.

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 and resource: pick which of the user's cards to pay with, for maximum cashback. The name/title are clarified rather than restated, and there are no siblings to confuse it with.

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?

Opens with an explicit trigger ('Use this when someone asks which of their credit or debit cards to pay with at a shop, app, category or city'), and later bounds the tool with a scope exclusion ('covers Vietnam-issued cards'), so the agent knows both when to call it and when its answer is out of scope.

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