if-the-card-fits

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

¿Debería usar esto?

Calidad y seguridad

A
Calidad de la descripción
90%
Integridad del esquema
81%
Calidad de los nombres
80%
Riesgo de envenenamiento
100%
Coincidencia de permisos
100%
Cumplimiento del protocolo
100%

Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.

Costo de contexto

~1,854Tokens (definiciones de herramientas)
~4.9 KBTamaño de respuesta típico
Impacto moderado en la atención (1.45% del contexto de 128k)

Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.

Instalar

Instalación con un clic

Agrega esto a tu archivo `claude_desktop_config.json`:

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

Puntos de conexión remotos

https://ifthecardfits.com/mcpstreamable-http

Qué puede hacer

Inventario de herramientas

Herramientas (4)

🟢 Solo lectura🟡 Escritura🔴 Eliminación⚪ Desconocido
⚪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.

Esquema de entrada

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

Esquema de entrada

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

Esquema de entrada

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

Esquema de entrada

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

Comunidad

Califica este servidor

Evidencia

Observaciones recientes

verificadoversión no registrada4 herramientas