addrbookFor publishers
← The evidence ledger

Evidence row 218455

Observed , by probe.mcp/1.

Kind
mcp.tools
About
endpoint c37bbb32-1aa5-4c28-a4da-75387f588e7a
Recorded
Previous row
None: the first of its kind about this subject
Body SHA-256
e7e5739581ad3b81aa171af1ead95b060992a47bbf16bab1330736c019beb70b
Leaf
0x66b5ad6e6e323340a009a181e74cbf5a669ac5adfbfc97817e51f70d89860646

What was observed

{
  "count": 4,
  "tools": [
    {
      "description": "Project the cumulative cost of a fee list over 1-30 years by straight multiplication of each recurring fee's annualized amount, with one-time fees counted once (no compounding or inflation), with a per-fee breakdown. Use for 'what will these cost me over N years'. It does not flag fees: use audit_fees to find problem charges, benchmark_fees for typical ranges.",
      "inputSchema": {
        "properties": {
          "fees": {
            "description": "Non-empty list of fees to project, each {name, amount, frequency, category?}; category is accepted but not used here",
            "items": {
              "properties": {
                "amount": {
                  "description": "Amount per charge in USD, greater than 0, e.g. 38 or 15.99 (for monthly fees, the monthly amount)",
                  "exclusiveMinimum": 0,
                  "type": "number"
                },
                "category": {
                  "description": "Optional benchmark category key (case-insensitive; spaces/hyphens become underscores). One of: bank_overdraft, bank_monthly_maintenance, atm_out_of_network, late_payment, gym_membership_monthly, streaming_monthly, airline_checked_bag, airline_seat_fee, ticket_convenience, rental_application, subscription_app_monthly, delivery_fee, airline_change_fee, hotel_resort_fee. Unknown keys are ignored for benchmarking and listed in audit_fees' note.",
                  "type": "string"
                },
                "frequency": {
                  "description": "How often the fee is charged: 'monthly' (x12 per year), 'annual' or 'one-time'",
                  "enum": [
                    "monthly",
                    "annual",
                    "one-time"
                  ],
                  "type": "string"
                },
                "name": {
                  "description": "Fee label as it appears on the statement, e.g. 'Overdraft fee' or 'Netflix'",
                  "minLength": 1,
                  "type": "string"
                }
              },
              "required": [
                "name",
                "amount",
                "frequency"
              ],
              "type": "object"
            },
            "minItems": 1,
            "type": "array"
          },
          "years": {
            "description": "Number of years to project, integer 1-30; default 1",
            "maximum": 30,
            "minimum": 1,
            "type": "integer"
          }
        },
        "required": [
          "fees"
        ],
        "type": "object"
      },
      "name": "annual_cost"
    },
    {
      "description": "Audit a list of fees: annualize each one (monthly x12), total the yearly cost and monthly average, and flag charges above the typical US range for their category, duplicate names and one-time fees of $30+ worth disputing. Use when the user lists fees to review. For a multi-year projection use annual_cost; for typical ranges alone use benchmark_fees.",
      "inputSchema": {
        "properties": {
          "fees": {
            "description": "Non-empty list of fees to audit, each {name, amount, frequency, category?}",
            "items": {
              "properties": {
                "amount": {
                  "description": "Amount per charge in USD, greater than 0, e.g. 38 or 15.99 (for monthly fees, the monthly amount)",
                  "exclusiveMinimum": 0,
                  "type": "number"
                },
                "category": {
                  "description": "Optional benchmark category key (case-insensitive; spaces/hyphens become underscores). One of: bank_overdraft, bank_monthly_maintenance, atm_out_of_network, late_payment, gym_membership_monthly, streaming_monthly, airline_checked_bag, airline_seat_fee, ticket_convenience, rental_application, subscription_app_monthly, delivery_fee, airline_change_fee, hotel_resort_fee. Unknown keys are ignored for benchmarking and listed in audit_fees' note.",
                  "type": "string"
                },
                "frequency": {
                  "description": "How often the fee is charged: 'monthly' (x12 per year), 'annual' or 'one-time'",
                  "enum": [
                    "monthly",
                    "annual",
                    "one-time"
                  ],
                  "type": "string"
                },
                "name": {
                  "description": "Fee label as it appears on the statement, e.g. 'Overdraft fee' or 'Netflix'",
                  "minLength": 1,
                  "type": "string"
                }
              },
              "required": [
                "name",
                "amount",
                "frequency"
              ],
              "type": "object"
            },
            "minItems": 1,
            "type": "array"
          }
        },
        "required": [
          "fees"
        ],
        "type": "object"
      },
      "name": "audit_fees"
    },
    {
      "description": "Look up typical US consumer fee ranges (min/max per charge, USD) for one category such as bank_overdraft, or the full 14-category table when category is omitted. Use to answer 'is this fee normal?' questions. To check a user's own list of fees against these ranges, use audit_fees.",
      "inputSchema": {
        "properties": {
          "category": {
            "description": "Category key (case-insensitive; spaces/hyphens become underscores), one of: bank_overdraft, bank_monthly_maintenance, atm_out_of_network, late_payment, gym_membership_monthly, streaming_monthly, airline_checked_bag, airline_seat_fee, ticket_convenience, rental_application, subscription_app_monthly, delivery_fee, airline_change_fee, hotel_resort_fee. Omit to get the full table; an unknown key returns an error listing valid keys.",
            "type": "string"
          }
        },
        "type": "object"
      },
      "name": "benchmark_fees"
    },
    {
      "description": "Draft (text only; nothing is sent) a firm, polite letter asking a company to reverse or refund one specific fee, with grounds, a 14-day written-response request, an escalation path and sending tips. Use once the user has picked a fee to contest. To find which fees are worth disputing first, use audit_fees.",
      "inputSchema": {
        "properties": {
          "account_reference": {
            "description": "Optional account or reference number; prefer a masked form like '****1234'",
            "type": "string"
          },
          "amount": {
            "description": "Fee amount in USD, greater than 0, e.g. 38",
            "exclusiveMinimum": 0,
            "type": "number"
          },
          "company": {
            "description": "Company or bank that charged the fee, e.g. 'First National Bank'",
            "type": "string"
          },
          "date_charged": {
            "description": "Optional date the fee was charged, free text, e.g. 2026-09-14",
            "type": "string"
          },
          "fee_name": {
            "description": "Name of the fee being disputed, e.g. 'Overdraft fee'",
            "type": "string"
          },
          "reason": {
            "description": "Optional grounds for the dispute; default cites an undisclosed/unexpected charge and asks for a courtesy reversal",
            "type": "string"
          },
          "requested_action": {
            "description": "What to ask the company to do, e.g. 'waive' or 'refund'; default 'reverse or refund'",
            "type": "string"
          },
          "your_name": {
            "description": "Account holder's full name, used in From and to sign the letter",
            "type": "string"
          }
        },
        "required": [
          "fee_name",
          "amount",
          "company",
          "your_name"
        ],
        "type": "object"
      },
      "name": "dispute_letter"
    }
  ]
}

What the leaf hashes

{"body":"e7e5739581ad3b81aa171af1ead95b060992a47bbf16bab1330736c019beb70b","id":218455,"kind":"mcp.tools","method":"probe.mcp/1","observed_us":1793026555870992,"prev":null,"subject":"c37bbb32-1aa5-4c28-a4da-75387f588e7a","subject_kind":"endpoint"}

Proof

Its day has not closed yet. A day closes ten minutes after midnight UTC; the proof appears here then.

How to check it · This row as JSON