Skip to main content
Glama
bbarabe

AwardWallet MCP

by bbarabe

List loyalty accounts

list_loyalty_accounts
Read-onlyIdempotent

List loyalty accounts with balances, elite status, expirations, and update problems, then filter by person, program, type, balance, or expiration date.

Instructions

Lists loyalty accounts (airline miles, hotel points, credit-card rewards, rentals, shopping, ...) with balance, elite status, last change, update status and everything that expires on them (points, certificates and other sub-accounts such as free nights or companion passes, elite status), one compact row per account, plus a summary of upcoming expirations and accounts with update problems. Filter by person, program, type, balance or an expiration date. For one account's full properties and transaction history use get_loyalty_account.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
kindNoProgram type
sortNoprogram: A-Z; balance: largest first; expiration: soonest first; lastChange: most recent firstprogram
limitNoMaximum accounts to return
ownerNoCase-insensitive match on the account owner's name (users can share family members' accounts)
userIdNoOnly accounts shared by this connected user (userId from list_people)
programNoCase-insensitive match on the program name or code, e.g. 'marriott', 'skymiles', 'amex'
memberIdNoOnly accounts of this business member (memberId from list_people)
expiringByNoOnly accounts where something (points, a certificate or other sub-account, elite status) expires from today through this date, inclusive, YYYY-MM-DD
minBalanceNoOnly accounts with at least this balance
peopleOffsetNoWith more than 30 people, how many to skip (see the pagination note in the result)
problemsOnlyNoOnly accounts whose last update failed (bad credentials, lockout, provider error, ...)
expiringWithinDaysNoSame as expiringBy, counted in days from today

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.3/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 openWorld, so safety is covered. The description adds genuinely useful behavioral context: the row-based result shape, the accompanying summary of upcoming expirations and problem accounts, and a pointer to the pagination note tied to peopleOffset. It does not cover rate limits or result ordering nuances beyond the schema, keeping it at 4.

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 core action and result contents, followed by filter axes and the sibling pointer. The first sentence is dense with parentheticals but every clause carries information; slightly heavy but no 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?

With 12 optional parameters, no output schema and only annotations for safety, the description carries the return-shape burden well by describing compact rows plus the expirations/problems summary. It stops short of explaining the pagination result note it references, a minor gap for a tool with no output schema.

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 all 12 parameters with enums, defaults and format patterns. The description restates the filter dimensions (person, program, type, balance, expiration date) but adds no syntax or format detail beyond the schema, so the baseline 3 applies.

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, enumerates what each row contains (balance, elite status, last change, update status, expiring sub-accounts), and explicitly names the sibling get_loyalty_account as the differentiator. An agent can distinguish it from get_loyalty_account and search_loyalty_programs without opening a 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?

Explicitly routes the agent: use this tool for listing/row-level views, use get_loyalty_account for one account's full properties and transaction history. It also enumerates the available filter axes, so the agent knows what narrowing is possible.

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