Every change Wellknown observed on this MCP server, newest first, with what it was before and what it became. Tool-surface changes carry the definition diff. Nothing here is edited after the fact.
Changed the definition of "annual_cost" and "audit_fees"
⟨8 unchanged words⟩ over 1-30 years by straight multiplication of each recurring fee's annualized amount(no compounding or,inflation;with one-time feesarecountedeveryonceyear(no compounding or inflation), with a per-fee breakdown. Use for 'what ⟨22 unchanged words⟩
⟨72 unchanged words⟩ , delivery_fee, airline_change_fee, hotel_resort_fee. Unknown keys areignored.ignored for benchmarking and listed in audit_fees' note.","type":"string"},"frequency":{ ⟨70 unchanged words⟩
⟨12 unchanged words⟩ ,"note":{"description":"Method note:straightrecurringmultiplicationfees multiplied by years, one-time fees counted once, no compounding","type":"string"},"per_fee ⟨9 unchanged words⟩ description":"Yearly cost of this fee, USD (monthly x12; annual as-is; one-time = the single charge, counted once)","type":"number"},"cumulative":{"description":"Total over the period, USD: annualized x years,USDfor monthly/annual fees; the single amount for one-time fees","type":"number"},"name":{ ⟨30 unchanged words⟩
⟨64 unchanged words⟩ , delivery_fee, airline_change_fee, hotel_resort_fee. Unknown keys areignored.ignored for benchmarking and listed in audit_fees' note.","type":"string"},"frequency":{ ⟨53 unchanged words⟩
⟨113 unchanged words⟩ {"description":"Plain-language summary of the auditresultresult; lists any unknown category keys that were ignored","type":"string"},"total_annual":{ ⟨27 unchanged words⟩
Changed the definition of "annual_cost", "audit_fees", "benchmark_fees" and 1 more
CalculateProject thetotalcumulative cost of a fee list overa1-30specifiedyearsnumberby straight multiplication ofyears.eachUsefee'swhenannualizedprojectingamount
Certificate recorded, valid to 2027-01-02
Authorization not required
Unknown → Live
First tool surface recorded: 4 tools (server version 1.0.0)
https://fee-fighter.magicteams.ai/mcp (mcp_streamable_http) — from mcp_registry, with the record
Showing the latest 7 events. The API returns up to 500 and filters by kind: ?kind=tool_surface_changed
{"properties":{"fees":{"description":"ListNon-emptyoflistyearlyof feesastonumbersproject,ineachISO{name,currencyamount,codefrequency, 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.","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":"YearsNumber of years to project,(integer1-30),1-30; default 1","maximum":30,"minimum":1,"type":"numberinteger"}},"required":["fees"],"type":"object"}
{"properties":{"feeBreakdowncumulative_total":{"description":"The costSum ofeach fee over the specifiedallnumberper-feeofcumulativeyears."amounts,"items":{"properties":{"name":{"description":"Thename of the fee.USD","type":"stringnumber"},"totalAmountnote":{"description":"The total cost of the fee overMethodthenote:specifiedstraightnumbermultiplication,ofnoyears.compounding","type":"numberstring"},"yearlyAmountsper_fee":{"description":"The cost of the fee for eachPer-feeyearprojection, intheinputprojection.order","items":{"properties":{"amountannualized":{"description":"TheYearly cost ofthethis feefor that,year.USD","type":"number"},"yearcumulative":{"description":"The year numberannualizedinxtheyears,projection.USD","type":"integernumber"}},"requiredname":["year","amount"],{"typedescription":"objectTrimmed fee name"},"type":"arraystring"}},"required":["name","totalAmountannualized","yearlyAmountscumulative"],"type":"object"},"type":"array"},"totalCost":{"description":"The cumulative cost of all fees over the specified number of years.","type":"number"},"yearlyBreakdownyears":{"description":"The costNumber ofall fees for each year in the projection.","items":{"properties":{"cost":{"description":"The total cost for that year.","type":"number"},"year":{"description":"The year number inyearstheprojectedprojection.(1-30)","type":"integer"}},"required":["year","cost"],"type":"object"},"type":"arrayyears"}},"required":["totalCostper_fee","yearlyBreakdowncumulative_total","feeBreakdownnote"],"type":"object"}
{"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"readOnlyHint":true,"title":"Annual cost"}
Annualize and analyzeAudit a list of fees:forannualizeanomalies.eachUseonewhen(monthlyneedingx12),tototalidentifytheoutliersyearly cost andduplicatesmonthlyinaverage,feeandstructures.flagAvoidcharges above the typical US range for their category, duplicate names and one-time fees of $30+ worth disputing. Use whenneedingthe user lists fees tocalculatereview.annualForcostsaonly,multi-year projection useannual_costannual_cost;instead.for typical ranges alone use benchmark_fees.
{"properties":{"fees":{"description":"FeesNon-empty list of fees to audit, eachwith{name, amount, frequencyand optional,categorycategory?}","items":{"properties":{"amount":{"description":"Amountchargedper 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,e.g.(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.","type":"string"},"frequency":{"description":"How often the feerecursis charged: 'monthly' (x12 per year), 'annual' or 'one-time'","enum":["monthly","annual","
{"properties":{"annualizedFeescurrency":{"description":"A listCurrency offees withalltheiramounts;annualizedalwaysamounts.USD","itemstype":{"propertiesstring":{},"annualizedAmountfees":{"description":"TheOneannualizedauditedamountrowofper
{"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"readOnlyHint":true,"title":"Audit fees"}
RetrieveLook up typical US consumer fee rangesby(min/maxcategory.perUsecharge,whenUSD)needingforaonequickcategoryreferencesuchforasfeebank_overdraft,benchmarks.orAvoidthe full 14-category table whenauditingcategoryspecificis omitted. Use to answer 'is this feechargesnormal?' questions. To check a user's own list of fees against these ranges, useaudit_fees instead.audit_fees.
{"properties":{"category":{"description":"Category keyto(case-insensitive;lookspaces/hyphensupbecome underscores),e.g.onebank_overdraft;of:omitbank_overdraft,forbank_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 fulltabletable; an unknown key returns an error listing valid keys.","type":"string"}},"type":"object"}
{"properties":{"categorybasis":{"description":"The category key lookedBasisup,labele.g.forbank_overdraft;theorrange'all'(typicalifUStherangefull-tableverifywascurrentreturned.pricing)","type":"string"},"feescategories":{"description":"List of typical
{"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"readOnlyHint":true,"title":"Benchmark fees"}
GenerateDraft (text only; nothing is sent) adisputefirm, polite letterforasking aspecificcompanyfee.toUsereversewhenoryourefundhaveoneaspecificclearfee,casewithforgrounds, arefund14-dayorwritten-responsereversal.request,DoanNOTescalationusepathwhenandyousendingneedtips. Use once the user has picked a fee toanalyzecontest.multipleTofees;findusewhichaudit_feesfeesinstead.are worth disputing first, use audit_fees.
{"properties":{"account_reference":{"description":"Optional account or referencenumbernumber; 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 thedisputedispute; default cites an undisclosed/unexpected charge and asks for a courtesy reversal","type":"string"},"requested_action":{"description":"What to askfor,thee.g.company'reversetoordo,refund'e.g. 'waive' or'waive';'refund';
{"properties":{"disclaimer":{"description":"Not legal or financial advice disclaimer","type":"string"},"letter":{"description":"TheFullfullletter textofwiththeTo/From/Subjectdisputeheaderletter.and signature","type":"string"},"recipientsending_tips":{"description":"The recipientPracticaloftipstheforlettersending,inferred fromfollowingtheupcompany
{"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"readOnlyHint":true,"title":"Dispute letter"}