Model Context Protocol (MCP) server for freee API integration
Senaro Personal Finance is installed from its publisher's own source and answers where it runs, so this marketplace is not in the path of a single call. There is no address here to send one to, and a panel that pretended otherwise would be showing you an answer we made up. Install it and call it from your own client — the Installation tab has the entry for each one.
What it does
Credit card payoff, mortgages, refinancing, 401(k), rent vs buy. Every rule and default is cited.
Quickstart
# 1 — add it to Claude Code
claude mcp add --scope user --transport http senaro-personal-finance-mcp https://mcp.senaro.ai/mcp
# 2 — ask your agent for something these tools do
# analyze_cash_advance, analyze_pmi_removal, calculate_cc_payoff and 15 more
Senaro Personal Finance costs nothing on mcprush: there is no plan to choose here, no cap to set and nothing mcprush can bill you for.
Collected from a public index. Nobody has claimed this account, so nothing here was written by its author — claim it if it is yours.
Where are you running it?
Every route below installs the same thing and ends at the same approval screen. Nothing here runs on your machine and nothing runs on ours: this server answers at its publisher’s own address, and what you install is the connection straight to it.
This is a public server: it answers at its publisher’s own address and this marketplace is not in the path. Claude Code registers it in one command; --scope user makes it available in every project. The transport below is http, as the publisher's own manifest declares it.
claude mcp add --scope user --transport http senaro-personal-finance-mcp https://mcp.senaro.ai/mcpReconnect, or start a new session, and the tools appear in the model’s tool list.
One config entry pointing straight at the publisher’s own address — this marketplace is not in the path, and nothing from this listing executes on your machine.
18 tools, with what each one reads, writes and reaches shown before you agree — the same list on every route above. Read the tool surface.
Tool surface
What the model actually sees. Descriptions are diffed on every release — see version history.
Calculation, not advice. Verify with a professional before acting. Deep analysis of a single card's cash advance showing payment allocation, CA interest cost, CA payoff months, and whether the CA is growing. Pick this over calculate_cc_payoff when one card's cash advance is the question: it shows how the CARD Act above-minimum allocation rule, 15 U.S.C. §1666c(b)(1), sends payment above the mini
| Parameter | Type | Required | Notes |
|---|---|---|---|
| purchase_balance | number | yes | Current balance carrying the purchase APR. Decimal, at least 0. REQUIRED, no default. |
| purchase_apr_pct | number | yes | Purchase APR as a percentage, e.g. 24.99 not 0.2499. Decimal from 0 to 100. REQUIRED, no default. |
| cash_advance_balance | number | yes | Current balance carrying the cash advance APR. Decimal, greater than 0. REQUIRED, no default. |
| cash_advance_apr_pct | number | yes | Cash advance APR as a percentage. Decimal, greater than 0, at most 100. This tool has no promo input, so 0 is rejected: nothing would say when a 0% rate ends. For a promotional cash advance, use calcu |
| total_monthly_payment | number | yes | Total payment applied across both balances this month. Decimal, greater than 0, at most 2 decimal places. REQUIRED, no default. |
| minimum_payment | number/null | no | Issuer-stated minimum payment. Decimal, at least 0, at most 2 decimal places. Optional; defaults to auto-calculate when omitted. When supplied, this DOES bind: the per-month mandatory payment is min(m |
| cash_advance_fee_pct | number/null | no | Cash advance fee as a percentage of the advance, e.g. 5 for 5%. Decimal, at least 0 and at most 100. Optional; defaults to 0 when omitted. |
| cash_advance_fee_min | number/null | no | Minimum dollar cash advance fee, e.g. 10 for $10. Decimal, at least 0. Optional; defaults to 0 when omitted. |
| chart_title | string/null | no | Override for the chart title. Must not contain em-dashes or en-dashes. Max 120 characters. Optional. |
Calculation, not advice. Verify with a professional before acting. Compute every standard PMI-removal pathway: - HPA automatic at 78% LTV - HPA borrower-requested at 80% LTV - optional re-appraisal at a simplified 75% of current market value; the actual Fannie Mae ceiling is seasoning- and property-type-dependent, 75% for a one-unit home seasoned two to five years, 80% for five-plus, and 70% for
| Parameter | Type | Required | Notes |
|---|---|---|---|
| current_balance | number | yes | Today's loan balance. Decimal, greater than 0. REQUIRED, no default. |
| original_purchase_price | number | yes | What you paid for the home (the purchase-price side of the HPA basis; when a closing appraisal is lower, see original_appraised_value). Decimal, greater than 0. REQUIRED, no default. |
| annual_rate_pct | number | yes | Mortgage APR as a percentage. Decimal from 0 to 20. REQUIRED, no default. |
| monthly_payment | number | yes | Current P&I monthly payment, excluding tax, insurance, and PMI. Decimal, greater than 0. REQUIRED, no default. |
| current_home_value | number/null | no | Current market value of the home. Decimal, greater than 0. Optional. When supplied AND greater than the HPA original value (the lesser of purchase price and any closing appraisal), the response also c |
| original_appraised_value | number/null | no | The home's appraised value at closing. Decimal, greater than 0. Optional. HPA sets the PMI trigger basis to the LESSER of purchase price and this appraisal (12 U.S.C. 4901); supply it when your closin |
| annual_pmi_rate_pct | number/null | no | Annual PMI as a percentage of the current loan balance. Decimal from 0 to 5. Optional; omitting it uses the cited 0.5 default. Typical conventional-loan PMI ranges from 0.3% to 1.5%. |
| extra_monthly_payment | number/null | no | Extra principal paid each month beyond the regular payment. Decimal, at least 0. Optional; defaults to 0 when omitted. |
| original_loan_term_months | integer/null | no | The loan's original term in months. Integer from 1 to 480. Optional. Supplied together with loan_age_months, this computes the 12 U.S.C. 4902(c) statutory final-termination midpoint (12 U.S.C. 4901(7) |
| loan_age_months | integer/null | no | Months elapsed since origination. Integer from 0 to 480. Optional. Cannot exceed original_loan_term_months when both are supplied. Supplying either one without the other is rejected; both are required |
| chart_title | string/null | no | Override for the chart title. Must not contain em-dashes or en-dashes. Max 120 characters. Optional. |
Calculation, not advice. Verify with a professional before acting. Calculate credit card payoff timeline with month-by-month amortization. Pick this for a payoff timeline across credit cards under one strategy, including windfalls or fixed payments; pick compare_payoff_strategies to compare avalanche against snowball, calculate_loan_payoff for a single installment loan, and `analyze_cash_advan
| Parameter | Type | Required | Notes |
|---|---|---|---|
| cards | array | yes | Credit cards to pay off, 1 to 20. Required: omitting the field answers contract_error MISSING_REQUIRED_FIELD, while an explicit JSON null answers parse_error ("cards is required and must be an array." |
| extra_monthly_payment | number/null | no | Extra monthly payment in dollars, $0 to $1,000,000,000, applied on top of the required minimums. Optional; defaults to 0 when omitted. |
| strategy | string/null | no | Payoff order: 'avalanche' pays the highest APR first, 'snowball' the smallest balance first. Optional; defaults to 'avalanche' when omitted. Matched case-insensitively, and the response echoes the can |
| fixed_payments | boolean/null | no | Whether to hold each card's payment constant for the whole payoff. Optional; defaults to false when omitted. When true, each card's payment is locked at max(cards[].minimum_payment, that card's issuer |
| apply_rate_cap | boolean/null | no | Whether to cap each card's APR at the regulatory ceiling before simulating. Optional; defaults to false when omitted. |
| full_schedule | boolean/null | no | Whether to return the full per-card month-by-month schedule. Optional; defaults to false when omitted. The per-card monthly_schedule is capped at 1000 rows total across cards and months, so later mont |
| per_segment | boolean/null | no | Whether each schedule row carries its per-segment breakdown. Optional; defaults to true when omitted. |
| include_card_timeline | boolean/null | no | Whether to add the card_timeline block, a per-card view of when each card clears. Optional; defaults to false when omitted. |
| windfalls | array/null | no | One-time principal payments, at most 12, e.g. a tax refund or a year-end bonus. Optional; a JSON null is treated as omitted. When non-empty the response gains baseline, with_windfalls, months_saved_vs |
| output | string/null | no | Valid values: 'summary' (default), 'inline'. summary returns a compact response with a data_preview block; inline returns the full payload. |
| chart_title | string/null | no | Override for the chart title. Optional; must not contain an em dash or en dash. Max 120 characters. |
Calculation, not advice. Verify with a professional before acting. Standard compound interest calculator. Returns future value, total contributions, interest earned, effective annual rate, and milestones. Pick this for a balance that grows with contributions. Pick calculate_opportunity_cost when the money is recurring spending being priced against investing, and calculate_loan_payoff when the
| Parameter | Type | Required | Notes |
|---|---|---|---|
| principal | number | yes | Starting balance. Decimal, at least 0. REQUIRED, no default. |
| annual_rate_pct | number | yes | Annual interest rate as a percentage, e.g. 7 not 0.07. Decimal from 0 to 100. REQUIRED, no default. |
| years | integer | yes | Time horizon in years. Integer, at least 1. REQUIRED, no default. |
| monthly_contribution | number/null | no | Additional contribution added each month. Decimal, at least 0. Optional; defaults to 0 when omitted. |
| compounds_per_year | integer/null | no | Compounding periods per year. Integer, greater than 0. Optional; defaults to 12 when omitted. |
| inflation_rate_pct | number/null | no | Inflation rate as a percentage. Decimal: -1 (deprecated suppress, same as 0), 0 (no real-value overlay), or greater than 0 and less than 100 (explicit percentage, e.g. 3.5). Optional; defaults to 0 wh |
| apply_default_inflation | boolean/null | no | When true and inflation_rate_pct is 0, auto-selects inflation via MacroeconomicDefaults.ForHorizon. Ignored when inflation_rate_pct is greater than 0 or rate_convention is 'real'. Optional; defaults t |
| rate_convention | string/null | no | 'nominal' or 'real'. 'real' unconditionally suppresses the inflation overlay; use when annual_rate_pct is already inflation-adjusted. Optional; defaults to 'nominal' when omitted. |
| chart_title | string/null | no | Override for the chart title. Must not contain em-dashes or en-dashes. Max 120 characters. Optional. |
Calculation, not advice. Verify with a professional before acting. Calculate your debt-to-income ratio and check qualification for conventional, FHA, VA, and USDA mortgage programs. Accepts existing debts and an optional proposed new debt or home price. Pick this to measure DTI ratios and mortgage-program qualification against existing debts; pick compare_debt_consolidation when the question is
| Parameter | Type | Required | Notes |
|---|---|---|---|
| gross_monthly_income | number/null | no | Gross monthly income in dollars. Exactly one of gross_monthly_income or annual_income is required. Must be at least $0.01, one cent, the smallest amount of money. |
| annual_income | number/null | no | Annual gross income in dollars, divided by 12 to get monthly income. Exactly one of gross_monthly_income or annual_income is required. Must be at least $0.01, one cent, the smallest amount of money. |
| additional_income | number/null | no | Additional monthly income: side income, rental income, or bonuses. Optional; defaults to 0 when omitted. Must be zero or more. |
| existing_debts | array/null | no | Existing debts to include in the DTI calculation. Optional; omit it or send an empty array for no existing debts. A JSON null is rejected; omit the field instead. At most 50 debts are allowed. |
| proposed_debt | object/null | no | A proposed new debt, as an alternative to proposed_home_price. Provide at most one of proposed_debt or proposed_home_price; providing neither computes the current DTI only. Optional; a JSON null is tr |
| proposed_home_price | number/null | no | Proposed home purchase price in dollars. Provide at most one of proposed_debt or proposed_home_price; providing neither computes the current DTI only. Auto-calculates full PITI (principal, interest, t |
| proposed_down_payment_pct | number/null | no | Down payment as a percent of the proposed home price, e.g. 20 for 20%. Optional; defaults to 20 when omitted. Must be between 0 and 99.9 (100% cash purchases are not supported). |
| proposed_rate_pct | number/null | no | Proposed mortgage interest rate as a percent, e.g. 7.0 for 7.0%. Optional; the 7.0% default applies whenever this field is omitted, whether the proposal is proposed_debt or proposed_home_price. The de |
| proposed_term_years | integer/null | no | Proposed mortgage term in years. Optional; defaults to 30 when omitted. Must be between 1 and 40. |
| property_tax_annual | number/null | no | Annual property tax in dollars. Optional; if omitted, estimated at 0.88% of the proposed home price. Must be zero or more. |
| home_insurance_annual | number/null | no | Annual home insurance in dollars. Optional; if omitted, estimated at 0.65% of the proposed home price. Must be zero or more. |
| pmi_monthly | number/null | no | Monthly PMI (private mortgage insurance) in dollars. Optional; if omitted, auto-estimated at 0.5% of the loan annually when loan-to-value exceeds 80%. Feeds the conventional-basis PITI, so it moves wi |
| hoa_monthly | number/null | no | Monthly homeowners association dues in dollars. Optional; defaults to 0 when omitted. Must be zero or more. |
| include_what_if | boolean/null | no | Whether to generate what-if scenarios showing how paying off a debt, increasing income, or reducing the home price would improve DTI. Optional; defaults to true when omitted. |
| transaction_purpose | string/null | no | Mortgage transaction purpose: 'purchase', 'refinance', or 'streamlined_assist'. Optional, defaults to 'purchase' when omitted. Affects USDA only, and only what is disclosed. USDA's 32% PITI and 44% To |
| family_size | integer/null | no | Household size for the VA residual income guideline. Supply family_size and property_state together, or neither. Optional; must be between 1 and 20. |
| property_state | string/null | no | Two-letter USPS state code, or 'DC'/'PR'/'GU'/'VI'/'AS'/'MP'. Supply family_size and property_state together, or neither. Together these compute the VA residual income guideline (38 CFR 36.4340(e)) in |
| monthly_taxes_and_retirement_withholding | number/null | no | Your federal, state, and FICA tax withholding, plus any amount paid or withheld for retirement, monthly. 38 CFR 36.4340(f)(13) treats these as one class of deduction from gross income. Optional; must |
| monthly_maintenance_and_utilities | number/null | no | Estimated monthly maintenance and utilities for the proposed property. 38 CFR 36.4340 calls for a realistic estimate of this figure for the property and local utility rates and sets no numeric multipl |
| va_funding_fee_financed_monthly | number/null | no | The additional monthly payment from financing a VA funding fee into the loan balance, if any. 38 CFR 36.4313(e)'s applicable percentage depends on down payment, prior VA-loan use, and service category |
Calculation, not advice. Verify with a professional before acting. Size an emergency fund target based on the borrower's monthly essential expenses, job stability, dependents, and income redundancy. Returns a tier breakdown (minimum, target, conservative; the target row is omitted when it equals the 3-month minimum, and the conservative row is omitted when it equals the 12-month ceiling), the gap
| Parameter | Type | Required | Notes |
|---|---|---|---|
| monthly_essential_expenses | number | yes | Rent/mortgage + utilities + food + insurance + minimum debt payments. NOT discretionary spending. Decimal from $0.01 to $1,000,000,000. REQUIRED, no default. |
| current_savings | number/null | no | What you have in liquid emergency-accessible savings today. Decimal from 0 to $1,000,000,000. Optional; defaults to 0 when omitted. |
| job_stability | string/null | no | 'stable_w2' | 'variable_income' | 'self_employed' | 'between_jobs'. Drives the target-months multiplier: stable_w2 salaried W-2 with consistent paycheck (+0 months); variable_income W-2 with commissio |
| dependents | integer/null | no | Number of dependents. Integer from 0 to 20. +1 target month per dependent, capped at +3. Optional; defaults to 0 when omitted. |
| has_dual_income | boolean/null | no | When true, partner income reduces the buffer by 1 month. Optional; defaults to false when omitted. |
| monthly_savings_capacity | number/null | no | What you can contribute toward the gap each month. Drives months_to_target. Decimal, either 0 or from $0.01 to $1,000,000,000. Optional; defaults to 0 when omitted. |
| chart_title | string/null | no | Override for the chart title. Must not contain em-dashes or en-dashes. Max 120 characters. Optional. |
Calculation, not advice. Verify with a professional before acting. Standard amortizing loan calculator. Pick this for a single fixed-rate installment loan (mortgage, auto, student, personal) with one amortization schedule; pick calculate_cc_payoff for a credit card, which carries revolving balances, multiple APR segments, and a snowball or avalanche strategy this tool does not model. Returns:
| Parameter | Type | Required | Notes |
|---|---|---|---|
| principal | number | yes | Loan principal to amortize. Decimal, greater than 0. REQUIRED, no default. |
| annual_rate_pct | number | yes | Loan annual interest rate (the note rate in the loan contract, not the disclosed APR, which can differ when fees are financed), e.g. 6.5 not 0.065. Decimal from 0 to 100. REQUIRED, no default. |
| term_months | integer | yes | Loan term. Integer, greater than 0. REQUIRED, no default. |
| loan_type | string/null | no | 'personal', 'auto', 'student', or 'mortgage'. Optional; defaults to 'personal' when omitted. |
| extra_monthly_payment | number/null | no | Extra principal paid each month beyond the regular payment. Decimal, at least 0. Optional; defaults to 0 when omitted. |
| chart_bucket | string/null | no | Time-axis granularity of analysis.buckets[]: 'auto', 'monthly', 'quarterly', 'yearly', or 'biennial'. Optional; defaults to 'auto', which selects by term length (<=24 months: monthly; <=60: quarterly; |
| output | string/null | no | Valid values: 'summary' (default). 'summary' returns the full payload including analysis.buckets[] inline. |
| chart_title | string/null | no | Override for the chart title. Must not contain em-dashes or en-dashes. Max 120 characters. Optional. |
Calculation, not advice. Verify with a professional before acting. Calculate the true cost of recurring spending by showing what that money would be worth if invested. Pick this when the input is recurring spending. Pick calculate_compound_interest when the input is a balance and its contributions with no spending to price, and compare_payoff_vs_invest when the alternative to investing is payi
| Parameter | Type | Required | Notes |
|---|---|---|---|
| monthly_spending | number | yes | Monthly spending to price against investing. Decimal, at least $0.01. The opportunity cost of spending $0 is degenerate and is rejected. REQUIRED, no default. |
| annual_return_pct | number | yes | Effective annual investment return, e.g. 8 not 0.08; the monthly compounding step is (1+pct/100)^(1/12)-1. Decimal from 0 to 100. REQUIRED, no default. |
| years | integer | yes | Time horizon in years. Integer, greater than 0. REQUIRED, no default. |
| label | string/null | no | What the spending is, e.g. 'coffee' or 'streaming subscriptions'. Optional. Max 120 characters. |
| tax_bracket_pct | number/null | no | Not used. Kept so older calls still work; an after-tax figure needs filing_status and annual_gross_income. Decimal from 0 to 100. Optional. |
| filing_status | string/null | no | Tax filing status: 'single', 'married', or 'head_of_household'. Optional; matched case-insensitively. Required, with annual_gross_income, for the after-tax opportunity cost. |
| annual_gross_income | number/null | no | Annual gross income in dollars, used as adjusted gross income for the tax on investment gains at the horizon. Optional; with filing_status it enables the after-tax opportunity cost. Held at this amoun |
| tax_year | integer/null | no | Tax year, 2025 or 2026. Year 1 of the horizon, so the assumed sale of the investments falls in tax year tax_year + years - 1. Optional; defaults to 2026 when omitted. |
| chart_title | string/null | no | Override for the chart title. Must not contain em-dashes or en-dashes. Max 120 characters. Optional. |
Calculation, not advice. Verify with a professional before acting. Deterministic mortgage refinance break-even analysis. Given your current loan (balance, rate, remaining term) and a refinance offer (new rate, new term, closing costs, optional points), computes: - monthly P&I savings; - the cash-flow break-even month (Senaro's formula: total refinance cost divided by monthly savings, rounded up t
| Parameter | Type | Required | Notes |
|---|---|---|---|
| current_balance | number | yes | Outstanding principal you would refinance. Decimal, greater than 0 and at most 1,000,000,000. REQUIRED, no default. |
| current_annual_rate_pct | number | yes | Current loan's annual rate as a percentage, e.g. 6.5 not 0.065. Decimal from 0 to 20. REQUIRED, no default. |
| remaining_term_months | integer | yes | Months left on the current loan. Integer from 1 to 480. REQUIRED, no default. |
| new_annual_rate_pct | number | yes | The offered refinance rate as a percentage. Decimal from 0 to 20. REQUIRED, no default. |
| new_term_months | integer | yes | The new loan term in months. Integer from 1 to 480. REQUIRED, no default. |
| current_monthly_payment | number/null | no | Your actual statement P&I payment. Decimal, greater than 0 and at most 1,000,000,000. Optional; when supplied it overrides the formula-derived payment, so match your statement. Rounded to the cent, it |
| closing_costs | number/null | no | Explicit closing costs in dollars, excluding points; total upfront cost is closing_costs plus the points cost. Decimal from 0 to 1,000,000,000. Optional; omitting it uses the cited default of 0.67% of |
| points | number/null | no | Discount points paid at closing, where 1.0 means 1% of the loan amount: the current balance when costs are paid upfront, or, when roll_costs_into_loan is true, the new loan amount, which includes the |
| roll_costs_into_loan | boolean/null | no | Whether closing costs and points are added to the new principal instead of paid upfront. When true, points are a percentage of the new loan amount; cash-flow break-even reports COSTS_ROLLED_INTO_LOAN; |
| investment_return_pct | number/null | no | Annual return used for the economic (net-worth crossover) break-even, an EFFECTIVE ANNUAL rate: it compounds money not spent on a payment and, when costs are paid upfront, the upfront refinance cost t |
| compute_economic_break_even | boolean/null | no | Whether to compute the economic (net-worth crossover) break-even. When false, economic_break_even reports NOT_REQUESTED; every other field is still returned. Optional; defaults to true when omitted. |
| chart_title | string/null | no | Reserved for the chart pipeline; validated but not yet used. Must not contain em-dashes or en-dashes. Max 120 characters. Optional. |
Calculation, not advice. Verify with a professional before acting. Deterministic cash-runway calculator. Given your liquid savings, monthly essential expenses, optional ongoing inflows (partner income, side income, severance paid as a monthly stream, unemployment benefits), and an optional expense-inflation rate, computes how many months the fund lasts before it hits zero, plus a month-by-month dr
| Parameter | Type | Required | Notes |
|---|---|---|---|
| current_savings | number | yes | Liquid fund available to draw down. Decimal from 0 to 1,000,000,000; 0 is valid (an already-empty fund). REQUIRED, no default. |
| monthly_essential_expenses | number | yes | Monthly outflow at the chosen expense basis. Decimal, greater than 0 and at most 1,000,000,000. REQUIRED, no default. |
| monthly_inflows | number/null | no | Ongoing monthly income that continues during the drawdown (partner income, side income, unemployment benefit, severance paid monthly), modeled as a flat monthly stream; a one-time severance lump and t |
| annual_inflation_rate_pct | number/null | no | Annual expense-inflation rate as a percentage. When greater than 0, expenses grow each month by the monthly equivalent of this annual rate; when 0, expenses are constant. Decimal, at least 0 and less |
| use_essential_expenses | boolean/null | no | Expense basis: true means essential-only spending (survival runway), false means total spending (current-pace runway). Labels the reported expense_basis. Optional; defaults to true when omitted. |
| output | string/null | no | Valid values: 'summary' (default), 'inline'. 'summary' returns headline scalars (depletion month or does-not-deplete) and citations with the schedule stripped. 'inline' returns the full payload includ |
| chart_title | string/null | no | Reserved for the chart pipeline; validated but not yet used. Must not contain em-dashes or en-dashes. Max 120 characters. Optional. |
Calculation, not advice. Verify with a professional before acting. Compares keeping cards vs. consolidation loan vs. optional balance transfer offers (single offer or head-to-head multi-offer comparison via bt_offers[]). Supports partial balance transfers via bt_transfer_limit: transfers only up to that dollar amount (choosing cards by highest APR, highest balance, or manually), then runs a combi
| Parameter | Type | Required | Notes |
|---|---|---|---|
| cards | array | yes | Credit cards to include, 1 to 20. Required: omitting the field answers contract_error MISSING_REQUIRED_FIELD, while an explicit JSON null answers parse_error ("cards must be a JSON array."); the two a |
| consolidation_loan | object | yes | Loan terms for the consolidation option. Required: omitting the field answers contract_error MISSING_REQUIRED_FIELD, while an explicit JSON null answers parse_error ("consolidation_loan must be an obj |
| extra_monthly_payment | number/null | no | Extra monthly payment in dollars, $0 to $1,000,000,000, applied on top of the required minimums for keep-cards and any balance transfer, and on top of the loan's own required payment for consolidation |
| current_strategy | string/null | no | Your current payoff strategy, compared against the consolidation loan / balance-transfer alternative: 'avalanche' or 'snowball'. In partial consolidation it ranks the loan against the kept cards, and |
| include_balance_transfer | boolean/null | no | Whether to run a single-offer balance-transfer scenario using the four scalar bt_* fields below. Optional; defaults to false when omitted. Ignored once bt_offers is supplied; use bt_offers when compar |
| bt_apr_pct | number/null | no | Balance-transfer APR as a percentage, 0-100, e.g. 0 for a 0% promo. Required when include_balance_transfer is true and bt_offers is omitted. bt_offers, when supplied, overrides this and the other thre |
| bt_promo_months | integer/null | no | Balance-transfer promo period in months, 1-60. Optional; defaults to 18 when omitted. bt_offers, when supplied, overrides this. The 1-60 range applies only when include_balance_transfer is true and bt |
| bt_regular_apr_pct | number/null | no | APR that applies after the promo period ends, as a percentage, 0-100. Optional; defaults to 25.20 when omitted. bt_offers, when supplied, overrides this. The 0-100 range applies only when include_bala |
| bt_fee_pct | number/null | no | Balance-transfer fee as a percentage of the transferred balance, 0-10. Optional; defaults to 3.0 when omitted. bt_offers, when supplied, overrides this. The 0-10 range applies only when include_balanc |
| bt_offers | array/null | no | Balance-transfer offers to compare head-to-head, 1 to 10, preferred over the four scalar bt_* fields above when comparing two or more offers: when supplied, bt_offers overrides bt_apr_pct, bt_promo_mo |
| bt_transfer_limit | number/null | no | Cap on the total dollar amount transferred to the balance-transfer card, at least $0.01. When set, only this amount moves to the BT card; remaining balances stay on original cards, and a combined simu |
| bt_transfer_strategy | string/null | no | How to choose which balances move when bt_transfer_limit is less than your total debt: 'highest_apr_first' (transfer from highest-APR segments first, maximizes interest savings), 'highest_balance_firs |
| bt_manual_transfers | array/null | no | Exact per-card transfer amounts. Required when bt_transfer_strategy is 'manual'; each entry's card_name must match a name in cards[]. Optional otherwise; a JSON null is treated as omitted, the same as |
| full_schedule | boolean/null | no | Whether to return the full month-by-month amortization schedule instead of the compact default. Optional; defaults to false when omitted. |
| windfalls | array/null | no | One-time principal payments, at most 12, same shape as calculate_cc_payoff. Optional; a JSON null is treated as omitted, the same as leaving the field out. When non-empty, the response adds windfalls_ |
| output | string/null | no | Valid values: 'summary' (default), 'inline'. summary: compact response with a data_preview block; no heavy array exists on this response today, so summary and inline are currently identical in content |
| chart_title | string/null | no | Override for the chart title. Optional; must not contain an em dash or en dash. Max 120 characters. |
Calculation, not advice. Verify with a professional before acting. Compare two fixed-rate mortgage options side-by-side: - 15 vs 30 year, - different rates, - points vs no points, or - any two terms. Shows total interest, monthly payment breakdown (with tax, insurance, PMI, HOA), equity buildup, and, critically, what happens if you take the cheaper mortgage and invest the monthly savings. Finds
| Parameter | Type | Required | Notes |
|---|---|---|---|
| home_price | number | yes | Home purchase price in dollars. Required. Must be positive and no more than $1,000,000,000. |
| option_a | object | yes | The first fixed-rate mortgage option to compare. Required. |
| option_b | object | yes | The second fixed-rate mortgage option to compare, same shape as option_a. Required. Must differ from option_a on at least one of term_years, annual_rate_pct, or points. |
| down_payment_pct | number/null | no | Down payment as a percent of home_price, e.g. 20 for 20%. Optional; defaults to 20 when omitted. Range 0-100 applies only when down_payment_amount is absent; when down_payment_amount is supplied, down |
| down_payment_amount | number/null | no | Down payment in dollars. Optional; overrides down_payment_pct entirely, including its provenance row, when supplied. Must be at least $0 and strictly below home_price. |
| property_tax_annual | number/null | no | Annual property tax in dollars, for true monthly cost. Optional; defaults to 0 when omitted. Must be zero or more. |
| home_insurance_annual | number/null | no | Annual home insurance in dollars. Optional; defaults to 0 when omitted. Must be zero or more. |
| pmi_monthly | number/null | no | Monthly PMI (private mortgage insurance) in dollars, charged when down payment is below 20%. Optional; defaults to 0 when omitted. Must be zero or more and no more than $1,000,000,000. |
| pmi_removal_ltv_pct | number/null | no | Loan-to-value percentage at which to model borrower-requested PMI removal, 50-100. Optional; when omitted, PMI is modeled as removed at the 78% HPA automatic-termination threshold instead. The rejecti |
| hoa_monthly | number/null | no | Monthly homeowners association dues in dollars. Optional; defaults to 0 when omitted. Must be zero or more and no more than $1,000,000,000. |
| invest_the_difference | boolean/null | no | Whether both options deploy the same total budget every month: the higher option's P&I plus any extra_monthly_payment plus the month-1 PMI both carry. The cheaper-mortgage holder invests the payment g |
| investment_return_pct | number/null | no | Assumed investment return on the invested payment gap, as a percentage, an EFFECTIVE ANNUAL rate; the monthly compounding step is (1+pct/100)^(1/12)-1. Optional; defaults to the cited Senaro long-run |
| tax_bracket_pct | number/null | no | Marginal tax bracket as a percentage, 0-50. Optional; values the mortgage-interest deduction (interest_deduction_value) and the yearly deduction savings credited to each option's investments in the af |
| standard_deduction | number/null | no | Standard deduction in dollars, compared against itemized mortgage-interest deductions. Optional; defaults to the IRS basic standard deduction for tax_year and filing_status when omitted (TY2026: 16100 |
| filing_status | string/null | no | Tax filing status: 'single', 'married', or 'head_of_household'. Optional; matched case-insensitively. Required, with annual_gross_income, for the after-tax comparison. |
| annual_gross_income | number/null | no | Annual gross income in dollars, used as adjusted gross income for the tax on investment gains at the horizon. Optional; with filing_status it enables the after-tax comparison. Held at this amount in t |
| tax_year | integer/null | no | Tax year, 2025 or 2026, selecting the IRS standard-deduction table for the itemize-vs-standard analysis. The after-tax view counts it as year 1 of the horizon, so the assumed sale of the investments f |
| extra_monthly_payment | number/null | no | Extra principal payment in dollars, applied equally to BOTH options every month. Optional; defaults to 0 when omitted. Must be zero or more and no more than $1,000,000,000. |
| time_horizon_years | integer/null | no | Number of years to project the invest-the-difference comparison, 1-40. Optional; defaults to the maximum of both options' term_years when omitted. |
| full_schedule | boolean/null | no | Whether to return the full month-by-month amortization schedule instead of the compact default. Optional; defaults to false when omitted. |
Calculation, not advice. Verify with a professional before acting. Compare avalanche and snowball payoff strategies side-by-side. Pick this to compare avalanche against snowball ordering on the same set of cards; pick calculate_cc_payoff once a strategy is chosen and the need is a single payoff timeline with windfalls or fixed payments. Returns months, total interest, payoff order, savings, tot
| Parameter | Type | Required | Notes |
|---|---|---|---|
| cards | array | yes | Credit cards to compare, 1 to 20, the same shape calculate_cc_payoff takes. Required: omitting the field answers contract_error MISSING_REQUIRED_FIELD, while an explicit JSON null answers parse_error |
| extra_monthly_payment | number/null | no | Extra monthly payment in dollars, $0 to $1,000,000,000, applied on top of the required minimums. Optional; defaults to 0 when omitted. |
| apply_rate_cap | boolean/null | no | Whether to cap each card's APR at the regulatory ceiling before simulating. Optional; defaults to false when omitted. |
| output | string/null | no | Valid values: 'summary' (default), 'inline'. summary returns the headline comparison with a data_preview block; inline returns the full payload. |
| chart_title | string/null | no | Override for the chart title. Optional; must not contain an em dash or en dash. Max 120 characters. |
Calculation, not advice. Verify with a professional before acting. Compares the guaranteed return of debt payoff against expected investment returns over a time horizon. Accounts for post-payoff investing, optionally taxes the investment gain once at the horizon (this needs filing_status and annual_gross_income), and finds the break-even investment return rate. Works for credit cards, auto loans,
| Parameter | Type | Required | Notes |
|---|---|---|---|
| debt_type | string | yes | Debt type: 'credit_card', 'auto', 'student', 'personal', or 'mortgage'. REQUIRED, no default. |
| debt_balance | number | yes | Current debt balance. Decimal, greater than 0. REQUIRED, no default. |
| debt_apr_pct | number | yes | Debt annual percentage rate, e.g. 6.5 not 0.065. Decimal from 0 to 100. REQUIRED, no default. |
| extra_monthly | number | yes | Extra monthly amount available for debt payoff or investing, the amount in question. Decimal, greater than 0. REQUIRED, no default. |
| minimum_payment | number/null | no | Minimum monthly payment. Decimal, at least 0. Optional; auto-calculated for amortizing loans when omitted or 0. |
| term_months_remaining | integer/null | no | Months remaining on the debt. Integer, greater than 0. Required for non-credit-card debt types; optional for credit_card. |
| investment_return_pct | number/null | no | Expected investment return, an EFFECTIVE ANNUAL rate; the monthly compounding step is (1+pct/100)^(1/12)-1. Decimal from 0 to 30. Optional; defaults to the cited long-run S&P 500 nominal return, about |
| investment_volatility_pct | number/null | no | Investment volatility. Decimal. Optional; adds a volatility risk note when supplied. |
| tax_bracket_pct | number/null | no | Marginal tax bracket, e.g. 22 not 0.22. Decimal from 0 to 100. Optional; used only for the mortgage or student loan interest deduction warning. It is never applied to investment gains. |
| investment_tax_advantaged | boolean/null | no | Whether the investments sit in a tax-advantaged account, e.g. 401k or IRA. Optional; defaults to false. When true, no after-tax comparison is computed: withdrawal tax depends on the account type, whic |
| filing_status | string/null | no | Tax filing status: 'single', 'married', or 'head_of_household'. Optional; matched case-insensitively. Required, with annual_gross_income, for the after-tax comparison. |
| annual_gross_income | number/null | no | Annual gross income in dollars, used as adjusted gross income for the tax on investment gains at the horizon. Optional; with filing_status it enables the after-tax comparison. Held at this amount in t |
| tax_year | integer/null | no | Tax year, 2025 or 2026. Year 1 of the time horizon, so the assumed sale of the investments falls in tax year tax_year plus the horizon in years, rounded up, minus 1. Optional; defaults to 2026 when om |
| time_horizon_years | integer/null | no | Projection horizon. Integer, greater than 0. Optional; defaults to the greater of the payoff horizon or 10 years when omitted. |
| full_schedule | boolean/null | no | Whether to return the full month-by-month schedule. Optional; defaults to false (compact schedule) when omitted. |
| output | string/null | no | Valid values: 'summary' (default), 'inline'. 'summary' returns headline comparison scalars, milestones, and citations with monthly_schedule stripped. 'inline' returns the full payload including the mo |
| chart_title | string/null | no | Override for the chart title. Must not contain em-dashes or en-dashes. Max 120 characters. Optional. |
Calculation, not advice. Verify with a professional before acting. Deterministic rent-vs-buy decision model. Given a home price, monthly rent, and mortgage rate, computes the breakeven month (when BUY net worth first equals or exceeds RENT net worth), per-horizon net-worth comparison (years 5, 10, 30 + user horizon), and the full year-by-year cost/wealth series for both paths. Includes carrying c
| Parameter | Type | Required | Notes |
|---|---|---|---|
| home_price | number | yes | Home purchase price. Decimal, greater than 0 and at most 1,000,000,000. REQUIRED, no default. |
| monthly_rent | number | yes | Monthly rent on the RENT path. Decimal from 0 to 1,000,000,000; 0 is valid (a free-housing baseline). REQUIRED, no default. |
| mortgage_rate_pct | number | yes | Mortgage annual rate as a percentage, e.g. 6.75 for 6.75%. Decimal, greater than 0 and at most 100. Never cached; provide the current rate. REQUIRED, no default. |
| down_payment_pct | number/null | no | Down payment as a percentage of the home price. Decimal from 0 to 100; 0 is valid (zero-down programs). Optional; defaults to 20% when omitted. |
| loan_term_months | integer/null | no | Mortgage term in months. Integer from 1 to 480. Optional; defaults to 360 (a 30-year fixed) when omitted. |
| horizon_years | integer/null | no | Projection horizon in years. Integer from 1 to 40. Optional; when omitted, the response returns snapshots at years 5, 10 and 30. |
| hoa_monthly | number/null | no | Monthly HOA dues on the BUY path. Decimal from 0 to 1,000,000,000. Optional; defaults to 0 when omitted. |
| home_appreciation_pct | number/null | no | Annual home price appreciation as a percentage. Decimal from -50 to 50. Optional; defaults to the cited 4.25% (FHFA HPI) when omitted; override for your market. |
| rent_growth_pct | number/null | no | Annual rent escalation as a percentage. Decimal from -50 to 50. Optional; defaults to the cited 3.4% (BLS CPI ROPR) when omitted; override for your market. |
| maintenance_pct | number/null | no | Annual maintenance as a percentage of home value. Decimal from 0 to 20. Optional; defaults to the cited 1.5% (Harvard JCHS) when omitted; override for your market. |
| sell_side_pct | number/null | no | Sell-side transaction cost as a percentage of the sale price. Decimal from 0 to 25. Optional; defaults to the cited 7.5% (Redfin post-NAR) when omitted; override for your market. |
| property_tax_pct | number/null | no | Annual property tax as a percentage of home value. Decimal from 0 to 10. Optional; defaults to 0.88% when omitted; override for your market. |
| home_insurance_pct | number/null | no | Annual home insurance as a percentage of home value. Decimal from 0 to 15. Optional; defaults to 0.65% when omitted; override for your market. |
| pmi_pct | number/null | no | Annual PMI rate as a percentage of the loan. Decimal from 0 to 5. Optional; defaults to 0.5% when omitted. The removal threshold is set by pmi_removal_ltv_pct. Models borrower-paid PMI on a convention |
| pmi_removal_ltv_pct | number/null | no | Loan-balance trigger for PMI removal, as a percentage loan-to-value. Decimal from 50 to 100. Optional; omitted, it is the 78% HPA automatic-termination threshold; provided (e.g. 80), it is whichever o |
| investment_return_pct | number/null | no | RENT path annual return as a percentage, an EFFECTIVE ANNUAL rate; the monthly compounding step is (1+pct/100)^(1/12)-1. Decimal from -50 to 30. Optional; defaults to 10.0% when omitted. |
| inflation_pct | number/null | no | Inflation as a percentage, for the real_terms toggle. Decimal, at least 0 and less than 100. Optional; when omitted, a nominal run uses 2.5%, and a real_terms run uses the horizon-based default: 2.0% |
| real_terms | boolean/null | no | Whether to deflate the output series to a real-terms view. Optional; defaults to false when omitted. |
| basis_capitalizable_pct_override | number/null | no | Percentage of the buy-side closing cost that is capitalizable into the §121 adjusted basis (IRS Pub 523 split: abstract fees, title search, recording fees, survey fees, transfer taxes, owner's title i |
| apply_tax_benefit | boolean/null | no | Whether to apply the federal tax benefit model (SALT cap following the statute's year-by-year schedule, mortgage interest deduction, PMI deductibility). When true, filing_status, tax_year and annual_g |
Calculation, not advice. Verify with a professional before acting. Returns named default values used by Senaro Finance tools with source citations. Use before calling other tools to understand what assumptions apply automatically. This tool does not accept an 'output' parameter; it always returns inline JSON. JSON parameters (all optional): - category: string. Filter entries by category: the c
| Parameter | Type | Required | Notes |
|---|---|---|---|
| category | string/null | no | Optional: filter entries by category, the canonical MCP tool name (e.g. "compare_rent_vs_buy") or "shared". Case-insensitive. |
| name | string/null | no | Optional: return one full entry. Requires category. Returns validation_error if not found. |
| verbose | boolean | no | Optional: return all 10 citation fields per entry instead of just category+name. |
Calculation, not advice. Verify with a professional before acting. Deterministic 401(k) employer-match optimizer. Given your annual salary, pay frequency, current contribution percent, and your employer's match formula (as a named preset or a custom tier list), computes: - the annual match you receive today; - the maximum match available (full match entitlement); - the match forfeited at your cur
| Parameter | Type | Required | Notes |
|---|---|---|---|
| annual_salary | number | yes | Annual gross salary. Decimal > 0. REQUIRED, no default. |
| pay_periods_per_year | integer | yes | Pay periods per year (12=monthly, 24=semi-monthly, 26=biweekly, 52=weekly). Integer in [1, 365]. REQUIRED, no default. |
| contribution_pct | number | yes | Current employee contribution as a percent of gross pay. Decimal in [0, 100]. REQUIRED, no default. |
| match_preset | string/null | no | Named match-formula preset: 'safe_harbor_basic' (100% of first 3% + 50% of next 2%), 'safe_harbor_enhanced_simple' (100% of first 4%), 'qaca' (100% of first 1% + 50% of next 5%), 'fifty_pct_of_first_s |
| match_tiers | array/null | no | Custom match-formula tier list. Example: [{"match_frac": 1.0, "up_to_deferral_pct": 3}, {"match_frac": 0.5, "up_to_deferral_pct": 2}] = safe_harbor_basic. Exactly one of match_preset or match_tiers is |
| has_true_up | boolean/null | no | Whether the plan provides an annual true-up. false is the conservative assumption: surfaces front-loading forfeiture risk. Optional; defaults to false when omitted. |
| participant_age | integer/null | no | Determines which catch-up limit applies (age 50+, or age 60-63 SECURE 2.0 super catch-up). Integer >= 0. Optional; omit when age is unknown or participant is under 50. |
| chart_title | string/null | no | Override for the chart title. Reserved for the chart pipeline. Must not contain em-dashes or en-dashes. Max 120 characters. Optional. |
| output | string/null | no | Valid values: 'summary' (default), 'inline'. Response envelope. 'summary': headline scalars, period_schedule stripped. 'inline': full payload including period_schedule[]. |
Calculation, not advice. Verify with a professional before acting. Returns metadata about the running Senaro MCP server: version, contract version, build commit, build timestamp, and the full list of supported tools. Call this once per session before drafting any content to verify the running process is not stale after a deploy. Idempotent, no side effects, < 50 ms. If server_version is below the
No parameter schema on file.
- Every tool — any call limit is its publisher’s, not ours
- No card, and mcprush charges nothing for it
- Runs at its publisher’s own address — this marketplace is not in the path
- Nothing to cap, because mcprush bills nothing
What counts against your monthly calls
| Tool | Unit | Calls used | Out of the allowance |
|---|
Nothing here is billable: mcprush charges nothing to install Senaro Personal Finance or to call it, at any volume.
Two independent axes, because powerful and malicious are different questions. The grade is threat only. The capability level is blast radius, and it is never a penalty on the grade — it is priced as one subtract-only term in the score, where you can see it.
This listing is an address its publisher runs, and you connect to it directly — this marketplace is not in the path. The scanner reads packages and public source, and an address is neither. So there is no grade — not a withheld one, an unmeasured one.
Release history
This is an address its publisher runs: which release it serves is theirs to choose, so there is nothing here to pin. The history below is for reading; the current release on file is 1.33.1.
No release note was published with this version.
One review per account, from a signed-in account that does not publish this listing. Nothing else is asked — you can say what you think before you install it. Publishers can reply once per review, and a review can be edited or deleted by whoever wrote it.
Any signed-in account that does not publish Senaro Personal Finance can review it, once — before installing it or after. A review from an account that has installed it is marked as one.
Nobody has reviewed this listing. The rating on the card is the mean of the reviews written here and nothing else, so there is no rating until somebody writes the first — which takes a signed-in account that does not publish it, and nothing else.