{"name":"com.numeratica/mcp","slug":"numeratica-mcp","title":"Numeratica — financial planning calculations","description":"Deterministic US financial planning: retirement Monte Carlo, Roth conversion, RMD, tax, IRMAA, SS","url":"https://mcp.market/server/numeratica-mcp","rating":null,"grade":"A","score":89,"certified":false,"status":"active","category":"other","tags":[],"presence":{"score":25,"stars":0,"forks":0,"downloads_week":26,"last_push_at":"2026-07-28T01:47:49.000Z","license":"MIT"},"uptime":{"percent":100,"checks":28,"ok":28,"last_checked_at":"2026-11-04T04:15:45.345Z","last_ok_at":"2026-11-04T04:15:45.345Z","latency_ms":92},"claimed":false,"transport":"mixed","callable_via_gateway":true,"default_price_micros":0,"repository":"https://github.com/numeratica/mcp","website":"https://docs.numeratica.com","version":"0.1.5","remotes":[{"type":"streamable-http","url":"https://api.numeratica.com/mcp","headers":[{"description":"Bearer <your Numeratica API key>, from https://docs.numeratica.com/get-key. Required for every tools/call. Discovery (initialize, tools/list, ping) answers without it, so a registry can enumerate the catalogue, but a client should still collect the key at setup or the first tool call fails.","isRequired":true,"format":"string","isSecret":true,"name":"Authorization"}]}],"packages":[{"registryType":"npm","identifier":"@numeratica/mcp","version":"0.1.5","runtimeHint":"npx","transport":{"type":"stdio"},"environmentVariables":[{"description":"Numeratica API key (nmr_sk_...). Free self-serve key at https://docs.numeratica.com/get-key","isRequired":true,"format":"string","isSecret":true,"name":"NUMERATICA_API_KEY"},{"description":"Override the API base URL. Defaults to https://api.numeratica.com; only needed for a staging or self-hosted deployment.","format":"string","name":"NUMERATICA_BASE_URL"},{"description":"Per-request timeout in milliseconds (default 120000, minimum 1000). Raise it for long-horizon Monte Carlo runs.","format":"string","name":"NUMERATICA_TIMEOUT_MS"}]}],"tools":[{"name":"annuity","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"age":{"type":"integer"},"assumed_rate":{"type":"number"},"payout_type":{"type":"string"},"period_certain_years":{"type":"integer"},"premium":{"type":"number"},"second_age":{"type":"integer"},"second_sex":{"type":"string"},"sex":{"type":"string"},"start_age":{"type":"integer"},"survivor_pct":{"type":"number"},"target_income":{"type":"number"}},"additionalProperties":false}},{"name":"benefits_dependent_care","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"dependent_care_expenses":{"type":"number"},"filing_status":{"type":"string"},"fsa_contribution_limit":{"type":"number"},"marginal_tax_rate":{"type":"number"},"ordinary_income":{"type":"number"},"qualifying_count":{"type":"integer"},"tax_year":{"type":"integer"}},"additionalProperties":false}},{"name":"benefits_health_plan","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"employer_hsa_seed":{"type":"number"},"expected_medical_spend":{"type":"number"},"hdhp":{"additionalProperties":false,"properties":{"coinsurance":{"type":"number"},"deductible":{"type":"number"},"oop_max":{"type":"number"},"premium":{"type":"number"}},"type":"object"},"hsa_contribution":{"type":"number"},"marginal_tax_rate":{"type":"number"},"ppo":{"additionalProperties":false,"properties":{"coinsurance":{"type":"number"},"deductible":{"type":"number"},"oop_max":{"type":"number"},"premium":{"type":"number"}},"type":"object"},"ppo_fsa_contribution":{"type":"number"}},"additionalProperties":false}},{"name":"capital_market_assumptions","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"assets":{"items":{"additionalProperties":false,"properties":{"expected_return":{"type":"number"},"name":{"type":"string"},"volatility":{"type":"number"},"weight":{"type":"number"}},"type":"object"},"type":"array"},"correlation":{"items":{"items":{"type":"number"},"type":"array"},"type":"array"},"default_correlation":{"type":"number"}},"additionalProperties":false}},{"name":"cashflow_npv_irr","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"cashflows":{"items":{"type":"number"},"type":"array"},"dated_cashflows":{"items":{"additionalProperties":false,"properties":{"amount":{"type":"number"},"date":{"type":"string"}},"type":"object"},"type":"array"},"rate":{"type":"number"}},"additionalProperties":false}},{"name":"college_savings","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"annual_cost_today":{"type":"number"},"college_start_age":{"type":"integer"},"current_child_age":{"type":"integer"},"current_savings":{"type":"number"},"expected_return":{"type":"number"},"tuition_inflation":{"type":"number"},"years_in_college":{"type":"integer"}},"additionalProperties":false}},{"name":"contribution_limits","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"age":{"type":"integer"},"compensation":{"type":"number"},"elective_deferral_ytd":{"type":"number"},"employer_match_cap_pct":{"type":"number"},"employer_match_rate":{"type":"number"},"hsa_contribution_ytd":{"type":"number"},"hsa_coverage":{"type":"string"},"ira_contribution_ytd":{"type":"number"},"prior_year_wages":{"type":"number"},"tax_year":{"type":"integer"}},"additionalProperties":false}},{"name":"debt_payoff","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"debts":{"items":{"additionalProperties":false,"properties":{"annual_rate":{"type":"number"},"balance":{"type":"number"},"label":{"type":"string"},"minimum_payment":{"type":"number"}},"type":"object"},"type":"array"},"monthly_budget":{"type":"number"},"strategy":{"type":"string"}},"additionalProperties":false}},{"name":"debt_vs_invest","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"annual_fee_rate":{"type":"number"},"expected_return":{"type":"number"},"extra_monthly":{"type":"number"},"horizon_years":{"type":"integer"},"interest_deductible":{"type":"boolean"},"loan_annual_rate":{"type":"number"},"loan_balance":{"type":"number"},"loan_minimum_payment":{"type":"number"},"marginal_rate":{"type":"number"},"num_simulations":{"type":"integer"},"return_volatility":{"type":"number"},"seed":{"type":"integer"}},"additionalProperties":false}},{"name":"education_529_to_roth","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"account_age_years":{"type":"integer"},"balance":{"type":"number"},"beneficiary_age":{"type":"integer"},"beneficiary_earned_income":{"type":"number"},"lifetime_rolled_already":{"type":"number"},"other_ira_contributions":{"type":"number"},"recent_contributions":{"type":"number"},"year":{"type":"integer"}},"additionalProperties":false}},{"name":"education_aid_estimate","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"award_year":{"type":"integer"},"cost_of_attendance":{"type":"number"},"family_size":{"type":"integer"},"parent2_earned_income":{"type":"number"},"parent_agi":{"type":"number"},"parent_business_farm_worth":{"type":"number"},"parent_cash_savings":{"type":"number"},"parent_earned_income":{"type":"number"},"parent_filing_status":{"type":"string"},"parent_income_tax_paid":{"type":"number"},"parent_investments_net":{"type":"number"},"parent_untaxed_income":{"type":"number"},"single_parent":{"type":"boolean"},"student_agi":{"type":"number"},"student_assets":{"type":"number"},"student_earned_income":{"type":"number"},"student_income_tax_paid":{"type":"number"},"student_untaxed_income":{"type":"number"}},"additionalProperties":false}},{"name":"education_student_loan","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"agi":{"type":"number"},"dependents":{"type":"integer"},"family_size":{"type":"integer"},"guideline_year":{"type":"integer"},"interest_rate":{"type":"number"},"loan_balance":{"type":"number"},"loan_before_2014":{"type":"boolean"},"pursuing_pslf":{"type":"boolean"},"standard_term_months":{"type":"integer"},"state":{"type":"string"}},"additionalProperties":false}},{"name":"education_student_loan_refi","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"discount_rate":{"type":"number"},"federal":{"additionalProperties":false,"properties":{"agi":{"type":"number"},"dependents":{"type":"integer"},"family_size":{"type":"integer"},"guideline_year":{"type":"integer"},"interest_rate":{"type":"number"},"loan_balance":{"type":"number"},"loan_before_2014":{"type":"boolean"},"pursuing_pslf":{"type":"boolean"},"standard_term_months":{"type":"integer"},"state":{"type":"string"}},"type":"object"},"refi_rate":{"type":"number"},"refi_term_months":{"type":"integer"}},"additionalProperties":false}},{"name":"equity_comp_espp","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"discount_pct":{"type":"number"},"offering_date_price":{"type":"number"},"purchase_date_price":{"type":"number"},"sale_price":{"type":"number"},"shares":{"type":"number"}},"additionalProperties":false}},{"name":"equity_comp_iso","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"filing_status":{"type":"string"},"fmv_at_exercise":{"type":"number"},"ordinary_income":{"type":"number"},"other_amt_preference_items":{"type":"number"},"sale_price":{"type":"number"},"shares":{"type":"number"},"strike_price":{"type":"number"},"tax_year":{"type":"integer"}},"additionalProperties":false}},{"name":"equity_comp_iso_amt_capacity","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"filing_status":{"type":"string"},"fmv_at_exercise":{"type":"number"},"ordinary_income":{"type":"number"},"other_amt_preference_items":{"type":"number"},"strike_price":{"type":"number"},"tax_year":{"type":"integer"}},"additionalProperties":false}},{"name":"equity_comp_iso_schedule","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"annual_amt_budget":{"type":"number"},"annual_fmv_growth":{"type":"number"},"annual_income_growth":{"type":"number"},"annual_ordinary_income":{"type":"number"},"filing_status":{"type":"string"},"fmv_at_start":{"type":"number"},"horizon_years":{"type":"integer"},"strike_price":{"type":"number"},"tax_year":{"type":"integer"},"total_shares":{"type":"number"}},"additionalProperties":false}},{"name":"equity_comp_nso","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"filing_status":{"type":"string"},"fmv_at_exercise":{"type":"number"},"other_ordinary_income":{"type":"number"},"shares":{"type":"number"},"strike_price":{"type":"number"},"tax_year":{"type":"integer"}},"additionalProperties":false}},{"name":"equity_comp_nua","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"cost_basis":{"type":"number"},"discount_rate":{"type":"number"},"filing_status":{"type":"string"},"growth_rate":{"type":"number"},"ltcg_rate":{"type":"number"},"marginal_ordinary_rate":{"type":"number"},"market_value":{"type":"number"},"sale_price":{"type":"number"},"tax_year":{"type":"integer"},"years_to_sale":{"type":"integer"}},"additionalProperties":false}},{"name":"equity_comp_rsu","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"filing_status":{"type":"string"},"fmv_at_vest":{"type":"number"},"other_ordinary_income":{"type":"number"},"shares":{"type":"number"},"tax_year":{"type":"integer"}},"additionalProperties":false}},{"name":"equity_comp_section_83b","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"filing_status":{"type":"string"},"fmv_at_grant":{"type":"number"},"fmv_at_vest":{"type":"number"},"other_ordinary_income":{"type":"number"},"price_paid":{"type":"number"},"shares":{"type":"number"},"tax_year":{"type":"integer"}},"additionalProperties":false}},{"name":"goal_funding","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"annual_return":{"type":"number"},"contributions_at_beginning":{"type":"boolean"},"current_savings":{"type":"number"},"periods_per_year":{"type":"integer"},"target_amount":{"type":"number"},"years":{"type":"number"}},"additionalProperties":false}},{"name":"healthcare_aca_optimize","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"age":{"type":"integer"},"base_income":{"type":"number"},"benchmark_annual_premium":{"type":"number"},"deferred_balance":{"type":"number"},"filing_status":{"type":"string"},"household_size":{"type":"integer"},"roth_balance":{"type":"number"},"spending_need":{"type":"number"},"state":{"type":"string"},"tax_exempt_interest":{"type":"number"},"tax_year":{"type":"integer"},"taxable_balance":{"type":"number"},"taxable_gain_fraction":{"type":"number"}},"additionalProperties":false}},{"name":"healthcare_costs","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"age":{"type":"integer"},"benchmark_annual_premium":{"type":"number"},"coverage_year":{"type":"integer"},"filing_status":{"type":"string"},"household_size":{"type":"integer"},"magi":{"type":"number"},"state":{"type":"string"}},"additionalProperties":false}},{"name":"inflation_adjust","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"amount":{"type":"number"},"annual_rate":{"type":"number"},"direction":{"type":"string"},"years":{"type":"integer"}},"additionalProperties":false}},{"name":"inherited_ira","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"account_growth_rate":{"type":"number"},"annual_rmd_floor":{"type":"number"},"filing_status":{"type":"string"},"inherited_balance":{"type":"number"},"other_income":{"type":"number"},"other_income_schedule":{"items":{"type":"number"},"type":"array"},"target_bracket":{"type":"number"},"tax_year":{"type":"integer"},"years":{"type":"integer"}},"additionalProperties":false}},{"name":"insurance_disability_needs","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"employer_group_fraction":{"type":"number"},"employer_group_monthly_max":{"type":"number"},"employer_paid_premium":{"type":"boolean"},"essential_monthly_expenses":{"type":"number"},"gross_annual_income":{"type":"number"},"individual_monthly_benefit":{"type":"number"},"marginal_tax_rate":{"type":"number"},"ssdi_monthly_benefit":{"type":"number"},"ssdi_offsets_group":{"type":"boolean"},"target_replacement_fraction":{"type":"number"}},"additionalProperties":false}},{"name":"insurance_life_needs","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"annual_income":{"type":"number"},"debts":{"type":"number"},"education_fund":{"type":"number"},"effective_tax_rate":{"type":"number"},"emergency_fund":{"type":"number"},"existing_assets":{"type":"number"},"existing_life_insurance":{"type":"number"},"final_expenses":{"type":"number"},"income_replace_fraction":{"type":"number"},"income_replace_years":{"type":"integer"},"mortgage_balance":{"type":"number"},"real_return":{"type":"number"},"self_consumption_fraction":{"type":"number"},"survivor_annual_income":{"type":"number"},"years_to_retirement":{"type":"integer"}},"additionalProperties":false}},{"name":"insurance_long_term_care","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"annual_care_cost_today":{"type":"number"},"annual_premium":{"type":"number"},"care_cost_inflation":{"type":"number"},"care_duration_years":{"type":"integer"},"care_start_age":{"type":"integer"},"current_age":{"type":"integer"},"discount_rate":{"type":"number"},"policy_annual_benefit":{"type":"number"},"policy_benefit_inflation":{"type":"number"},"policy_benefit_years":{"type":"integer"},"premium_years":{"type":"integer"}},"additionalProperties":false}},{"name":"ira_eligibility","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"age":{"type":"integer"},"compensation":{"type":"number"},"covered_by_workplace_plan":{"type":"boolean"},"elective_deferral":{"type":"number"},"employer_contributions":{"type":"number"},"filing_status":{"type":"string"},"magi":{"type":"number"},"plan_allows_mega_backdoor":{"type":"boolean"},"spouse_covered":{"type":"boolean"},"tax_year":{"type":"integer"}},"additionalProperties":false}},{"name":"loan_amortization","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"annual_rate":{"type":"number"},"extra_monthly_payment":{"type":"number"},"include_schedule":{"type":"boolean"},"principal":{"type":"number"},"term_months":{"type":"integer"}},"additionalProperties":false}},{"name":"longevity","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"age":{"type":"integer"},"health_adjustment":{"type":"number"},"second_age":{"type":"integer"},"second_health_adjustment":{"type":"number"},"second_sex":{"type":"string"},"sex":{"type":"string"}},"additionalProperties":false}},{"name":"medicare_irmaa","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"filing_status":{"type":"string"},"irmaa_year":{"type":"integer"},"magi":{"type":"number"}},"additionalProperties":false}},{"name":"medicare_late_enrollment_penalty","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"part_b_months_late":{"type":"integer"},"part_d_months_late":{"type":"integer"},"projection_years":{"type":"integer"},"year":{"type":"integer"}},"additionalProperties":false}},{"name":"mortgage_affordability","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"annual_income":{"type":"number"},"back_end_dti":{"type":"number"},"down_payment":{"type":"number"},"front_end_dti":{"type":"number"},"hoa_monthly":{"type":"number"},"insurance_rate":{"type":"number"},"interest_rate":{"type":"number"},"monthly_debts":{"type":"number"},"pmi_rate":{"type":"number"},"property_tax_rate":{"type":"number"},"term_months":{"type":"integer"}},"additionalProperties":false}},{"name":"mortgage_points","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"base_rate":{"type":"number"},"buydown_rate":{"type":"number"},"loan_amount":{"type":"number"},"points":{"type":"number"},"term_months":{"type":"integer"}},"additionalProperties":false}},{"name":"mortgage_refinance","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"closing_costs":{"type":"number"},"current_balance":{"type":"number"},"current_rate":{"type":"number"},"current_remaining_months":{"type":"integer"},"new_rate":{"type":"number"},"new_term_months":{"type":"integer"},"roll_in_closing_costs":{"type":"boolean"}},"additionalProperties":false}},{"name":"mortgage_rent_vs_buy","description":"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.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"closing_cost_rate":{"type":"number"},"down_payment":{"type":"number"},"hoa_monthly":{"type":"number"},"holding_period_months":{"type":"integer"},"home_appreciation":{"type":"number"},"home_price":{"type":"number"},"inflation":{"type":"number"},"insurance_rate":{"type":"number"},"investment_return":{"type":"number"},"loan_term_months":{"type":"integer"},"maintenance_rate":{"type":"number"},"monthly_rent":{"type":"number"},"mortgage_rate":{"type":"number"},"property_tax_rate":{"type":"number"},"rent_growth":{"type":"number"},"renters_insurance_monthly":{"type":"number"},"selling_cost_rate":{"type":"number"}},"additionalProperties":false}},{"name":"mortgage_term_comparison","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"investment_return":{"type":"number"},"loan_amount":{"type":"number"},"long_rate":{"type":"number"},"long_term_months":{"type":"integer"},"short_rate":{"type":"number"},"short_term_months":{"type":"integer"}},"additionalProperties":false}},{"name":"pension_lump_sum_vs_annuity","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"cola_rate":{"type":"number"},"current_age":{"type":"integer"},"discount_rate":{"type":"number"},"end_age":{"type":"integer"},"lump_sum_offer":{"type":"number"},"monthly_pension":{"type":"number"},"survivor_end_age":{"type":"integer"},"survivor_pct":{"type":"number"}},"additionalProperties":false}},{"name":"portfolio_glidepath","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"current_age":{"type":"integer"},"end_age":{"type":"integer"},"end_equity":{"type":"number"},"equity_ceiling":{"type":"number"},"equity_floor":{"type":"number"},"final_age":{"type":"integer"},"final_equity":{"type":"number"},"glide_type":{"type":"string"},"method":{"type":"string"},"retirement_age":{"type":"integer"},"rule_base":{"type":"number"},"start_equity":{"type":"number"}},"additionalProperties":false}},{"name":"portfolio_rebalance","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"band":{"type":"number"},"holdings":{"items":{"additionalProperties":false,"properties":{"cost_basis":{"type":"number"},"label":{"type":"string"},"target_weight":{"type":"number"},"value":{"type":"number"}},"type":"object"},"type":"array"},"new_contribution":{"type":"number"},"tax_aware":{"type":"boolean"},"withdrawal":{"type":"number"}},"additionalProperties":false}},{"name":"retirement_accumulation_projection","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"accounts":{"items":{"additionalProperties":false,"properties":{"annual_contribution":{"type":"number"},"contribution_cap":{"type":"number"},"current_balance":{"type":"number"},"name":{"type":"string"},"receives_match":{"type":"boolean"}},"type":"object"},"type":"array"},"annual_fee_rate":{"type":"number"},"current_age":{"type":"integer"},"employer_match_limit":{"type":"number"},"employer_match_rate":{"type":"number"},"escalation_rate":{"type":"number"},"expected_return":{"type":"number"},"glide_path":{"items":{"additionalProperties":false,"properties":{"age":{"type":"integer"},"expected_return":{"type":"number"},"return_volatility":{"type":"number"}},"type":"object"},"type":"array"},"inflation":{"type":"number"},"num_simulations":{"type":"integer"},"return_volatility":{"type":"number"},"seed":{"type":"integer"},"years":{"type":"integer"}},"additionalProperties":false}},{"name":"retirement_backdoor_roth","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"age":{"type":"integer"},"conversion_amount":{"type":"number"},"elective_deferrals":{"type":"number"},"employer_contributions":{"type":"number"},"existing_basis":{"type":"number"},"filing_status":{"type":"string"},"nondeductible_contribution":{"type":"number"},"plan_after_tax_limit":{"type":"number"},"pretax_ira_balance":{"type":"number"},"tax_year":{"type":"integer"}},"additionalProperties":false}},{"name":"retirement_hsa","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"age":{"type":"integer"},"annual_contribution":{"type":"number"},"coverage":{"type":"string"},"current_balance":{"type":"number"},"expected_return":{"type":"number"},"marginal_rate":{"type":"number"},"months_eligible":{"type":"integer"},"tax_year":{"type":"integer"},"use_last_month_rule":{"type":"boolean"},"years":{"type":"integer"}},"additionalProperties":false}},{"name":"retirement_monte_carlo","description":"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).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"annual_contribution":{"type":"number"},"annual_fee_rate":{"type":"number"},"annual_spending":{"type":"number"},"assets":{"items":{"additionalProperties":false,"properties":{"class":{"type":"string"},"expected_return":{"type":"number"},"return_volatility":{"type":"number"},"weight":{"type":"number"}},"type":"object"},"type":"array"},"correlations":{"items":{"items":{"type":"number"},"type":"array"},"type":"array"},"current_age":{"type":"integer"},"current_balance":{"type":"number"},"end_age":{"type":"integer"},"expected_return":{"type":"number"},"glide_path":{"items":{"additionalProperties":false,"properties":{"age":{"type":"integer"},"expected_return":{"type":"number"},"return_volatility":{"type":"number"}},"type":"object"},"type":"array"},"guaranteed_income":{"items":{"additionalProperties":false,"properties":{"annual_amount":{"type":"number"},"cola":{"type":"boolean"},"end_age":{"type":"integer"},"start_age":{"type":"integer"}},"type":"object"},"type":"array"},"inflation":{"type":"number"},"num_simulations":{"type":"integer"},"rebalance":{"type":"boolean"},"retirement_age":{"type":"integer"},"return_volatility":{"type":"number"},"seed":{"type":"integer"},"spending_rule":{"additionalProperties":false,"properties":{"cut":{"type":"number"},"final_years_frozen":{"type":"integer"},"guard_lower":{"type":"number"},"guard_upper":{"type":"number"},"initial_rate":{"type":"number"},"raise":{"type":"number"},"type":{"type":"string"}},"type":"object"}},"additionalProperties":false}},{"name":"retirement_qlac","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"account_balance":{"type":"number"},"age":{"type":"integer"},"assumed_rate":{"type":"number"},"birth_year":{"type":"integer"},"qlac_premium":{"type":"number"},"sex":{"type":"string"},"start_age":{"type":"integer"},"tax_year":{"type":"integer"}},"additionalProperties":false}},{"name":"retirement_rmd","description":"Required Minimum Distribution: prior-year-end balance divided by the IRS distribution period. Uniform Lifetime by default; Single Life (inherited/beneficiary) via table=single.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"account_balance":{"type":"number"},"age":{"type":"integer"},"birth_year":{"type":"integer"},"second_age":{"type":"integer"},"table":{"type":"string"}},"additionalProperties":false}},{"name":"retirement_savings_target","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"annual_fee_rate":{"type":"number"},"current_age":{"type":"integer"},"current_savings":{"type":"number"},"end_age":{"type":"integer"},"expected_return":{"type":"number"},"inflation":{"type":"number"},"num_simulations":{"type":"integer"},"other_income":{"type":"number"},"retirement_age":{"type":"integer"},"return_volatility":{"type":"number"},"seed":{"type":"integer"},"success_probability_target":{"type":"number"},"target_annual_income":{"type":"number"},"withdrawal_rate":{"type":"number"}},"additionalProperties":false}},{"name":"retirement_self_employed","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"age":{"type":"integer"},"existing_w2_deferrals":{"type":"number"},"net_profit":{"type":"number"},"tax_year":{"type":"integer"}},"additionalProperties":false}},{"name":"retirement_sepp","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"account_balance":{"type":"number"},"age":{"type":"integer"},"interest_rate":{"type":"number"}},"additionalProperties":false}},{"name":"retirement_survivor_scenario","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"deceased_spouse":{"type":"string"},"on_medicare":{"type":"boolean"},"shared_ordinary_income":{"type":"number"},"spouse_a":{"additionalProperties":false,"properties":{"other_income":{"type":"number"},"social_security":{"type":"number"}},"type":"object"},"spouse_b":{"additionalProperties":false,"properties":{"other_income":{"type":"number"},"social_security":{"type":"number"}},"type":"object"},"tax_year":{"type":"integer"}},"additionalProperties":false}},{"name":"retirement_withdrawal_sequencing","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"age":{"type":"integer"},"birth_year":{"type":"integer"},"bracket_ceiling":{"type":"number"},"filing_status":{"type":"string"},"other_ordinary_income":{"type":"number"},"other_qualified_income":{"type":"number"},"spending_need":{"type":"number"},"state_tax_rate":{"type":"number"},"strategy":{"type":"string"},"tax_deferred_balance":{"type":"number"},"tax_free_balance":{"type":"number"},"tax_year":{"type":"integer"},"taxable_balance":{"type":"number"},"taxable_cost_basis_fraction":{"type":"number"}},"additionalProperties":false}},{"name":"retirement_withdrawal_strategy","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"annual_fee_rate":{"type":"number"},"ceiling_mult":{"type":"number"},"current_age":{"type":"integer"},"current_balance":{"type":"number"},"end_age":{"type":"integer"},"expected_return":{"type":"number"},"floor_mult":{"type":"number"},"glide_path":{"items":{"additionalProperties":false,"properties":{"age":{"type":"integer"},"expected_return":{"type":"number"},"return_volatility":{"type":"number"}},"type":"object"},"type":"array"},"guard_adjust":{"type":"number"},"guard_width":{"type":"number"},"inflation":{"type":"number"},"initial_rate":{"type":"number"},"num_simulations":{"type":"integer"},"return_volatility":{"type":"number"},"seed":{"type":"integer"},"strategy":{"type":"string"},"vpw_real_return":{"type":"number"}},"additionalProperties":false}},{"name":"roth_conversion","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"annual_return":{"type":"number"},"birth_year":{"type":"integer"},"conversion_end_age":{"type":"integer"},"current_age":{"type":"integer"},"end_age":{"type":"integer"},"external_return":{"type":"number"},"external_taxable_balance":{"type":"number"},"filing_status":{"type":"string"},"irmaa_tier_cap":{"type":"integer"},"other_ordinary_income":{"type":"number"},"pay_tax_from_external":{"type":"boolean"},"roth_balance":{"type":"number"},"state_tax_rate":{"type":"number"},"target_bracket":{"type":"number"},"tax_deferred_balance":{"type":"number"},"tax_year":{"type":"integer"}},"additionalProperties":false}},{"name":"roth_vs_traditional","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"annual_contribution":{"type":"number"},"capital_gains_rate":{"type":"number"},"current_marginal_rate":{"type":"number"},"expected_return":{"type":"number"},"invest_tax_savings":{"type":"boolean"},"retirement_marginal_rate":{"type":"number"},"years":{"type":"integer"}},"additionalProperties":false}},{"name":"savings_waterfall","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"age":{"type":"integer"},"annual_savings":{"type":"number"},"compensation":{"type":"number"},"covered_by_workplace_plan":{"type":"boolean"},"employer_match_cap_pct":{"type":"number"},"employer_match_rate":{"type":"number"},"filing_status":{"type":"string"},"hsa_coverage":{"type":"string"},"magi":{"type":"number"},"prior_year_wages":{"type":"number"},"tax_year":{"type":"integer"}},"additionalProperties":false}},{"name":"social_security","description":"Social Security claiming analysis (ages 62-70): monthly/lifetime benefit, breakeven, optimal claim age. Optional earnings test, spousal/survivor/divorced household, and COLA.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"annual_earnings":{"type":"number"},"birth_year":{"type":"integer"},"claim_age":{"type":"integer"},"cola_rate":{"type":"number"},"discount_rate":{"type":"number"},"earnings_test_year":{"type":"integer"},"longevity_age":{"type":"integer"},"pia_monthly":{"type":"number"},"spouse":{"additionalProperties":false,"properties":{"birth_year":{"type":"integer"},"claim_age":{"type":"integer"},"divorced":{"type":"boolean"},"pia_monthly":{"type":"number"}},"type":"object"},"survivor_claim_age":{"type":"integer"}},"additionalProperties":false}},{"name":"social_security_couple_claim","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"discount_rate":{"type":"number"},"spouse_a":{"additionalProperties":false,"properties":{"birth_year":{"type":"integer"},"current_age":{"type":"integer"},"health_adjustment":{"type":"number"},"pia_monthly":{"type":"number"},"sex":{"type":"string"}},"type":"object"},"spouse_b":{"additionalProperties":false,"properties":{"birth_year":{"type":"integer"},"current_age":{"type":"integer"},"health_adjustment":{"type":"number"},"pia_monthly":{"type":"number"},"sex":{"type":"string"}},"type":"object"}},"additionalProperties":false}},{"name":"tax_asset_location","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"assets":{"items":{"additionalProperties":false,"properties":{"amount":{"type":"number"},"expected_return":{"type":"number"},"name":{"type":"string"},"qualified_pct":{"type":"number"},"turnover":{"type":"number"},"yield":{"type":"number"}},"type":"object"},"type":"array"},"filing_status":{"type":"string"},"tax_advantaged_balance":{"type":"number"},"tax_year":{"type":"integer"},"taxable_balance":{"type":"number"},"taxable_income":{"type":"number"}},"additionalProperties":false}},{"name":"tax_bracket_room","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"filing_status":{"type":"string"},"tax_year":{"type":"integer"},"taxable_income":{"type":"number"}},"additionalProperties":false}},{"name":"tax_estimate","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"adoption_expenses":{"type":"number"},"adoption_special_needs":{"type":"boolean"},"aged_blind_count":{"type":"integer"},"amt_preference_items":{"type":"number"},"aotc_student_expenses":{"items":{"type":"number"},"type":"array"},"charitable_contributions":{"type":"number"},"dependent_care_count":{"type":"integer"},"dependent_care_expenses":{"type":"number"},"eitc_qualifying_children":{"type":"integer"},"filing_status":{"type":"string"},"force_itemize":{"type":"boolean"},"include_amt":{"type":"boolean"},"include_credits":{"type":"boolean"},"include_itemized_limit":{"type":"boolean"},"include_qbi":{"type":"boolean"},"itemized_deductions":{"type":"number"},"llc_expenses":{"type":"number"},"net_investment_income":{"type":"number"},"ordinary_income":{"type":"number"},"other_dependents":{"type":"integer"},"qbi":{"type":"number"},"qbi_is_sstb":{"type":"boolean"},"qbi_reit_ptp_dividends":{"type":"number"},"qbi_ubia":{"type":"number"},"qbi_w2_wages":{"type":"number"},"qualified_income":{"type":"number"},"qualifying_children":{"type":"integer"},"retirement_contributions":{"type":"number"},"salt_paid":{"type":"number"},"senior_count":{"type":"integer"},"social_security_income":{"type":"number"},"state":{"type":"string"},"state_tax_rate":{"type":"number"},"state_taxable_income":{"type":"number"},"tax_year":{"type":"integer"},"wages":{"type":"number"}},"additionalProperties":false}},{"name":"tax_estimated_tax","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"estimated_payments":{"items":{"type":"number"},"type":"array"},"filing_status":{"type":"string"},"prior_year_agi":{"type":"number"},"prior_year_tax":{"type":"number"},"projected_current_tax":{"type":"number"},"tax_year":{"type":"integer"},"underpayment_rate":{"type":"number"},"withholding":{"type":"number"}},"additionalProperties":false}},{"name":"tax_filing_status","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"spouse_a":{"additionalProperties":false,"properties":{"itemized_deductions":{"type":"number"},"ordinary_income":{"type":"number"},"qualified_income":{"type":"number"},"wages":{"type":"number"}},"type":"object"},"spouse_b":{"additionalProperties":false,"properties":{"itemized_deductions":{"type":"number"},"ordinary_income":{"type":"number"},"qualified_income":{"type":"number"},"wages":{"type":"number"}},"type":"object"},"tax_year":{"type":"integer"}},"additionalProperties":false}},{"name":"tax_gain_harvesting","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"filing_status":{"type":"string"},"magi":{"type":"number"},"realize_amount":{"type":"number"},"tax_year":{"type":"integer"},"taxable_income":{"type":"number"}},"additionalProperties":false}},{"name":"tax_liquidation_schedule","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"cost_basis":{"type":"number"},"filing_status":{"type":"string"},"growth_rate":{"type":"number"},"horizon_years":{"type":"integer"},"market_value":{"type":"number"},"max_annual_gain":{"type":"number"},"objective":{"type":"string"},"other_ltcg":{"type":"number"},"other_ordinary_income":{"type":"number"},"state_tax_rate":{"type":"number"},"tax_year":{"type":"integer"}},"additionalProperties":false}},{"name":"tax_marginal_map","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"benchmark_annual_premium":{"type":"number"},"filing_status":{"type":"string"},"household_size":{"type":"integer"},"include_aca":{"type":"boolean"},"include_irmaa":{"type":"boolean"},"medicare_beneficiaries":{"type":"integer"},"ordinary_income":{"type":"number"},"qualified_income":{"type":"number"},"social_security_benefits":{"type":"number"},"state":{"type":"string"},"sweep_start":{"type":"number"},"sweep_step":{"type":"number"},"sweep_stop":{"type":"number"},"sweep_variable":{"type":"string"},"tax_exempt_interest":{"type":"number"},"tax_year":{"type":"integer"}},"additionalProperties":false}},{"name":"tax_qcd_plan","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"age":{"type":"integer"},"birth_year":{"type":"integer"},"filing_status":{"type":"string"},"intended_gift":{"type":"number"},"ira_balance":{"type":"number"},"medicare_beneficiaries":{"type":"integer"},"ordinary_income":{"type":"number"},"other_itemized":{"type":"number"},"qualified_income":{"type":"number"},"social_security_benefits":{"type":"number"},"tax_exempt_interest":{"type":"number"},"tax_year":{"type":"integer"}},"additionalProperties":false}},{"name":"tax_qsbs_exclusion","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"acquisition_date":{"type":"string"},"basis":{"type":"number"},"filing_status":{"type":"string"},"gain":{"type":"number"},"gross_assets_at_issuance":{"type":"number"},"holding_period_years":{"type":"number"},"other_income":{"type":"number"},"tax_year":{"type":"integer"}},"additionalProperties":false}},{"name":"tax_s_corp_salary","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"business_net_income":{"type":"number"},"filing_status":{"type":"string"},"max_salary":{"type":"number"},"other_income":{"type":"number"},"reasonable_comp_floor":{"type":"number"},"sstb":{"type":"boolean"},"state_tax_rate":{"type":"number"},"tax_year":{"type":"integer"},"ubia":{"type":"number"}},"additionalProperties":false}},{"name":"tax_social_security_benefits","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"filing_status":{"type":"string"},"marginal_ordinary_rate":{"type":"number"},"other_income":{"type":"number"},"social_security_benefits":{"type":"number"},"tax_exempt_interest":{"type":"number"}},"additionalProperties":false}},{"name":"tax_state_income","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"age":{"type":"integer"},"filing_status":{"type":"string"},"pension_income":{"type":"number"},"social_security_income":{"type":"number"},"state":{"type":"string"},"state_taxable_income":{"type":"number"},"tax_year":{"type":"integer"}},"additionalProperties":false}},{"name":"tax_survivor_transition","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"conversion_amount":{"type":"number"},"ordinary_income":{"type":"number"},"qualified_income":{"type":"number"},"social_security_higher":{"type":"number"},"social_security_lower":{"type":"number"},"survivor_ordinary_income":{"type":"number"},"tax_exempt_interest":{"type":"number"},"tax_year":{"type":"integer"}},"additionalProperties":false}},{"name":"tax_tlh_benefit","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"filing_status":{"type":"string"},"growth_rate":{"type":"number"},"harvestable_loss":{"type":"number"},"offsettable_gains":{"type":"number"},"reinvestment_years":{"type":"number"},"tax_year":{"type":"integer"},"taxable_income":{"type":"number"}},"additionalProperties":false}},{"name":"tax_w4_checkup","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"pay_periods_remaining":{"type":"integer"},"per_paycheck_withholding":{"type":"number"},"prior_year_agi":{"type":"number"},"prior_year_tax":{"type":"number"},"tax":{"additionalProperties":false,"properties":{"adoption_expenses":{"type":"number"},"adoption_special_needs":{"type":"boolean"},"aged_blind_count":{"type":"integer"},"amt_preference_items":{"type":"number"},"aotc_student_expenses":{"items":{"type":"number"},"type":"array"},"charitable_contributions":{"type":"number"},"dependent_care_count":{"type":"integer"},"dependent_care_expenses":{"type":"number"},"eitc_qualifying_children":{"type":"integer"},"filing_status":{"type":"string"},"force_itemize":{"type":"boolean"},"include_amt":{"type":"boolean"},"include_credits":{"type":"boolean"},"include_itemized_limit":{"type":"boolean"},"include_qbi":{"type":"boolean"},"itemized_deductions":{"type":"number"},"llc_expenses":{"type":"number"},"net_investment_income":{"type":"number"},"ordinary_income":{"type":"number"},"other_dependents":{"type":"integer"},"qbi":{"type":"number"},"qbi_is_sstb":{"type":"boolean"},"qbi_reit_ptp_dividends":{"type":"number"},"qbi_ubia":{"type":"number"},"qbi_w2_wages":{"type":"number"},"qualified_income":{"type":"number"},"qualifying_children":{"type":"integer"},"retirement_contributions":{"type":"number"},"salt_paid":{"type":"number"},"senior_count":{"type":"integer"},"state_tax_rate":{"type":"number"},"tax_year":{"type":"integer"},"wages":{"type":"number"}},"type":"object"},"ytd_withheld":{"type":"number"}},"additionalProperties":false}},{"name":"tvm","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"fv":{"type":"number"},"nper":{"type":"number"},"payments_at_beginning":{"type":"boolean"},"pmt":{"type":"number"},"pv":{"type":"number"},"rate":{"type":"number"},"solve_for":{"type":"string"}},"additionalProperties":false}}],"scan":{"score":89,"grade":"A","scanned_at":"2026-09-24T17:27:55.296Z","report":{"scannerVersion":"0.1.9","scannedAt":"2026-09-24T17:27:55.209Z","components":{"code":{"score":25,"max":25,"notes":["3 source files scanned"]},"reliability":{"score":20,"max":20,"notes":["remote reachable in 558ms"]},"poisoning":{"score":15,"max":15,"notes":["76 tool descriptions checked"]},"auth":{"score":8,"max":15,"notes":["API key sent as a header"]},"maintenance":{"score":12,"max":15,"notes":["last push 59 days ago"]},"identity":{"score":9,"max":10,"notes":["registry namespace matches repository owner","website matches verified namespace"]}},"findings":[],"inputs":{"probes":[{"url":"https://api.numeratica.com/mcp","reachable":true,"authRequired":false,"latencyMs":558,"serverInfo":{"name":"numeratica-mcp","version":"1.0.0"}}],"packages":[{"registryType":"npm","identifier":"@numeratica/mcp","version":"0.1.5","found":true,"license":"MIT","hasInstallScripts":false,"dependencyCount":0,"publishedAt":"2026-07-28T01:48:35.619Z","repositoryUrl":"git+https://github.com/numeratica/mcp.git","weeklyDownloads":26}],"repo":{"found":true,"owner":"numeratica","repo":"mcp","archived":false,"pushedAt":"2026-07-28T01:47:49Z","stars":0,"forks":0,"openIssues":1,"ownerType":"Organization","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/296054164?v=4","ownerCreatedAt":"2026-06-23T05:07:02Z","license":"MIT"},"icon":{"url":"https://docs.numeratica.com/assets/favicon.svg","source":"registry"},"presence":{"stars":0,"forks":0,"downloadsWeek":26,"license":"MIT","lastPushAt":"2026-07-28T01:47:49.000Z","score":25}}}},"grade_history":[],"reviews":[]}