Skip to main content
Glama

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, plus the dated bank and card-network offers live at that place for those cards today. The data pack covers Vietnam-issued cards; amounts are in VND.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "place": "<place>",
      "cards": "<cards>"
    },
    "name": "pick_card"
  }
}

Input 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

NameRequiredDescriptionDefault
bestNo
dateYes
packYes
checkYes
placeYes
amountYes
answerYes
offersNo
secondNo
rankingYes
currencyYes
freshnessNo
offers_totalNo
converted_fromNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • addedOutput schema / properties / offers
      Added value: +{
      +  "items": {
      +    "type": "object"
      +  },
      +  "type": "array"
      +}
    • addedOutput schema / properties / offers_total
      Added value: +{
      +  "type": "number"
      +}
  2. First observed

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnly, idempotent, non-destructive, closed-world), so the description only needs to add what they cannot. It does: the one-line answer format ('use card X here, because Y, up to cap Z'), the second-best card, caps and conditions, bank source links, dated network offers, plus the data-scope limit (Vietnam-issued cards, VND amounts).

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 trigger and input shape, then the output shape, then scope limits. It is dense but well ordered; a few clauses (e.g. repeating place forms and the VND note already in the schema) could be trimmed without losing meaning.

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?

For an 8-parameter tool with nested objects, enums, and an output schema, the description supplies the missing pieces: the triggering scenario, the combined-place input pattern, the output contract in plain language, and the geographic/currency coverage boundary. Nothing an agent needs to call it correctly is absent.

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 all 8 parameters are already documented, including place forms ('Grab', 'supermarket', 'dining in Tokyo'), card name/id formats, currency handling, and the VND default. The description largely restates these, so the baseline of 3 applies; the combined-place example ('dining in Tokyo') is the only semantic detail it reinforces.

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: decide which held card to pay with at a given place to maximize cashback. It also names the concrete input dimensions (merchant, category, city, or a combination) and the answer shape, so an agent knows exactly what this tool produces.

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

Usage Guidelines4/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.' There are no sibling tools and no stated when-not conditions, so there is nothing to route against, but the invocation context is unambiguous.

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