Connection check
verified live · 28h ago
models
61 verified financial models plus household planning and coordination tools; specs cited.
Tools
15
GitHub stars
—
Installs / wk
—
Licence
—
Transport
streamable-http
Last checked
28h ago
Tools & capabilities
15 toolsRead from the running server on 28h ago.
create_household
labelapi_keyhousehold*
Create a persistent household resource from a household-schema document (docs/household-schema-spec.md: members, accounts by tax wrapper, liabilities, income and expense streams).… Create a persistent household resource from a household-schema document (docs/household-schema-spec.md: members, accounts by tax wrapper, liabilities, income and expense streams). Validation rejects with JSON-path errors — fix the payload in one pass. Returns the household id to use with get/replace/project_household.
decide_household
id*paramsapi_keyhorizon*profilestrategy*
+1
Run a Household Coordination Engine strategy on a stored household and get back a ranked decision object with evidence records. Strategies: withdrawal-sequencing (no params); roth-… Run a Household Coordination Engine strategy on a stored household and get back a ranked decision object with evidence records. Strategies: withdrawal-sequencing (no params); roth-ladder (params.candidates: [{annualAmountUsd, years}]); ss-claiming (params.candidateAges?: {memberId: [ages 62-70]}); asset-location (params.taxRates: {marginalOrdinary, qualifiedAndLtcg} plus params.characteristics or params.illustrativeCharacteristics: true — the illustrative set is labeled not-a-recommendation and is never applied silently); tax-loss-harvesting (params.ordinaryMarginalRatePct, optional longTermRatePct and realizedGains); annual-gifting (params.doneeCount, params.years); pension-election (params.ownerId, startAge, discountRatePct, options — EPVs from the NCHS life table; adults need sex). Alternatives are ranked best-first by a checkable score under a named objective; deltas name their baseline; every projection-backed candidate links its own verifiable record; exclusions are stated in the notes.
draft_import_mapping
read-only
notesapi_keysampleRecords*
WS3.5c: AI drafts the mapping; determinism executes it. Send up to 10 sample records from an export (column → string cell) and get back a DRAFT mapping template for import_househol… WS3.5c: AI drafts the mapping; determinism executes it. Send up to 10 sample records from an export (column → string cell) and get back a DRAFT mapping template for import_households' template + records path. Three deterministic gates run before anything returns: strict JSON, the transcription guard (a numeric const anywhere in the draft is rejected — numbers bind to columns, never to values a model wrote), and the real import dry-run over your sample. Nothing is written. Review the template and the unmappedColumns honesty list, then run import_households yourself with dryRun: true over the full export.
get_household
read-only
id*api_key
Fetch a stored household document and its metadata by id. Fetch a stored household document and its metadata by id.
get_model_contract
read-only
model*api_keyinclude_spec
Get a model's machine-readable contract: required inputs with types and valid domains, cross-field constraints, sentinel-value meanings, and the government constants (with sources)… Get a model's machine-readable contract: required inputs with types and valid domains, cross-field constraints, sentinel-value meanings, and the government constants (with sources) the model uses. Set include_spec to also receive the full specification markdown (exact formulas, assumptions, exclusions, known issues).
import_households
dryRunapi_keyrecordstemplatehouseholds
Migrate a book (WS3.5): import up to 200 households in one call, with dryRun: true validating everything and writing NOTHING — iterate until the per-row, per-field report is clean,… Migrate a book (WS3.5): import up to 200 households in one call, with dryRun: true validating everything and writing NOTHING — iterate until the per-row, per-field report is clean, then run for real. Two shapes: households[] of { importKey, label?, household } documents, or template + records — a declarative mapping template (docs/data-migration.md) executed deterministically over raw exported records, so YOU draft the small reviewable template and the engine does the transcription. importKey is the caller's stable id: re-runs are idempotent (already-imported keys skip and report their householdId); imports never overwrite.
list_example_households
read-only
id
Twelve FICTIONAL households, each built to exercise a different part of the planning engine — accumulation, a Roth conversion window, drawdown on a low-basis portfolio, spousal Soc… Twelve FICTIONAL households, each built to exercise a different part of the planning engine — accumulation, a Roth conversion window, drawdown on a low-basis portfolio, spousal Social Security coordination, running out of money, negative amortization, and more. Use one as a starting point for try_household_projection, or as a worked shape when helping someone describe their own household. Pass an id to get the full document back. No API key required.
list_models
read-only
List Worthune's Concordance-tested financial calculation models (an independent second implementation must agree with the engine, per the published spec). Returns model names and s… List Worthune's Concordance-tested financial calculation models (an independent second implementation must agree with the engine, per the published spec). Returns model names and spec versions. Call get_model_contract before running a model.
narrate_decision
read-only
api_keyaudiencedecisiondecision_id
The Verified Narrative: client- or advisor-ready prose for a stored decision (decision_id) or an inline decision object. A model drafts the narrative FROM the decision; a determini… The Verified Narrative: client- or advisor-ready prose for a stored decision (decision_id) or an inline decision object. A model drafts the narrative FROM the decision; a deterministic gate then extracts every number in the draft and verifies each against the decision's own values — correctly-rounded restatements pass, invented numbers reject the draft whole (one retry, then refusal; a narrative is never patched). The response reports how many claims were checked.
patch_household
id*setremoveupsertapi_keyexpectedVersion*
Apply a collection-level delta to a stored household without resending the whole document: set scalars (filingStatus, state), upsert entries by id (replace or append), remove entri… Apply a collection-level delta to a stored household without resending the whole document: set scalars (filingStatus, state), upsert entries by id (replace or append), remove entries by id. expectedVersion (from get_household) is REQUIRED — a delta is only meaningful against a version you have read. The merged result is validated in full; a delta can never produce an invalid household.
project_household
id*api_keyhorizon*profilemonteCarloassumptions
Run the deterministic multi-year projection on a stored household — income, RMDs, federal + covered state tax, expenses, amortization, cash flow, net worth per year — optionally wi… Run the deterministic multi-year projection on a stored household — income, RMDs, federal + covered state tax, expenses, amortization, cash flow, net worth per year — optionally with seeded Monte Carlo (same seed, same result). Assumptions: pass your own, pin a profile by id+version, or omit both for the labeled illustrative default; the response always names its assumptionsSource. Every simplification that fired is listed in projection.assumptionsApplied — show your work.
replace_household
id*labelapi_keyhousehold*expectedVersion
Full-document replace with optimistic concurrency: pass expectedVersion (from get_household) and a stale write loses cleanly with the current version instead of clobbering a concur… Full-document replace with optimistic concurrency: pass expectedVersion (from get_household) and a stale write loses cleanly with the current version instead of clobbering a concurrent change.
run_model
read-only
model*inputs*api_key
Run a Concordance-tested calculation model. Inputs must satisfy the contract from get_model_contract (all fields required, values inside their domains — out-of-domain requests are… Run a Concordance-tested calculation model. Inputs must satisfy the contract from get_model_contract (all fields required, values inside their domains — out-of-domain requests are rejected, never clamped). The response echoes inputs, spec version, assumptions, triggered sentinels, and sourced constants; outputs are exactly what the engine computed, untouched. Share the matching interactive calculator with users: https://worthune.com/scenarios/<model> for scenario models.
try_household_projection
read-only
policyhorizon*household*monteCarloassumptions*
Run the deterministic multi-year household projection on a document you pass in — income, RMDs, Roth conversions, federal and covered-state tax, expenses, amortization, the tax-gro… Run the deterministic multi-year household projection on a document you pass in — income, RMDs, Roth conversions, federal and covered-state tax, expenses, amortization, the tax-grossed-up deficit draw, and net worth per year — optionally with a seeded Monte Carlo. NO API KEY, and NOTHING IS STORED: no household is created, no id issued, no record kept. The response carries every simplification that fired in projection.assumptionsApplied and an evidence record whose hash reproduces on an identical document, so you can show your work. Use list_example_households for a starting shape. For a household that persists — with an id, bulk import, webhooks and drift detection — see create_household, which takes a key.
verify_claim
read-only
model*claims*inputs*api_key