if-the-card-fits

Which credit cards a household should carry, simulated over 5 years on weekly-verified terms.

我該用這個嗎

品質與安全性

A
說明品質
90%
結構描述完整度
81%
命名品質
80%
汙染風險
100%
權限相符程度
100%
協定合規性
100%

根據工具定義與協定合規性的自動化分析。

上下文成本

~1,854Token(工具定義)
~4.9 KB典型回應大小
中等的注意力影響(128k 上下文的 1.45%)

這是每次將伺服器的工具載入模型上下文時所消耗的約略 token 數量。數量越高,可用於其他工作的注意力就越少。

安裝

一鍵安裝

將以下內容加入你的 `claude_desktop_config.json` 檔案:

{
  "mcpServers": {
    "if-the-card-fits": {
      "url": "https://ifthecardfits.com/mcp"
    }
  }
}

遠端端點

https://ifthecardfits.com/mcpstreamable-http

它能做什麼

工具清單

工具(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.

輸入結構描述

{
  "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.

輸入結構描述

{
  "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.

輸入結構描述

{
  "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.

輸入結構描述

{
  "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"
}

社群

為此伺服器評分

證據

近期觀測

已驗證未記錄版本4 個工具