if-the-card-fits
Which credit cards a household should carry, simulated over 5 years on weekly-verified terms.
Sollte ich dies verwenden
Qualität und Sicherheit
Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.
Kontextkosten
Dies ist die ungefähre Anzahl der Tokens, die jedes Mal verbraucht werden, wenn die Tools des Servers in den Kontext eines Modells geladen werden. Höhere Werte verringern die Aufmerksamkeit, die für andere Aufgaben verfügbar ist.
Installieren
Installation mit einem Klick
Fügen Sie dies Ihrer Datei `claude_desktop_config.json` hinzu:
{
"mcpServers": {
"if-the-card-fits": {
"url": "https://ifthecardfits.com/mcp"
}
}
}Remote-Endpunkte
https://ifthecardfits.com/mcpstreamable-httpWas es kann
Tool-Inventar
Tools (4)
⚪spending_categories
The 19 categories this API scores spending against. Call this first and map the person's statement onto these ids before calling simulate_cards.
Eingabe-Schema
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢simulate_cards(totals, foreignPerYear, memberships, departures, mode, ...)
Given a year of spending by category, returns the three best credit cards and the best two-card combination, with what each is worth after its annual fee over the chosen horizon. Figures come from a model checked to the cent against an independent reference calculator, against card terms a person verified against the issuer's own page — the response says which catalog version and when each card was last checked. Always show the person the continueUrl: it reopens their own numbers on the site with the full breakdown, the rest of the ranking and offer alerts. Also show the disclosure string.
Eingabe-Schema
{
"type": "object",
"properties": {
"totals": {
"type": "object",
"propertyNames": {
"type": "string",
"enum": [
"dining",
"groceries",
"superstores",
"wholesale_clubs",
"gas",
"transit",
"airfare",
"hotels",
"car_rental",
"travel_other",
"streaming",
"drugstores",
"home_improvement",
"entertainment",
"amazon",
"online_retail",
"phone_internet",
"fitness",
"other"
]
},
"additionalProperties": {
"type": "number",
"minimum": 0
},
"description": "A year's card spending in dollars, by category. Map the person's statement onto these categories with the spending_categories tool first. At least 4 categories must have spending and no single one may exceed 70% of the total, so send the whole picture rather than one category."
},
"foreignPerYear": {
"description": "Of that spending, how much is in a foreign currency, per year.",
"type": "number",
"minimum": 0
},
"memberships": {
"description": "Membership tags the person already pays for, e.g. amazon_prime, costco_membership.",
"type": "array",
"items": {
"type": "string"
}
},
"departures": {
"description": "Flights departed per year, which decides what lounge and companion perks are worth.",
"type": "integer",
"minimum": 0,
"maximum": 200
},
"mode": {
"description": "Whether points are valued as cash back or for travel. Defaults to cash.",
"type": "string",
"enum": [
"cash",
"travel"
]
},
"years": {
"description": "Horizon in years. One of 1, 3 or 5; defaults to 5.",
"anyOf": [
{
"type": "number",
"const": 1
},
{
"type": "number",
"const": 3
},
{
"type": "number",
"const": 5
}
]
},
"held": {
"description": "Card ids the person already carries, so a new card is judged against them.",
"maxItems": 5,
"type": "array",
"items": {
"type": "string"
}
},
"filters": {
"description": "Must-haves that remove cards before ranking.",
"type": "object",
"properties": {
"noForeignFee": {
"type": "boolean"
},
"visaOrMastercard": {
"type": "boolean"
},
"feeCap": {
"type": "string",
"enum": [
"0",
"100",
"400",
"any"
]
},
"creditTier": {
"type": "string",
"enum": [
"fair",
"good",
"excellent",
""
]
},
"homeAirport": {
"type": "string"
}
}
},
"source": {
"type": "string",
"description": "A short lowercase slug naming your client, so apply clicks can be attributed. Required."
}
},
"required": [
"totals",
"source"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴keep_or_cancel(totals, foreignPerYear, memberships, departures, mode, ...)
For cards the person already carries, says whether each one still earns its annual fee back on their spending, and what to move to if not. Pass the cards as `held`. Returns a verdict and a rounded yearly margin.
Eingabe-Schema
{
"type": "object",
"properties": {
"totals": {
"type": "object",
"propertyNames": {
"type": "string",
"enum": [
"dining",
"groceries",
"superstores",
"wholesale_clubs",
"gas",
"transit",
"airfare",
"hotels",
"car_rental",
"travel_other",
"streaming",
"drugstores",
"home_improvement",
"entertainment",
"amazon",
"online_retail",
"phone_internet",
"fitness",
"other"
]
},
"additionalProperties": {
"type": "number",
"minimum": 0
},
"description": "A year's card spending in dollars, by category. Map the person's statement onto these categories with the spending_categories tool first. At least 4 categories must have spending and no single one may exceed 70% of the total, so send the whole picture rather than one category."
},
"foreignPerYear": {
"description": "Of that spending, how much is in a foreign currency, per year.",
"type": "number",
"minimum": 0
},
"memberships": {
"description": "Membership tags the person already pays for, e.g. amazon_prime, costco_membership.",
"type": "array",
"items": {
"type": "string"
}
},
"departures": {
"description": "Flights departed per year, which decides what lounge and companion perks are worth.",
"type": "integer",
"minimum": 0,
"maximum": 200
},
"mode": {
"description": "Whether points are valued as cash back or for travel. Defaults to cash.",
"type": "string",
"enum": [
"cash",
"travel"
]
},
"years": {
"description": "Horizon in years. One of 1, 3 or 5; defaults to 5.",
"anyOf": [
{
"type": "number",
"const": 1
},
{
"type": "number",
"const": 3
},
{
"type": "number",
"const": 5
}
]
},
"held": {
"description": "Card ids the person already carries, so a new card is judged against them.",
"maxItems": 5,
"type": "array",
"items": {
"type": "string"
}
},
"filters": {
"description": "Must-haves that remove cards before ranking.",
"type": "object",
"properties": {
"noForeignFee": {
"type": "boolean"
},
"visaOrMastercard": {
"type": "boolean"
},
"feeCap": {
"type": "string",
"enum": [
"0",
"100",
"400",
"any"
]
},
"creditTier": {
"type": "string",
"enum": [
"fair",
"good",
"excellent",
""
]
},
"homeAirport": {
"type": "string"
}
}
},
"source": {
"type": "string",
"description": "A short lowercase slug naming your client, so apply clicks can be attributed. Required."
}
},
"required": [
"totals",
"source"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}⚪compare_two(totals, foreignPerYear, memberships, departures, mode, ...)
Two named cards head to head on the person's own spending: which one pays more, and by how much a year. Use this when they are choosing between two specific cards. For 'what should I get', use simulate_cards instead.
Eingabe-Schema
{
"type": "object",
"properties": {
"totals": {
"type": "object",
"propertyNames": {
"type": "string",
"enum": [
"dining",
"groceries",
"superstores",
"wholesale_clubs",
"gas",
"transit",
"airfare",
"hotels",
"car_rental",
"travel_other",
"streaming",
"drugstores",
"home_improvement",
"entertainment",
"amazon",
"online_retail",
"phone_internet",
"fitness",
"other"
]
},
"additionalProperties": {
"type": "number",
"minimum": 0
},
"description": "A year's card spending in dollars, by category. Map the person's statement onto these categories with the spending_categories tool first. At least 4 categories must have spending and no single one may exceed 70% of the total, so send the whole picture rather than one category."
},
"foreignPerYear": {
"description": "Of that spending, how much is in a foreign currency, per year.",
"type": "number",
"minimum": 0
},
"memberships": {
"description": "Membership tags the person already pays for, e.g. amazon_prime, costco_membership.",
"type": "array",
"items": {
"type": "string"
}
},
"departures": {
"description": "Flights departed per year, which decides what lounge and companion perks are worth.",
"type": "integer",
"minimum": 0,
"maximum": 200
},
"mode": {
"description": "Whether points are valued as cash back or for travel. Defaults to cash.",
"type": "string",
"enum": [
"cash",
"travel"
]
},
"years": {
"description": "Horizon in years. One of 1, 3 or 5; defaults to 5.",
"anyOf": [
{
"type": "number",
"const": 1
},
{
"type": "number",
"const": 3
},
{
"type": "number",
"const": 5
}
]
},
"held": {
"description": "Card ids the person already carries, so a new card is judged against them.",
"maxItems": 5,
"type": "array",
"items": {
"type": "string"
}
},
"filters": {
"description": "Must-haves that remove cards before ranking.",
"type": "object",
"properties": {
"noForeignFee": {
"type": "boolean"
},
"visaOrMastercard": {
"type": "boolean"
},
"feeCap": {
"type": "string",
"enum": [
"0",
"100",
"400",
"any"
]
},
"creditTier": {
"type": "string",
"enum": [
"fair",
"good",
"excellent",
""
]
},
"homeAirport": {
"type": "string"
}
}
},
"source": {
"type": "string",
"description": "A short lowercase slug naming your client, so apply clicks can be attributed. Required."
},
"cardA": {
"type": "string",
"description": "Card id."
},
"cardB": {
"type": "string",
"description": "Card id."
}
},
"required": [
"totals",
"source",
"cardA",
"cardB"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}Community
Nachweis