catalog
Server Details
Miles' public credit-card catalog: facts, transfer partners, valuations. Keyless, read-only.
- Status
- Healthy
- Uptime
- 100.0% over 42 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 5 tools
Each tool targets a distinct operation: search_card_catalog for discovery, get_card_facts for a single record, compare_card_facts for multi-card comparison, estimate_point_value for point valuation, and find_transfer_routes for route graphs. There is no overlap in purpose, and the names plus first sentences make each tool's scope clear.
All tool names follow a consistent verb_noun snake_case pattern: compare_card_facts, estimate_point_value, find_transfer_routes, get_card_facts, search_card_catalog. The convention is predictable and readable.
Five tools is well-scoped for a catalog server that covers card discovery, retrieval, comparison, point valuation, and transfer routes. Each tool earns its place without redundancy or gaps forcing extra tools.
The surface covers the core workflows: search, get, compare cards; estimate point values; and find transfer routes. Minor gaps exist—e.g., no tool to retrieve transfer ratios or earning rates (explicitly out of scope) and no explicit 'list all cards' without filters—but agents can work around these.
Available Tools
5 toolscompare_card_factsCompare cards side by sideAInspect
The same catalog record for 2-5 cards at once, for comparing fees, networks and which benefits each carries. Card facts only — no earning rates, welcome-offer amounts, transfer ratios, or bonus sizes.
| Name | Required | Description | Default |
|---|---|---|---|
| card_names | Yes | Card names, matched loosely. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It honestly discloses the scope boundary — what fields are included and explicitly what data categories are absent — which is the most important behavioral trait. However, it does not disclose the output format, how loose name matching behaves, or what happens when a card is not found, leaving gaps for a tool with zero annotation support.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with zero filler. The primary purpose is front-loaded in the first sentence, and the second sentence earns its place by setting explicit scope boundaries. Every clause contributes to correct tool selection.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter tool, the description is nearly complete: it states the operation, the cardinality, the fields compared, and the exclusions. The main gap is that no output schema exists and the return format is not described, but the implied side-by-side catalog-record output is reasonably inferable from the description and tool name.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% (card_names with minItems/maxItems and 'matched loosely' is fully documented in the schema). The description's '2-5 cards' reinforces the schema bounds but adds no new meaning beyond what the input schema already provides, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('same catalog record for 2-5 cards at once') with an explicit field scope ('comparing fees, networks and which benefits each carries'). The exclusion list ('no earning rates, welcome-offer amounts, transfer ratios, or bonus sizes') sharply differentiates it from siblings like estimate_point_value and find_transfer_routes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides an explicit when-to-use condition (2-5 cards needing comparison of fees/networks/benefits) and an explicit when-not-to-use via the exclusion list, which implicitly routes the agent to sibling tools for earning rates, transfer ratios, and bonus sizes. It stops short of naming the alternatives directly, so it doesn't earn a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
estimate_point_valueWhat a point is worthAInspect
Miles' own estimate of a loyalty point's value in cents, optionally multiplied by a balance. Call with no arguments to list every program Miles values, with the exact spelling to use. These are Miles' estimates, not market prices — attribute them. Card facts only — no earning rates, welcome-offer amounts, transfer ratios, or bonus sizes.
| Name | Required | Description | Default |
|---|---|---|---|
| points | No | A balance to value, in points. | |
| program | No | Loyalty program, e.g. 'World of Hyatt'. Matched loosely. Omit to list all. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does well: it discloses that these are Miles' personal estimates, not market prices, that they must be attributed, and that the tool intentionally avoids other card-related data. This is meaningful behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences deliver the core definition, usage pattern, and important caveats with no wasted words. The essential information is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only estimation tool with two optional parameters, the description fully covers what the tool returns, how to invoke it, important attribution caveats, and what it deliberately excludes.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description adds value by explaining the no-arguments list behavior and emphasizing exact program spelling from that list, which supplements the loose matching note in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('estimate'), resource ('loyalty point's value in cents'), and optional multiplication by balance. It also differentiates from card-fact and transfer tools by explicitly excluding earning rates, welcome offers, transfer ratios, and bonus sizes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Clear guidance is provided: call with no arguments to list all programs and exact spellings, and omit program to list all. It also tells users what this tool is not for, though it does not explicitly name sibling tools as alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_transfer_routesWhich transfer routes existBInspect
Which loyalty programs a currency transfers to, or which currencies reach a destination, and whether a transfer bonus is running. This is the route graph only — it does not carry transfer ratios, bonus sizes, expiry dates, or which route is worth taking. Card facts only — no earning rates, welcome-offer amounts, transfer ratios, or bonus sizes.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Routes to return. Default 100, maximum 200. | |
| to_program | No | Destination program, e.g. 'World of Hyatt'. Matched loosely; call with neither argument to list every source. | |
| from_program | No | Source currency, e.g. 'Chase Ultimate Rewards'. | |
| only_with_bonus | No | Only routes with a transfer bonus running. | |
| include_inactive | No | Include routes that have been discontinued. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral disclosure burden. It helpfully scopes out ratios, bonus sizes, expiry dates, and worth, preventing misinvocation for valuation tasks. It does not state that this is a read-only lookup, does not mention auth requirements, rate limits, pagination behavior, or return format beyond calling itself a route graph.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The purpose is front-loaded in the first sentence, which is good. The second and third sentences overlap heavily, both listing transfer ratios and bonus sizes as out of scope, and the third sentence's 'Card facts only' framing is redundant and potentially misleading for a transfer-routes tool. It is not egregiously long, but the repetition fails the every-sentence-earns-its-place test.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema and no annotations, so the description should do more to explain what a route entry looks like or how results are bounded. It does establish that the output is the route graph only and excludes ratios, bonus sizes, and expiry dates, which is useful. However, it omits pagination behavior, limit handling, and any sense of return shape for a five-parameter query tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so each of the five parameters is already documented in the input schema. The description adds thematic context—bonus running, destination reachability, route graph scope—but no syntax or format details beyond what the schema supplies. Baseline 3 is appropriate when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the specific resource: loyalty programs a currency transfers to, or currencies reaching a destination, plus whether a transfer bonus is running. It distinguishes its scope from valuation/card-detail siblings by saying it is the route graph only and does not carry ratios or which route is worth taking. However, the closing phrase 'Card facts only' is confusing and weakens the otherwise clear resource statement.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage by listing what the tool does not provide (transfer ratios, bonus sizes, expiry, worth), which helps an agent avoid using it for valuation. It does not explicitly name alternatives like estimate_point_value or compare_card_facts, nor does it state when to choose this tool over them. The schema note about calling with neither argument to list every source is useful but sits outside the description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_card_factsOne card's catalog recordAInspect
Everything the public catalog holds on one card: issuer, annual fee, network, foreign transaction fee, rewards currency, and the names of its statement credits, lounge networks and protections. Card name is matched loosely. Card facts only — no earning rates, welcome-offer amounts, transfer ratios, or bonus sizes.
| Name | Required | Description | Default |
|---|---|---|---|
| card_name | Yes | Card name, e.g. 'Amex Platinum' or 'Venture X'. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does disclose important behavior: 'Card name is matched loosely,' the exact field categories, and what is deliberately omitted. It does not describe no-match or ambiguous-match behavior, but for a simple lookup this is solid disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded: one sentence scopes and lists the fields, and a short second sentence states exclusions. Every clause adds useful information with no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter lookup with no output schema, the description is nearly complete: it lists the returned facts, explains matching behavior, and clarifies limitations. A small gap is that it does not say what happens when no card matches or when a loose match is ambiguous.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description adds meaning beyond the schema by explicitly stating that card_name is matched loosely, telling the agent that exact naming is not required.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies a precise resource (one card's catalog record) and enumerates the exact facts returned, including issuer, annual fee, network, and foreign transaction fee. It also lists exclusions, clearly distinguishing it from sibling tools like estimate_point_value and find_transfer_routes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It provides clear context for when to use the tool: when a single card's catalog facts are needed. It explicitly states exclusions (no earning rates, welcome-offer amounts, transfer ratios, or bonus sizes), but it does not name the specific sibling tools to use instead.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_card_catalogSearch the card catalogAInspect
Find credit cards open to new applicants by issuer, annual fee, network, rewards currency, or a benefit they carry. Returns a short row per card; call get_card_facts for one card's full record. Card facts only — no earning rates, welcome-offer amounts, transfer ratios, or bonus sizes.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Rows to return. Default 10, maximum 25. | |
| issuer | No | Exact issuer name. | |
| benefit | No | Words to look for in a card's statement credits, lounge networks, or purchase/travel protections, e.g. 'Global Entry', 'Priority Pass', 'trip delay'. | |
| network | No | Payment network. | |
| card_type | No | Personal or Business. | |
| max_annual_fee | No | Highest annual fee in dollars, inclusive. | |
| rewards_currency | No | Loyalty currency the card earns, e.g. 'Chase Ultimate Rewards'. Matched loosely. | |
| has_lounge_access | No | Only cards carrying at least one lounge network. | |
| has_free_night_certificate | No | Only cards granting a free night certificate. | |
| no_foreign_transaction_fee | No | Only cards with no foreign transaction fee. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the transparency burden; it handles this well by declaring the open-to-new-applicants scope, the short-row return shape, and specific excluded data categories. It does not mention result ordering or pagination behavior, but for a read-only search tool the disclosed scope is strong.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences with no filler: the main action and resource are front-loaded, the output shape is stated, and the boundary with get_card_facts is placed at the end. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 10 optional parameters, a rich schema, and no output schema, the description conveys the essential context: one-line result rows, a pointer to the full-record sibling, and explicit exclusions. Minor gaps remain around default ordering and pagination, but the tool is fundamentally a filtered lookup and the description covers the call-level decisions an agent needs.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3 and the description does not need to re-document parameters. It names several filter dimensions (issuer, annual fee, network, rewards currency, benefit) but adds no new semantic details beyond the schema, and it omits some parameter categories like lounge access and free-night certificates.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Starts with a specific verb and resource: 'Find credit cards open to new applicants' and enumerates filter dimensions. It distinguishes itself from get_card_facts by noting that it returns only a short row per card, so an agent can tell the two apart immediately.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives explicit routing guidance: 'call get_card_facts for one card's full record.' The closing sentence states clear exclusions ('no earning rates, welcome-offer amounts, transfer ratios, or bonus sizes'), telling the agent when this tool is not sufficient.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
1 tool update
- Changed
find_transfer_routes1 field changed- changed
Input schema / properties / from_program / enumPrevious value: -[ - "Aer Lingus AerClub", - "American Express Membership Rewards", - "Bilt Rewards", - "British Airways Club", - "Capital One Miles", - "Chase Ultimate Rewards", - "Choice Privileges", - "Citi ThankYou Rewards", - "Club Iberia Plus", - "Finnair Plus", - "Loganair Loyalty", - "Marriott Bonvoy", - "Qatar Airways Privilege Club", - "Rove Miles", - "US Bank Altitude Points", - "Virgin Atlantic Flying Club", - "Virgin Red", - "Wells Fargo Rewards" -]New value: +[ + "Aer Lingus AerClub", + "American Express Membership Rewards", + "Bilt Rewards", + "British Airways Club", + "Capital One Miles", + "Chase Ultimate Rewards", + "Choice Privileges", + "Citi ThankYou Rewards", + "Club Iberia Plus", + "Finnair Plus", + "HSBC Rewards Points", + "Loganair Loyalty", + "Marriott Bonvoy", + "Qatar Airways Privilege Club", + "Rove Miles", + "US Bank Altitude Points", + "Virgin Atlantic Flying Club", + "Virgin Red", + "Wells Fargo Rewards" +]
1 tool update
- Changed
search_card_catalog1 field changed- changed
Input schema / properties / issuer / enumPrevious value: -[ - "American Express", - "Bank of America", - "Barclays", - "BECU", - "Capital One", - "Cardless", - "Chase", - "Citi", - "Comenity", - "Discover", - "Elan Financial Services", - "Emigrant Bank", - "First Bank & Trust", - "First Electronic Bank", - "FNBO", - "Goldman Sachs", - "HSBC", - "Synchrony", - "TD Bank", - "UBS", - "US Bank", - "Wells Fargo" -]New value: +[ + "American Express", + "Bank of America", + "Barclays", + "BECU", + "Capital One", + "Chase", + "Citi", + "Column N.A.", + "Comenity", + "Discover", + "Elan Financial Services", + "Emigrant Bank", + "First Bank & Trust", + "First Electronic Bank", + "FNBO", + "Goldman Sachs", + "HSBC", + "Synchrony", + "TD Bank", + "UBS", + "US Bank", + "Wells Fargo" +]
5 tool updates
- First observed
compare_card_facts - First observed
estimate_point_value - First observed
find_transfer_routes - First observed
get_card_facts - First observed
search_card_catalog
Related MCP Connectors
US credit card data: annual fees, credit card credits, earn rates, offers and cashback portal rates.
101Search, compare and estimate rewards across US credit cards. Verified fees, APRs and bonuses.
Read-only catalog of gift cards, service top-ups and travel eSIMs sold by BlinkCodes.
Trading card prices and grading ROI for 1.5M+ Pokémon, Magic, Yu-Gi-Oh! and sports cards. Read-only.
Related MCP Servers
- AlicenseAqualityBmaintenanceEnables agents to recommend the best credit card for a given store or category, look up merchant coding, search cards, and inspect rotating bonus calendars using verified reward data.5432 npmMIT
- FlicenseNot gradedqualityDmaintenanceProvides tools to fetch and analyze credit card data with filtering options for banks, categories, and user personas. It also offers access to educational guides to assist in making informed financial recommendations.-
- FlicenseNot gradedqualityDmaintenanceOfficial Industry Standard MCP for Travel Awards, Points, and more. Search award flight availability across multiple airline loyalty programs, find sweet spots, check transfer partners, and get market stats all via MCP.1-
- AlicenseNot gradedqualityCmaintenanceEnables read-only lookup and comparison of sourced, dated migration data — 39 countries and 27,000+ cities, visa and residence routes, passport entry rules, cost of living, salaries, crime, air quality and climate. Every fact returned includes its value, unit, geographic grain, observation date, source and grade, with unknown values left explicit rather than estimated.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.