Numeratica — financial planning calculations
by numeratica.com · remote · local (npm) · no sign-in to list tools · v0.1.5 · published by com.numeratica
Deterministic US financial planning: retirement Monte Carlo, Roth conversion, RMD, tax, IRMAA, SS
76 tools: 2 do something that can't be undone, 73 change things and 1 only read.
Scanned Oct 21, 2026
- Deletes or cancels0Claude Code: deny
- Can't be undone2Claude Code: ask: see these tools
- Changes things73Claude Code: ask: see these tools
- Only reads1Claude Code: allow: see these tools
No check matched anything in the tool definitions. No finding is not a safety guarantee. How the checks work.
claude mcp add --transport http numeratica https://api.numeratica.com/mcp --header 'Authorization: <your-authorization>'Tools
Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.
76 tools
Can't be undone 2Claude Code: ask
retirement_withdrawal_sequencingRetirement withdrawal sequencing.No findings
Why it is in this group
- The name "retirement_withdrawal_sequencing" says "withdrawal": a word that usually means money moves, which cannot be taken back.
Description, as the server wrote it Retirement withdrawal sequencing. Numeratica POST /v1/retirement/withdrawal-sequencing — returns JSON with result_id, engine_version, and a not-advice disclaimer (seed echoed for reproducible Monte Carlo where applicable). See the input schema for the accepted fields.
retirement_withdrawal_strategyDynamic retirement spending strategies over Monte Carlo paths: fixed_real, fixed_pct, guardrails (Guyton-Klinger), vpw, floor_and_ceiling.No findings
Why it is in this group
- The name "retirement_withdrawal_strategy" says "withdrawal": a word that usually means money moves, which cannot be taken back.
Description, as the server wrote it Dynamic retirement spending strategies over Monte Carlo paths: fixed_real, fixed_pct, guardrails (Guyton-Klinger), vpw, floor_and_ceiling. Returns the spending path, success probability, and ending bands.
Changes things 73Claude Code: ask
annuityAnnuity.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Annuity. Numeratica POST /v1/annuity — returns JSON with result_id, engine_version, and a not-advice disclaimer (seed echoed for reproducible Monte Carlo where applicable). See the input schema for the accepted fields.
benefits_dependent_careBenefits dependent care.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Benefits dependent care. Numeratica POST /v1/benefits/dependent-care — returns JSON with result_id, engine_version, and a not-advice disclaimer (seed echoed for reproducible Monte Carlo where applicable). See the input schema for the accepted fields.
benefits_health_planBenefits health plan.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Benefits health plan. Numeratica POST /v1/benefits/health-plan — returns JSON with result_id, engine_version, and a not-advice disclaimer (seed echoed for reproducible Monte Carlo where applicable). See the input schema for the accepted fields.
capital_market_assumptionsCapital market assumptions.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Capital market assumptions. Numeratica POST /v1/capital-market-assumptions — returns JSON with result_id, engine_version, and a not-advice disclaimer (seed echoed for reproducible Monte Carlo where applicable). See the input schema for the accepted fields.
cashflow_npv_irrCashflow npv irr.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Cashflow npv irr. Numeratica POST /v1/cashflow/npv-irr — returns JSON with result_id, engine_version, and a not-advice disclaimer (seed echoed for reproducible Monte Carlo where applicable). See the input schema for the accepted fields.
college_savingsCollege savings.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it College savings. Numeratica POST /v1/college-savings — returns JSON with result_id, engine_version, and a not-advice disclaimer (seed echoed for reproducible Monte Carlo where applicable). See the input schema for the accepted fields.
contribution_limitsContribution limits.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Contribution limits. Numeratica POST /v1/contribution-limits — returns JSON with result_id, engine_version, and a not-advice disclaimer (seed echoed for reproducible Monte Carlo where applicable). See the input schema for the accepted fields.
debt_payoffDebt payoff.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Debt payoff. Numeratica POST /v1/debt-payoff — returns JSON with result_id, engine_version, and a not-advice disclaimer (seed echoed for reproducible Monte Carlo where applicable). See the input schema for the accepted fields.
debt_vs_investDebt vs invest.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Debt vs invest. Numeratica POST /v1/debt-vs-invest — returns JSON with result_id, engine_version, and a not-advice disclaimer (seed echoed for reproducible Monte Carlo where applicable). See the input schema for the accepted fields.
education_529_to_rothEducation 529 to roth.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Education 529 to roth. Numeratica POST /v1/education/529-to-roth — returns JSON with result_id, engine_version, and a not-advice disclaimer (seed echoed for reproducible Monte Carlo where applicable). See the input schema for the accepted fields.
education_aid_estimateEducation aid estimate.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Education aid estimate. Numeratica POST /v1/education/aid-estimate — returns JSON with result_id, engine_version, and a not-advice disclaimer (seed echoed for reproducible Monte Carlo where applicable). See the input schema for the accepted fields.
education_student_loanEducation student loan.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Education student loan. Numeratica POST /v1/education/student-loan — returns JSON with result_id, engine_version, and a not-advice disclaimer (seed echoed for reproducible Monte Carlo where applicable). See the input schema for the accepted fields.
education_student_loan_refiEducation student loan refi.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Education student loan refi. Numeratica POST /v1/education/student-loan-refi — returns JSON with result_id, engine_version, and a not-advice disclaimer (seed echoed for reproducible Monte Carlo where applicable). See the input schema for the accepted fields.
equity_comp_esppEquity comp espp.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Equity comp espp. Numeratica POST /v1/equity-comp/espp — returns JSON with result_id, engine_version, and a not-advice disclaimer (seed echoed for reproducible Monte Carlo where applicable). See the input schema for the accepted fields.
equity_comp_isoEquity comp iso.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Equity comp iso. Numeratica POST /v1/equity-comp/iso — returns JSON with result_id, engine_version, and a not-advice disclaimer (seed echoed for reproducible Monte Carlo where applicable). See the input schema for the accepted fields.
equity_comp_iso_amt_capacityEquity comp iso amt capacity.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Equity comp iso amt capacity. Numeratica POST /v1/equity-comp/iso-amt-capacity — returns JSON with result_id, engine_version, and a not-advice disclaimer (seed echoed for reproducible Monte Carlo where applicable). See the input schema for the accepted fields.
equity_comp_iso_scheduleEquity comp iso schedule.No findings
Why it is in this group
- The name "equity_comp_iso_schedule" says "schedule": a word for a change.
Description, as the server wrote it Equity comp iso schedule. Numeratica POST /v1/equity-comp/iso-schedule — returns JSON with result_id, engine_version, and a not-advice disclaimer (seed echoed for reproducible Monte Carlo where applicable). See the input schema for the accepted fields.
equity_comp_nsoEquity comp nso.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Equity comp nso. Numeratica POST /v1/equity-comp/nso — returns JSON with result_id, engine_version, and a not-advice disclaimer (seed echoed for reproducible Monte Carlo where applicable). See the input schema for the accepted fields.
equity_comp_nuaEquity comp nua.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Equity comp nua. Numeratica POST /v1/equity-comp/nua — returns JSON with result_id, engine_version, and a not-advice disclaimer (seed echoed for reproducible Monte Carlo where applicable). See the input schema for the accepted fields.
equity_comp_rsuEquity comp rsu.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Equity comp rsu. Numeratica POST /v1/equity-comp/rsu — returns JSON with result_id, engine_version, and a not-advice disclaimer (seed echoed for reproducible Monte Carlo where applicable). See the input schema for the accepted fields.
equity_comp_section_83bEquity comp section 83b.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Equity comp section 83b. Numeratica POST /v1/equity-comp/section-83b — returns JSON with result_id, engine_version, and a not-advice disclaimer (seed echoed for reproducible Monte Carlo where applicable). See the input schema for the accepted fields.
goal_fundingGoal funding.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Goal funding. Numeratica POST /v1/goal-funding — returns JSON with result_id, engine_version, and a not-advice disclaimer (seed echoed for reproducible Monte Carlo where applicable). See the input schema for the accepted fields.
healthcare_aca_optimizeHealthcare aca optimize.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Healthcare aca optimize. Numeratica POST /v1/healthcare/aca-optimize — returns JSON with result_id, engine_version, and a not-advice disclaimer (seed echoed for reproducible Monte Carlo where applicable). See the input schema for the accepted fields.
healthcare_costsHealthcare costs.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Healthcare costs. Numeratica POST /v1/healthcare-costs — returns JSON with result_id, engine_version, and a not-advice disclaimer (seed echoed for reproducible Monte Carlo where applicable). See the input schema for the accepted fields.
inflation_adjustInflation adjust.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Inflation adjust. Numeratica POST /v1/inflation-adjust — returns JSON with result_id, engine_version, and a not-advice disclaimer (seed echoed for reproducible Monte Carlo where applicable). See the input schema for the accepted fields.
inherited_iraInherited ira.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Inherited ira. Numeratica POST /v1/inherited-ira — returns JSON with result_id, engine_version, and a not-advice disclaimer (seed echoed for reproducible Monte Carlo where applicable). See the input schema for the accepted fields.
insurance_disability_needsInsurance disability needs.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Insurance disability needs. Numeratica POST /v1/insurance/disability-needs — returns JSON with result_id, engine_version, and a not-advice disclaimer (seed echoed for reproducible Monte Carlo where applicable). See the input schema for the accepted fields.
insurance_life_needsInsurance life needs.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Insurance life needs. Numeratica POST /v1/insurance/life-needs — returns JSON with result_id, engine_version, and a not-advice disclaimer (seed echoed for reproducible Monte Carlo where applicable). See the input schema for the accepted fields.
insurance_long_term_careInsurance long term care.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Insurance long term care. Numeratica POST /v1/insurance/long-term-care — returns JSON with result_id, engine_version, and a not-advice disclaimer (seed echoed for reproducible Monte Carlo where applicable). See the input schema for the accepted fields.
ira_eligibilityIra eligibility.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Ira eligibility. Numeratica POST /v1/ira-eligibility — returns JSON with result_id, engine_version, and a not-advice disclaimer (seed echoed for reproducible Monte Carlo where applicable). See the input schema for the accepted fields.
loan_amortizationLoan amortization.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Loan amortization. Numeratica POST /v1/loan/amortization — returns JSON with result_id, engine_version, and a not-advice disclaimer (seed echoed for reproducible Monte Carlo where applicable). See the input schema for the accepted fields.
longevityLongevity.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Longevity. Numeratica POST /v1/longevity — returns JSON with result_id, engine_version, and a not-advice disclaimer (seed echoed for reproducible Monte Carlo where applicable). See the input schema for the accepted fields.
medicare_irmaaMedicare IRMAA: Part B and Part D income-related monthly adjustment by tier, plus headroom to the next tier.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Medicare IRMAA: Part B and Part D income-related monthly adjustment by tier, plus headroom to the next tier. MAGI uses the 2-year lookback; filing_status is single/mfj/mfs.
medicare_late_enrollment_penaltyMedicare late enrollment penalty.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Medicare late enrollment penalty. Numeratica POST /v1/medicare/late-enrollment-penalty — returns JSON with result_id, engine_version, and a not-advice disclaimer (seed echoed for reproducible Monte Carlo where applicable). See the input schema for the accepted fields.
mortgage_affordabilityMortgage affordability.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Mortgage affordability. Numeratica POST /v1/mortgage/affordability — returns JSON with result_id, engine_version, and a not-advice disclaimer (seed echoed for reproducible Monte Carlo where applicable). See the input schema for the accepted fields.
mortgage_pointsMortgage points.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Mortgage points. Numeratica POST /v1/mortgage/points — returns JSON with result_id, engine_version, and a not-advice disclaimer (seed echoed for reproducible Monte Carlo where applicable). See the input schema for the accepted fields.
mortgage_refinanceMortgage refinance.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Mortgage refinance. Numeratica POST /v1/mortgage/refinance — returns JSON with result_id, engine_version, and a not-advice disclaimer (seed echoed for reproducible Monte Carlo where applicable). See the input schema for the accepted fields.
mortgage_rent_vs_buyMortgage rent vs buy.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Mortgage rent vs buy. Numeratica POST /v1/mortgage/rent-vs-buy — returns JSON with result_id, engine_version, and a not-advice disclaimer (seed echoed for reproducible Monte Carlo where applicable). See the input schema for the accepted fields.
mortgage_term_comparisonMortgage term comparison.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Mortgage term comparison. Numeratica POST /v1/mortgage/term-comparison — returns JSON with result_id, engine_version, and a not-advice disclaimer (seed echoed for reproducible Monte Carlo where applicable). See the input schema for the accepted fields.
pension_lump_sum_vs_annuityPension lump sum vs annuity.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Pension lump sum vs annuity. Numeratica POST /v1/pension/lump-sum-vs-annuity — returns JSON with result_id, engine_version, and a not-advice disclaimer (seed echoed for reproducible Monte Carlo where applicable). See the input schema for the accepted fields.
portfolio_glidepathPortfolio glidepath.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Portfolio glidepath. Numeratica POST /v1/portfolio/glidepath — returns JSON with result_id, engine_version, and a not-advice disclaimer (seed echoed for reproducible Monte Carlo where applicable). See the input schema for the accepted fields.
portfolio_rebalancePortfolio rebalance.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Portfolio rebalance. Numeratica POST /v1/portfolio/rebalance — returns JSON with result_id, engine_version, and a not-advice disclaimer (seed echoed for reproducible Monte Carlo where applicable). See the input schema for the accepted fields.
retirement_accumulation_projectionRetirement accumulation projection.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Retirement accumulation projection. Numeratica POST /v1/retirement/accumulation-projection — returns JSON with result_id, engine_version, and a not-advice disclaimer (seed echoed for reproducible Monte Carlo where applicable). See the input schema for the accepted fields.
retirement_backdoor_rothRetirement backdoor roth.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Retirement backdoor roth. Numeratica POST /v1/retirement/backdoor-roth — returns JSON with result_id, engine_version, and a not-advice disclaimer (seed echoed for reproducible Monte Carlo where applicable). See the input schema for the accepted fields.
retirement_hsaRetirement hsa.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Retirement hsa. Numeratica POST /v1/retirement/hsa — returns JSON with result_id, engine_version, and a not-advice disclaimer (seed echoed for reproducible Monte Carlo where applicable). See the input schema for the accepted fields.
retirement_monte_carloMonte Carlo retirement projection: probability of not running out of money over a horizon, with percentile balance bands.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Monte Carlo retirement projection: probability of not running out of money over a horizon, with percentile balance bands. Deterministic given a seed (returned in the result).
retirement_qlacRetirement qlac.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Retirement qlac. Numeratica POST /v1/retirement/qlac — returns JSON with result_id, engine_version, and a not-advice disclaimer (seed echoed for reproducible Monte Carlo where applicable). See the input schema for the accepted fields.
retirement_rmdRequired Minimum Distribution: prior-year-end balance divided by the IRS distribution period.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Required Minimum Distribution: prior-year-end balance divided by the IRS distribution period. Uniform Lifetime by default; Single Life (inherited/beneficiary) via table=single.
retirement_savings_targetRetirement savings target.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Retirement savings target. Numeratica POST /v1/retirement/savings-target — returns JSON with result_id, engine_version, and a not-advice disclaimer (seed echoed for reproducible Monte Carlo where applicable). See the input schema for the accepted fields.
retirement_self_employedRetirement self employed.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Retirement self employed. Numeratica POST /v1/retirement/self-employed — returns JSON with result_id, engine_version, and a not-advice disclaimer (seed echoed for reproducible Monte Carlo where applicable). See the input schema for the accepted fields.
retirement_seppRetirement sepp.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Retirement sepp. Numeratica POST /v1/retirement/sepp — returns JSON with result_id, engine_version, and a not-advice disclaimer (seed echoed for reproducible Monte Carlo where applicable). See the input schema for the accepted fields.
retirement_survivor_scenarioRetirement survivor scenario.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Retirement survivor scenario. Numeratica POST /v1/retirement/survivor-scenario — returns JSON with result_id, engine_version, and a not-advice disclaimer (seed echoed for reproducible Monte Carlo where applicable). See the input schema for the accepted fields.
roth_conversionMulti-year Roth conversion ladder (bracket-fill, IRMAA-aware) vs.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Multi-year Roth conversion ladder (bracket-fill, IRMAA-aware) vs. a no-conversion baseline, with a year-by-year schedule and after-tax comparison. Optional pay-tax-from-external-funds.
roth_vs_traditionalRoth vs traditional.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Roth vs traditional. Numeratica POST /v1/roth-vs-traditional — returns JSON with result_id, engine_version, and a not-advice disclaimer (seed echoed for reproducible Monte Carlo where applicable). See the input schema for the accepted fields.
savings_waterfallSavings waterfall.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Savings waterfall. Numeratica POST /v1/savings-waterfall — returns JSON with result_id, engine_version, and a not-advice disclaimer (seed echoed for reproducible Monte Carlo where applicable). See the input schema for the accepted fields.
social_securitySocial Security claiming analysis (ages 62-70): monthly/lifetime benefit, breakeven, optimal claim age.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Social Security claiming analysis (ages 62-70): monthly/lifetime benefit, breakeven, optimal claim age. Optional earnings test, spousal/survivor/divorced household, and COLA.
social_security_couple_claimSocial security couple claim.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Social security couple claim. Numeratica POST /v1/social-security/couple-claim — returns JSON with result_id, engine_version, and a not-advice disclaimer (seed echoed for reproducible Monte Carlo where applicable). See the input schema for the accepted fields.
tax_asset_locationTax asset location.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Tax asset location. Numeratica POST /v1/tax/asset-location — returns JSON with result_id, engine_version, and a not-advice disclaimer (seed echoed for reproducible Monte Carlo where applicable). See the input schema for the accepted fields.
tax_bracket_roomTax bracket room.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Tax bracket room. Numeratica POST /v1/tax/bracket-room — returns JSON with result_id, engine_version, and a not-advice disclaimer (seed echoed for reproducible Monte Carlo where applicable). See the input schema for the accepted fields.
tax_estimateFederal income tax estimate (2025/2026): ordinary brackets, standard/itemized deduction, LTCG stacking, NIIT, Additional Medicare; optional AMT (include_amt) and real per-state tax…No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Federal income tax estimate (2025/2026): ordinary brackets, standard/itemized deduction, LTCG stacking, NIIT, Additional Medicare; optional AMT (include_amt) and real per-state tax via the state field. filing_status is one of single/mfj/mfs/hoh.
tax_estimated_taxTax estimated tax.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Tax estimated tax. Numeratica POST /v1/tax/estimated-tax — returns JSON with result_id, engine_version, and a not-advice disclaimer (seed echoed for reproducible Monte Carlo where applicable). See the input schema for the accepted fields.
tax_gain_harvestingTax gain harvesting.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Tax gain harvesting. Numeratica POST /v1/tax/gain-harvesting — returns JSON with result_id, engine_version, and a not-advice disclaimer (seed echoed for reproducible Monte Carlo where applicable). See the input schema for the accepted fields.
tax_liquidation_scheduleTax liquidation schedule.No findings
Why it is in this group
- The name "tax_liquidation_schedule" says "schedule": a word for a change.
Description, as the server wrote it Tax liquidation schedule. Numeratica POST /v1/tax/liquidation-schedule — returns JSON with result_id, engine_version, and a not-advice disclaimer (seed echoed for reproducible Monte Carlo where applicable). See the input schema for the accepted fields.
tax_marginal_mapTax marginal map.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Tax marginal map. Numeratica POST /v1/tax/marginal-map — returns JSON with result_id, engine_version, and a not-advice disclaimer (seed echoed for reproducible Monte Carlo where applicable). See the input schema for the accepted fields.
tax_qcd_planTax qcd plan.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Tax qcd plan. Numeratica POST /v1/tax/qcd-plan — returns JSON with result_id, engine_version, and a not-advice disclaimer (seed echoed for reproducible Monte Carlo where applicable). See the input schema for the accepted fields.
tax_qsbs_exclusionTax qsbs exclusion.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Tax qsbs exclusion. Numeratica POST /v1/tax/qsbs-exclusion — returns JSON with result_id, engine_version, and a not-advice disclaimer (seed echoed for reproducible Monte Carlo where applicable). See the input schema for the accepted fields.
tax_s_corp_salaryTax s corp salary.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Tax s corp salary. Numeratica POST /v1/tax/s-corp-salary — returns JSON with result_id, engine_version, and a not-advice disclaimer (seed echoed for reproducible Monte Carlo where applicable). See the input schema for the accepted fields.
tax_social_security_benefitsTax social security benefits.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Tax social security benefits. Numeratica POST /v1/tax/social-security-benefits — returns JSON with result_id, engine_version, and a not-advice disclaimer (seed echoed for reproducible Monte Carlo where applicable). See the input schema for the accepted fields.
tax_state_incomeTax state income.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Tax state income. Numeratica POST /v1/tax/state-income — returns JSON with result_id, engine_version, and a not-advice disclaimer (seed echoed for reproducible Monte Carlo where applicable). See the input schema for the accepted fields.
tax_survivor_transitionTax survivor transition.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Tax survivor transition. Numeratica POST /v1/tax/survivor-transition — returns JSON with result_id, engine_version, and a not-advice disclaimer (seed echoed for reproducible Monte Carlo where applicable). See the input schema for the accepted fields.
tax_tlh_benefitTax tlh benefit.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Tax tlh benefit. Numeratica POST /v1/tax/tlh-benefit — returns JSON with result_id, engine_version, and a not-advice disclaimer (seed echoed for reproducible Monte Carlo where applicable). See the input schema for the accepted fields.
tax_w4_checkupTax w4 checkup.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Tax w4 checkup. Numeratica POST /v1/tax/w4-checkup — returns JSON with result_id, engine_version, and a not-advice disclaimer (seed echoed for reproducible Monte Carlo where applicable). See the input schema for the accepted fields.
tvmTvm.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Tvm. Numeratica POST /v1/tvm — returns JSON with result_id, engine_version, and a not-advice disclaimer (seed echoed for reproducible Monte Carlo where applicable). See the input schema for the accepted fields.
Only reads 1Claude Code: allow
tax_filing_statusTax filing status.No findings
Why it is in this group
- The name "tax_filing_status" says "status": a word for reading.
Description, as the server wrote it Tax filing status. Numeratica POST /v1/tax/filing-status — returns JSON with result_id, engine_version, and a not-advice disclaimer (seed echoed for reproducible Monte Carlo where applicable). See the input schema for the accepted fields.
This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.
Install
Pinned to version 0.1.5. Values in angle brackets are yours to fill in.
claude mcp add --transport http numeratica https://api.numeratica.com/mcp --header 'Authorization: <your-authorization>'Run in a terminal.
Claude Code permissions
Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [
"mcp__numeratica__tax_filing_status"
],
"ask": [
"mcp__numeratica__annuity",
"mcp__numeratica__benefits_dependent_care",
"mcp__numeratica__benefits_health_plan",
"mcp__numeratica__capital_market_assumptions",
"mcp__numeratica__cashflow_npv_irr",
"mcp__numeratica__college_savings",
"mcp__numeratica__contribution_limits",
"mcp__numeratica__debt_payoff",
"mcp__numeratica__debt_vs_invest",
"mcp__numeratica__education_529_to_roth",
"mcp__numeratica__education_aid_estimate",
"mcp__numeratica__education_student_loan",
"mcp__numeratica__education_student_loan_refi",
"mcp__numeratica__equity_comp_espp",
"mcp__numeratica__equity_comp_iso",
"mcp__numeratica__equity_comp_iso_amt_capacity",
"mcp__numeratica__equity_comp_iso_schedule",
"mcp__numeratica__equity_comp_nso",
"mcp__numeratica__equity_comp_nua",
"mcp__numeratica__equity_comp_rsu",
"mcp__numeratica__equity_comp_section_83b",
"mcp__numeratica__goal_funding",
"mcp__numeratica__healthcare_aca_optimize",
"mcp__numeratica__healthcare_costs",
"mcp__numeratica__inflation_adjust",
"mcp__numeratica__inherited_ira",
"mcp__numeratica__insurance_disability_needs",
"mcp__numeratica__insurance_life_needs",
"mcp__numeratica__insurance_long_term_care",
"mcp__numeratica__ira_eligibility",
"mcp__numeratica__loan_amortization",
"mcp__numeratica__longevity",
"mcp__numeratica__medicare_irmaa",
"mcp__numeratica__medicare_late_enrollment_penalty",
"mcp__numeratica__mortgage_affordability",
"mcp__numeratica__mortgage_points",
"mcp__numeratica__mortgage_refinance",
"mcp__numeratica__mortgage_rent_vs_buy",
"mcp__numeratica__mortgage_term_comparison",
"mcp__numeratica__pension_lump_sum_vs_annuity",
"mcp__numeratica__portfolio_glidepath",
"mcp__numeratica__portfolio_rebalance",
"mcp__numeratica__retirement_accumulation_projection",
"mcp__numeratica__retirement_backdoor_roth",
"mcp__numeratica__retirement_hsa",
"mcp__numeratica__retirement_monte_carlo",
"mcp__numeratica__retirement_qlac",
"mcp__numeratica__retirement_rmd",
"mcp__numeratica__retirement_savings_target",
"mcp__numeratica__retirement_self_employed",
"mcp__numeratica__retirement_sepp",
"mcp__numeratica__retirement_survivor_scenario",
"mcp__numeratica__retirement_withdrawal_sequencing",
"mcp__numeratica__retirement_withdrawal_strategy",
"mcp__numeratica__roth_conversion",
"mcp__numeratica__roth_vs_traditional",
"mcp__numeratica__savings_waterfall",
"mcp__numeratica__social_security",
"mcp__numeratica__social_security_couple_claim",
"mcp__numeratica__tax_asset_location",
"mcp__numeratica__tax_bracket_room",
"mcp__numeratica__tax_estimate",
"mcp__numeratica__tax_estimated_tax",
"mcp__numeratica__tax_gain_harvesting",
"mcp__numeratica__tax_liquidation_schedule",
"mcp__numeratica__tax_marginal_map",
"mcp__numeratica__tax_qcd_plan",
"mcp__numeratica__tax_qsbs_exclusion",
"mcp__numeratica__tax_s_corp_salary",
"mcp__numeratica__tax_social_security_benefits",
"mcp__numeratica__tax_state_income",
"mcp__numeratica__tax_survivor_transition",
"mcp__numeratica__tax_tlh_benefit",
"mcp__numeratica__tax_w4_checkup",
"mcp__numeratica__tvm"
],
"deny": []
}
}Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as numeratica. Review it before you use it.