mcpbeat Sign in

Senaro Personal Finance MCP Server

answering

Senaro Personal Finance is answering right now. Last checked 5 min ago. It exposes 18 tools.

Deterministic money math. Same inputs, same answer. Every number cites the rule it implements.

Uptime history 7 days of history
7 days agonow
100.0%
Uptime 24h
92 of 92 checks
18
Tools
read from the server
991 ms
Response time
average over 24h
open, no key
Access
streamable-http

What changed 1

Every tool that appeared, vanished or quietly changed what it asks for. Recorded since 13 September 2026. No other catalogue keeps this.

13 Sep a tool changed version

Nothing serious here today

Today is the operative word: we check Senaro Personal Finance every 15 minutes and re-read its code on every release. Watch it and you find out the day that stops being true.

Three servers free · no card

Connect this server

Endpoint below is the one we actually reach during checks — not the one copied from a README. Last verified 5 min ago.

run in your terminal
claude mcp add personal-finance --transport http https://mcp.senaro.ai/mcp
~/Library/Application Support/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "personal-finance": {
      "url": "https://mcp.senaro.ai/mcp"
    }
  }
}
~/.codex/config.toml
[mcp_servers.personal-finance]
url = "https://mcp.senaro.ai/mcp"
.cursor/mcp.json
{
  "mcpServers": {
    "personal-finance": {
      "url": "https://mcp.senaro.ai/mcp"
    }
  }
}
.vscode/mcp.json
{
  "mcpServers": {
    "personal-finance": {
      "url": "https://mcp.senaro.ai/mcp"
    }
  }
}

Available tools 18

Read directly from the server with tools/list, grouped by what they act on. If a tool disappears, we record the date.

calculate
calculate_cc_payoff
Calculation, not advice. Verify with a professional before acting. Calculate credit card payoff timeline with month-by-month amortization. Supports dual APR segments (purchase + cash advance), two strategies (avalanche, snowball), fixed/dynamic payment modes, and an optional schedule of one-time windfalls (tax refund, bonus, inheritance) applied at specific months. Returns debt-free date, total interest, per-card payoff order, first_month_interest_ratio_frac (the first month's interest/payment fraction) and lifetime_interest_ratio_frac (whole-projection total_interest/total_paid fraction), domain warnings emitted as warnings[].type (DEATH_SPIRAL, CA_TRAP, MIN_PAYMENT_TRAP, DAY_ZERO_COST, DEBT_GROWING, PROMO_CLIFF, PREDATORY_RATE, SPEND_EXCEEDS_PAYDOWN, PLAN_TERM_ELAPSED_WITH_BALANCE), separately validation disclosures emitted as warnings[].code (MINIMUM_PAYMENT_NOT_BINDING on the default dynamic-budget path, MINIMUM_PAYMENT_NOT_BINDING_IN_BASELINE when fixed_payments = true; these two shapes coexist in the same warnings[] array but are distinguishable by which keys each entry carries), and when a plan exists (extra_monthly_payment > 0, windfalls present, or fixed_payments = true) a min_payments_only baseline block with interest_saved_vs_min_payments and months_saved_vs_min_payments quantifying the interest and time difference versus paying minimums only. When windfalls are also present the response additionally gains a baseline vs with_windfalls savings block. The response echoes strategy (canonical lowercase 'avalanche' | 'snowball', the strategy the plan was actually simulated under) at the top level. The response includes `chart_hints` with rendering directives any client can use. The `senaro-charts` MCP server renders them locally over stdio only. Use output: 'summary' (default) for a compact response or 'inline' for the full payload. output: 'capture' writes the full payload to a file on this server's local disk and returns a capture_ref URI for chart rendering; available on the local stdio transport only, and rejected with a structured error on the hosted HTTP transport, where a capture_ref would be a dead link for a remote caller. Top-level `entered_starting_balance` echoes the caller's supplied balances by segment type (`total`, `purchase`, `cash_advance`, `balance_transfer`, `promotional`, `installment_plan`), before any fee, recurring spend, or interest posts; `total` is the sum of the other five. Top-level `total_purchase_segment_fees_paid` reports the portion of card fees (plan_fees_monthly plus annual_fee accruals) charged to the purchase segment across the projection, also present on every monthly_totals[] and analysis.buckets[] row. These month counts are each a {status, value, explanation} object rather than a bare month count: months_to_payoff, min_payments_only.months, minimums_only_baseline.months, and, when windfalls are supplied, baseline.months and with_windfalls.months. status is "defined" with an integer value when that plan reaches a zero balance, and "none" with value null when it does not, in which case explanation says why. The per-card payoff month inside card_payoff_order[] does not use the {status, value, explanation} object. It is still a bare integer.
calculate_debt_to_income
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. Returns current DTI, front-end and back-end ratios with proposed housing, maximum affordable home price, and what-if scenarios showing the resulting DTI and which programs would then qualify if a given debt were paid off, plus income-increase and home-price-reduction variants. Includes the 10-month rule (Fannie Mae) for debts near payoff. qualification.<program>.qualification_status is a tri-state verdict ('qualifies' | 'underwriting_dependent' | 'ineligible'): 'underwriting_dependent' means the manual-underwriting baseline is exceeded but further underwriting may still approve it, an automated-underwriting system for conventional and FHA, either automated or manual underwriting for USDA, or a supervisory underwriter's written justification under 38 CFR 36.4340(c)(2) for VA (never an automated decision), so qualification.<program>.qualifies=false does NOT by itself mean the borrower is blocked. Read qualification_status, not the bare qualifies boolean, for the real answer; qualification.<program>.note explains the specific underwriting or hard-cap context, naming which mechanism applies. VA's back-end overage alone never returns 'ineligible' either (38 CFR 36.4340(c)(2)/(c)(3) both contemplate approval above 41%), and conventional is now the only program that ever returns 'ineligible', since FHA, VA and USDA are each disclosure-only above their baselines.
calculate_emergency_fund
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 between current savings and the target, and time-to-target at the supplied monthly savings cadence. Pairs with debt-payoff content for the recurring 'save vs pay debt' question.
calculate_loan_payoff
Calculation, not advice. Verify with a professional before acting. Standard amortizing loan calculator. Returns monthly payment, total interest, a payoff date (null when the loan does not clear within its term), and a bucketed Analysis suitable for chart rendering. The Analysis includes KPIs, annotations (e.g. crossover month), and summary strings. When extra_monthly_payment is supplied, every computed figure in the response outside with_extra describes this loan without the extra payment, including monthly_payment, payoff_months, total_paid, total_interest, remaining_balance_at_term, payoff_date, months_to_halfway_principal, months_to_interest_flip, and every value under analysis; a warnings[] entry names this. The response includes `chart_hints` with rendering directives any client can use. The `senaro-charts` MCP server renders them locally over stdio only. On the local stdio transport, use output: 'capture' when passing the result to a chart tool to avoid filling the LLM context with bucket data; the hosted HTTP transport rejects 'capture' with a structured error, so use 'summary' (default; the full payload is already returned inline) there instead. This tool does not support output: 'inline' on any transport.
calculate_opportunity_cost
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. The response includes `chart_hints` with rendering directives any client can use. The `senaro-charts` MCP server renders them locally over stdio only.
calculate_runway
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 drawdown schedule. Single scenario per call: to compare 'status quo' vs 'cutbacks' vs 'cutbacks + unemployment', call once per scenario with the matching expenses and inflows. When inflows meet or exceed expenses (and expenses are not inflating), the fund does not draw down and a self-describing does-not-deplete outcome is returned instead of a month. Yield on the fund is treated as 0% in v1 (conservative). All assumptions cite their source. HEAVY tool: use output='summary' (default) for the headline or output='inline' for the full schedule. output='capture' writes the full payload to a file on this server's local disk for the chart-render pipeline; available on the local stdio transport only, and rejected with a structured error on the hosted HTTP transport.
compare
compare_debt_consolidation
Calculation, not advice. Verify with a professional before acting. Should you consolidate credit card debt with a personal loan? 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 combined simulation of the BT card + remaining original-card balances together, so freed minimum payments are correctly redistributed. Shows total cost, interest saved, monthly payment change, origination fee breakeven, hidden risks (reracking), promo-trap detection per offer, and what-if scenarios. Works with multiple cards including cash advance balances. The response includes `chart_hints` with rendering directives any client can use. The `senaro-charts` MCP server renders them locally over stdio only. HEAVY tool: use output='summary' (default) for the headline comparison or output='inline' for the full payload. output='capture' writes the full payload to a file on this server's local disk for the chart-render pipeline; available on the local stdio transport only, and rejected with a structured error on the hosted HTTP transport.
compare_mortgage_terms
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 the break-even investment return rate. Includes tax deduction analysis (itemizing vs standard deduction), PMI auto-removal tracking per the Homeowners Protection Act, and after-tax net worth comparison. Note: ARM (adjustable-rate) mortgages are not yet supported.
compare_strategies
Calculation, not advice. Verify with a professional before acting. Compare avalanche and snowball payoff strategies side-by-side. Returns months, total interest, payoff order, savings, total_balance, weighted_average_apr_pct, monthly_interest_now, and cost_breakdown array. When an arm is not projected to reach a zero balance, the savings.* fields for that arm carry status: "none" with value: null and an explanation, not a number. savings.strategies_convergence separately discloses the avalanche/snowball arms' own convergence: "both_converge" (ordinary case), "worst_never_amortizes" (the losing strategy arm does not reach a zero balance in this projection but the winning arm does, so savings.best_vs_worst_months/interest carry status: "none"), or "neither_converges" (the WINNING strategy arm does not reach a zero balance either, so no dollar or month figure derived from either strategy arm is reportable). lower_total_interest_strategy names whichever of avalanche or snowball has the lower total interest, or "tie" when the two arms' total interest and months are exactly equal. A "tie" can co-occur with savings.strategies_convergence="neither_converges". It reports only that comparison, never that either arm pays off. chart_hints.title and chart_hints.annotations[0].label report a dollar figure only when the comparison they describe is Defined, and otherwise state plainly that no figure is reportable, matching the "none" status on the corresponding savings.* field. Unlike chart_hints, summary and savings.savings_summary hedge rather than decline a figure, and the two always carry the same sentence as each other: when the compared arm does not converge (savings.baseline_never_amortizes=true, or savings.strategies_convergence=worst_never_amortizes) but the winning side still does, both report a figure hedged as a floor, "saves at least $X and N months ..., so the true saving could be higher than reported". Only when strategies_convergence=neither_converges do summary and savings.savings_summary also state that no figure is reportable. No savings.* sentinel object carries a hedged floor in its value key; the only place a floor ever appears is the savings.savings_summary sentence. This tool carries no domain-shaped warnings[].type entries (unlike calculate_cc_payoff); warnings[] here is exclusively validation disclosures emitted as warnings[].code, e.g. MINIMUM_PAYMENT_NOT_BINDING_IN_BASELINE plus the general portfolio findings (MANY_CARDS, HIGH_CARD_BALANCE, etc.) shared with every card-based tool. The response includes `chart_hints` with rendering directives any client can use. The `senaro-charts` MCP server renders them locally over stdio only. Use output: 'summary' (default) for a compact response or 'inline' for the full payload. output: 'capture' writes the full payload to a file on this server's local disk and returns a capture_ref URI for chart rendering; available on the local stdio transport only, and rejected with a structured error on the hosted HTTP transport, where a capture_ref would be a dead link for a remote caller.
analyze
analyze_cash_advance
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. The response includes `chart_hints` with rendering directives any client can use. The `senaro-charts` MCP server renders them locally over stdio only.
analyze_pmi_removal
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 investment and two- to four-unit properties), current monthly PMI cost, total PMI dollars between now and automatic removal, and the effective annual return of paying the gap-to-80% (of the original value) as a lump sum today. Supplying original_loan_term_months and loan_age_months also applies the 12 U.S.C. 4902(c) statutory final-termination midpoint, which bounds automatic removal at the earlier of the 78% schedule and that midpoint where HPA applies and the borrower is current. Pairs with compare_mortgage_terms for the broader refinance / pay-extra / drop-PMI decision.
compound
compound_interest
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. The response includes `chart_hints` with rendering directives any client can use. The `senaro-charts` MCP server renders them locally over stdio only.
defaults
list_defaults
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 canonical MCP tool name that consumes the default, or "shared" for a default consumed by two or more tools (or not yet wired to a specific tool). Case-insensitive. The 14 valid values: calculate_cc_payoff, calculate_debt_to_income, calculate_emergency_fund, calculate_opportunity_cost, calculate_runway, compare_debt_consolidation, compare_mortgage_terms, compare_strategies, compound_interest, optimize_401k_match, payoff_vs_invest, refi_breakeven, rent_vs_buy, shared. An unrecognized value returns validation_error listing the accepted set. name: string. Return one full entry. Requires category. Returns validation_error if not found. verbose: boolean. Return all 10 citation fields per entry instead of just category+name. Ignored when name is also present (single entry always includes all fields). Omit category to get the full verbose catalog. Default (no args): index mode. Every entry with just category and name fields (~20 KB).
optimize
optimize_401k_match
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 are capturing today; the maximum you could capture (full match entitlement); the match forfeited at your current rate; the minimum contribution percent to capture the full match; whether front-loading contributions would forfeit match at a no-true-up plan; and a per-period schedule showing level vs. front-load paths side by side. IRS limits (402(g) elective deferral, 401(a)(17) compensation cap, 415(c) annual additions) are applied and cited in provenance. Catch-up contribution ceilings for ages 50+ and 60-63 (SECURE 2.0) are computed when participant_age is provided; when a catch-up allowance applies, applied_caps[].cap_name reads '402(g) elective deferral plus 414(v) catch-up' and limit_value carries the combined ceiling, not the bare 402(g) amount. HEAVY tool: use output='summary' (default) for the headline scalars or output='inline' for the full per-period schedule. output='capture' writes the full payload to a file on this server's local disk for the chart-render pipeline; available on the local stdio transport only, and rejected with a structured error on the hosted HTTP transport.
payoff
payoff_vs_invest
Calculation, not advice. Verify with a professional before acting. Should you pay extra on debt or invest the difference? Compares the guaranteed return of debt payoff against expected investment returns over a time horizon. Accounts for post-payoff investing, tax implications, and finds the break-even investment return rate. Works for credit cards, auto loans, student loans, personal loans, and mortgages. The response echoes debt_type (canonical lowercase enum the projection was computed for) and debt_type_label (display-ready string, e.g. 'student loan') at the top level. HEAVY tool: use output='summary' (default) for the headline comparison or output='inline' for the full month-by-month schedule. output='capture' writes the full payload to a file on this server's local disk for the chart-render pipeline; available on the local stdio transport only, and rejected with a structured error on the hosted HTTP transport. At extreme inputs (very long horizon, very high rate, or very large amounts) the response may instead be { meta, not_representable: { code, explanation } } when no projection can be computed.
refi
refi_breakeven
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 (total refinance cost divided by monthly savings, CFPB convention); the lifetime interest delta over your remaining-term horizon; a term-matched scenario that isolates the rate cut from a term reset; a term-reset-trap flag (lower payment but higher lifetime interest from extending the term); and the economic break-even (net-worth crossover) month using an equal-outflow invest-the-savings model. Rate-and-term refis only (cash-out and tax effects are out of scope). All defaults cite primary sources (LodeStar/ALTA closing-cost data, CFPB break-even convention). Scalar output, no chart series.
rent
rent_vs_buy
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 costs (property tax, insurance, maintenance, PMI, HOA) on the BUY path and opportunity-cost investing on the RENT path. Optional federal tax benefit model (Tier-3: apply_tax_benefit=true) with TY2025/TY2026 SALT caps, mortgage interest deduction, PMI deductibility, and marginal-excess formula. All assumptions cite primary sources (FHFA, BLS, Harvard JCHS, IRS Pub 936, OBBBA Pub. L. 119-21) and can be overridden. HEAVY tool: use output='summary' (default) for scalar headline or output='inline' for chart series. output='capture' writes the full payload to a file on this server's local disk for the chart-render pipeline; available on the local stdio transport only, and rejected with a structured error on the hosted HTTP transport.
server
server_info
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 minimum required by your skill, STOP and ask the user to restart Claude Desktop.

Endpoints

URLTransportStateLatencyChecked
https://mcp.senaro.ai/mcp streamable-http answering 887 ms 5 min ago

Alternatives to Senaro Personal Finance

same job, measured the same way
Copilot Money
by ignaciohermosillacornejo

Query and manage Copilot Money personal finances — local reads, opt-in GraphQL writes.

88 installs/wk local only
Numeratica — financial planning calculations
by numeratica

Deterministic US financial planning: retirement Monte Carlo, Roth conversion, RMD, tax, IRMAA, SS

91 installs/wk 76 tools answering
SEC Filings
by tributarydata

Official SEC EDGAR filings, financial data and full-text search. Every answer cites its source.

answering
Zenmoney MCP
by a-tarasoff

MCP server for ZenMoney personal finance app

103 installs/wk local only
Valuation API
by johnbehar1500-ux

Deterministic finance tools for AI agents — IRR, NPV, MOIC, DCF, WACC and sensitivity.

14 tools answering
WalleK
by wallek

Personal finance ledger: log expenses, track bills and cards, import statements.

answering
Thousand API
by thousand-api

Certainty for AI Agents. Deterministic MCP tools for dates, crypto, finance. 84 tools.

84 tools answering
Lunch Money
by akutishevsky

MCP server for managing LunchMoney personal finances: transactions, budgets, categories, and more.

4 217 installs/wk local only

Senaro Personal Finance — questions

Answers built from our own checks of this server.

What can Senaro Personal Finance do?
It exposes 18 tools, read directly from the server on our last check. Among them: analyze_cash_advance, analyze_pmi_removal, calculate_cc_payoff, calculate_debt_to_income, calculate_emergency_fund, calculate_loan_payoff and 12 more. The full list with descriptions is on this page — we take it from the server itself via tools/list, not from a README. How MCP servers expose tools in the first place →
What is Senaro Personal Finance mostly used for?
Its tools cluster around calculate, compare and analyze. That is what this server is built to work with — the grouping comes from the actual tool names, not from a category we assigned.
Is Senaro Personal Finance working right now?
We send a real MCP handshake every 15 minutes. Over the last 24 hours 92 of 92 checks got a reply (100.0%), average response time 991 ms. The bar chart above shows every period we have measured.
How do I connect Senaro Personal Finance?
Copy the ready config from this page — we generate it for Claude Code, Claude Desktop, Codex, Cursor and VS Code, each with the file path that client actually reads. It is a remote server, so there is nothing to install — the client connects to the address.
Does Senaro Personal Finance need an API key?
No. Senaro Personal Finance completed a full MCP handshake with us as an anonymous client and listed its tools without asking for anything. All 18 of them are readable on this page. This is what we observed, not what the docs claim.
How fast is Senaro Personal Finance?
It answers our handshake in 991 ms on average, which is faster than 9% of all working MCP servers we measure. That is on the slow side — worth knowing if the tool sits inside an interactive loop. The comparison comes from our own checks across the whole registry, every 15 minutes.