← The evidence ledger
Evidence row 737168
Observed , by probe.mcp/1.
- Kind
- mcp.tools
- About
- endpoint 5af82688-dc8e-4bf5-9cb8-650a18265fe6
- Recorded
- Previous row
- None: the first of its kind about this subject
- Body SHA-256
- 3e413d66c644597437bafb8995dd16352dfb37e82af36cf6d8581f9ca7604621
- Leaf
- 0x3702e5dad5a7a00356b300b8c70b2bc8ee925d34416c794820e45545695cc211
What was observed
{
"count": 4,
"tools": [
{
"description": "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.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"cardA": {
"description": "Card id.",
"type": "string"
},
"cardB": {
"description": "Card id.",
"type": "string"
},
"departures": {
"description": "Flights departed per year, which decides what lounge and companion perks are worth.",
"maximum": 200,
"minimum": 0,
"type": "integer"
},
"filters": {
"description": "Must-haves that remove cards before ranking.",
"properties": {
"creditTier": {
"enum": [
"fair",
"good",
"excellent",
""
],
"type": "string"
},
"feeCap": {
"enum": [
"0",
"100",
"400",
"any"
],
"type": "string"
},
"homeAirport": {
"type": "string"
},
"noForeignFee": {
"type": "boolean"
},
"visaOrMastercard": {
"type": "boolean"
}
},
"type": "object"
},
"foreignPerYear": {
"description": "Of that spending, how much is in a foreign currency, per year.",
"minimum": 0,
"type": "number"
},
"held": {
"description": "Card ids the person already carries, so a new card is judged against them.",
"items": {
"type": "string"
},
"maxItems": 5,
"type": "array"
},
"memberships": {
"description": "Membership tags the person already pays for, e.g. amazon_prime, costco_membership.",
"items": {
"type": "string"
},
"type": "array"
},
"mode": {
"description": "Whether points are valued as cash back or for travel. Defaults to cash.",
"enum": [
"cash",
"travel"
],
"type": "string"
},
"source": {
"description": "A short lowercase slug naming your client, so apply clicks can be attributed. Required.",
"type": "string"
},
"totals": {
"additionalProperties": {
"minimum": 0,
"type": "number"
},
"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.",
"propertyNames": {
"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"
],
"type": "string"
},
"type": "object"
},
"years": {
"anyOf": [
{
"const": 1,
"type": "number"
},
{
"const": 3,
"type": "number"
},
{
"const": 5,
"type": "number"
}
],
"description": "Horizon in years. One of 1, 3 or 5; defaults to 5."
}
},
"required": [
"totals",
"source",
"cardA",
"cardB"
],
"type": "object"
},
"name": "compare_two"
},
{
"description": "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.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"departures": {
"description": "Flights departed per year, which decides what lounge and companion perks are worth.",
"maximum": 200,
"minimum": 0,
"type": "integer"
},
"filters": {
"description": "Must-haves that remove cards before ranking.",
"properties": {
"creditTier": {
"enum": [
"fair",
"good",
"excellent",
""
],
"type": "string"
},
"feeCap": {
"enum": [
"0",
"100",
"400",
"any"
],
"type": "string"
},
"homeAirport": {
"type": "string"
},
"noForeignFee": {
"type": "boolean"
},
"visaOrMastercard": {
"type": "boolean"
}
},
"type": "object"
},
"foreignPerYear": {
"description": "Of that spending, how much is in a foreign currency, per year.",
"minimum": 0,
"type": "number"
},
"held": {
"description": "Card ids the person already carries, so a new card is judged against them.",
"items": {
"type": "string"
},
"maxItems": 5,
"type": "array"
},
"memberships": {
"description": "Membership tags the person already pays for, e.g. amazon_prime, costco_membership.",
"items": {
"type": "string"
},
"type": "array"
},
"mode": {
"description": "Whether points are valued as cash back or for travel. Defaults to cash.",
"enum": [
"cash",
"travel"
],
"type": "string"
},
"source": {
"description": "A short lowercase slug naming your client, so apply clicks can be attributed. Required.",
"type": "string"
},
"totals": {
"additionalProperties": {
"minimum": 0,
"type": "number"
},
"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.",
"propertyNames": {
"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"
],
"type": "string"
},
"type": "object"
},
"years": {
"anyOf": [
{
"const": 1,
"type": "number"
},
{
"const": 3,
"type": "number"
},
{
"const": 5,
"type": "number"
}
],
"description": "Horizon in years. One of 1, 3 or 5; defaults to 5."
}
},
"required": [
"totals",
"source"
],
"type": "object"
},
"name": "keep_or_cancel"
},
{
"description": "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.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"departures": {
"description": "Flights departed per year, which decides what lounge and companion perks are worth.",
"maximum": 200,
"minimum": 0,
"type": "integer"
},
"filters": {
"description": "Must-haves that remove cards before ranking.",
"properties": {
"creditTier": {
"enum": [
"fair",
"good",
"excellent",
""
],
"type": "string"
},
"feeCap": {
"enum": [
"0",
"100",
"400",
"any"
],
"type": "string"
},
"homeAirport": {
"type": "string"
},
"noForeignFee": {
"type": "boolean"
},
"visaOrMastercard": {
"type": "boolean"
}
},
"type": "object"
},
"foreignPerYear": {
"description": "Of that spending, how much is in a foreign currency, per year.",
"minimum": 0,
"type": "number"
},
"held": {
"description": "Card ids the person already carries, so a new card is judged against them.",
"items": {
"type": "string"
},
"maxItems": 5,
"type": "array"
},
"memberships": {
"description": "Membership tags the person already pays for, e.g. amazon_prime, costco_membership.",
"items": {
"type": "string"
},
"type": "array"
},
"mode": {
"description": "Whether points are valued as cash back or for travel. Defaults to cash.",
"enum": [
"cash",
"travel"
],
"type": "string"
},
"source": {
"description": "A short lowercase slug naming your client, so apply clicks can be attributed. Required.",
"type": "string"
},
"totals": {
"additionalProperties": {
"minimum": 0,
"type": "number"
},
"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.",
"propertyNames": {
"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"
],
"type": "string"
},
"type": "object"
},
"years": {
"anyOf": [
{
"const": 1,
"type": "number"
},
{
"const": 3,
"type": "number"
},
{
"const": 5,
"type": "number"
}
],
"description": "Horizon in years. One of 1, 3 or 5; defaults to 5."
}
},
"required": [
"totals",
"source"
],
"type": "object"
},
"name": "simulate_cards"
},
{
"description": "The 19 categories this API scores spending against. Call this first and map the person's statement onto these ids before calling simulate_cards.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {},
"type": "object"
},
"name": "spending_categories"
}
]
}What the leaf hashes
{"body":"3e413d66c644597437bafb8995dd16352dfb37e82af36cf6d8581f9ca7604621","id":737168,"kind":"mcp.tools","method":"probe.mcp/1","observed_us":1793158548948635,"prev":null,"subject":"5af82688-dc8e-4bf5-9cb8-650a18265fe6","subject_kind":"endpoint"}Proof
Fold these into the leaf in order, hashing each sorted pair with keccak256, to reach the root of (231336 rows).
- 0x37036c5887e4f0850e38697a53c65ee61e420cb5ed706441f7ada74e55d1b3d9
- 0xfd809890079f30477465df21bdad2e4a2ef65e96d30384d195d1650be1b9d2e7
- 0xfdbbd20b0de0f392ca3480d9d26dd8c8524018e22822aeabb51f2779199d8411
- 0xe7cbb64b01b5655c9c58e25948d0839eb2f72d2a2319b51515629649e70db83f
- 0x1c09c84d514301e258df23f9729683cd303b1bbb57de74ae46a8d4dbda37ec93
- 0x7258ad380ef488249218f9a72df8e21bd58306f6e318651e57f5ad3d05e46bef
- 0x193185fc81300deffcff4df5d71cc7cb3135dfdf9566a064f9a7cac1850c4570
- 0x3a7e8936ca0221736cc395c6301f8b10f7eba1c2deaabb01b2d7f693ea648b2b
- 0x6daeec969f099f8f1384350f6b026b1468e402476b5bec20bd71aaeac0882f5b
- 0xb17f9ecc38e6fcef56206ce08ea089cda22f6990c2831258131039fddbea5b60
- 0x523833b7b8635ed0ee5cf6900ab0d995d56556c9aa49f27de07bdfc937e40fda
- 0x85a553efb556dd0b17c3ea6b3f000bb15ec137986a3b9a565d1ebd682306822f
- 0x90adeeedf0030839d1cf4653c4092b1bee2a90ffabedf937d55b4fa91e36cb1b
- 0x7b2e5f158ccf01de5b2c0c5b723d8c5a690e0d4e9302d283bc82cd202622595e
- 0x91690f98682e078d41b8b72edeaea70473545a876fc3baa645fc988225096386
- 0xaeb1503e5d0d358b256ba97a10178c357ddb8f55cc961925ccf0458aae5ebcae
- 0xf078ea7d84d98dbeffed23d8e67b36751e60464ffd4cfdc005e0aa6f8cb9b459
- 0xe027395fafb7fc41921c42ca0542524ea22204cbd5908b70b27f3d5fb26f5d0f
- Day root
- 0x2c19037464cc4c493624565f01775d6446fc78eaa118fc6865bfe2bfca9ff78e
- Chained
- 0xd1d7dee8322ceff8f4c8d83aa1fe4a4466825c2af1c97dbde3d35db61234f7be
- Published
- On Arc Testnet, block 69584042: 0x8bae2b1d097834c8b458513862d70d29ee807e98dc2e863b27250131c15b35ae