Skip to main content
Glama

Cheat sheet

cheat_sheet
Read-only

The card to use for each everyday kind of purchase right now: groceries, dining, gas, Amazon, Costco, travel, streaming, drugstores and everything else. With no cards given and no saved wallet, it picks from every card earnrate knows (scope: all cards, each row noting the card's fee and conditions). With cards named in the conversation or a saved wallet, it picks from the user's own cards, with caps, picks and activations as they are. The kind, noAnnualFee, business and issuer filters apply only when it picks from every card. For one specific store, call best_card_for_purchase instead. Pass on the notes.

Input Schema

NameRequiredDescriptionDefault
dateNoPurchase date, YYYY-MM-DD. Defaults to today.
kindNocash: cash back cards only. points: points and miles cards only.
cardsNoCards the user named in this conversation, to answer for just those cards without saving anything. Leave out to use the user's saved wallet if they have one; with neither, the answer covers every card earnrate knows.
issuerNoOnly this issuer's cards.
businessNoBusiness cards instead of personal ones.
valuationNoflat (default): points at their cash-out value, about 1¢. points-heavy: Amex MR and Chase UR at 1.7¢, for people who transfer points to airlines and hotels.
membershipsNoMemberships the user has, such as amazon-prime, when they're named in the conversation rather than saved.
noAnnualFeeNoOnly cards with no annual fee.

Output Schema

NameRequiredDescriptionDefault
dateYes
rowsYes
notesYes
scopeYes
quarterYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed5 schema fields changed
    • addedInput schema / properties / business
      Added value: +{
      +  "description": "Business cards instead of personal ones.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / issuer
      Added value: +{
      +  "description": "Only this issuer's cards.",
      +  "enum": [
      +    "amex",
      +    "bank-of-america",
      +    "capital-one",
      +    "chase",
      +    "citi",
      +    "column",
      +    "sofi",
      +    "td-bank",
      +    "usbank",
      +    "wells-fargo"
      +  ],
      +  "type": "string"
      +}
    • addedInput schema / properties / kind
      Added value: +{
      +  "description": "cash: cash back cards only. points: points and miles cards only.",
      +  "enum": [
      +    "any",
      +    "cash",
      +    "points"
      +  ],
      +  "type": "string"
      +}
    • addedInput schema / properties / noAnnualFee
      Added value: +{
      +  "description": "Only cards with no annual fee.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / valuation
      Added value: +{
      +  "description": "flat (default): points at their cash-out value, about 1¢. points-heavy: Amex MR and Chase UR at 1.7¢, for people who transfer points to airlines and hotels.",
      +  "enum": [
      +    "flat",
      +    "points-heavy"
      +  ],
      +  "type": "string"
      +}
  2. First observed

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare this is a read-only, closed-world lookup, and the description adds real behavior on top: it notes that all-cards rows carry the card's fee and conditions, that own-card results respect caps, picks and activations as they currently stand, and that filters are conditional on scope. The closing 'Pass on the notes' is vague about which notes and is the one spot where behavior is under-explained.

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?

The key information is front-loaded: what it returns, then the scope fallback, then the filter caveat, then the alternative. Four dense sentences with little waste, though the trailing 'Pass on the notes' is a compact but ambiguous instruction that costs a bit of clarity.

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 and full parameter descriptions already carry return shape and field semantics, so the description only needs the scope logic and routing, which it supplies. It is close to complete; the only gap is the unexplained 'notes' instruction and no mention of how memberships interact with wallet mode.

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 100%, so the baseline is 3, and the description earns above baseline by stating that kind, noAnnualFee, business and issuer only take effect in the all-cards scope, and by framing the cards parameter as named cards versus the saved wallet. It does not add meaning for date, valuation or memberships beyond what the schema already says.

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?

The description opens with a specific verb-and-resource: it returns the card to use for each everyday category (groceries, dining, gas, Amazon, Costco, travel, streaming, drugstores). It also distinguishes itself from the sibling by sending single-store queries to best_card_for_purchase, so an agent can route correctly without reading either schema.

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?

It spells out the two operating modes: with no cards and no saved wallet the scope is all cards, and with named cards or a saved wallet the scope is the user's own cards. It explicitly names the alternative for the one case this tool does not cover (a specific store) and explains that the kind, noAnnualFee, business and issuer filters only apply in all-cards mode.

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.