Worthune Verified Financial Models
by worthune.com in Markets & finance
61 verified financial models and a household planning engine: 20 MCP tools, 6 keyless, specs cited.
https://worthune.com/api/mcp/mcp- Tools
- 30
- open to any client
- Uptime
- 100%
- last 30 days
- Response time
- 351 ms
- 444 ms slowest 5%
- Last check
- Passed
- 3 h ago, next in 3 h
Reliability
Status and outage history · Atom feed · Watch with other listings
How to connect
Add it to any MCP client that supports remote servers.
{
"mcpServers": {
"worthune-verified-financial-models": {
"type": "http",
"url": "https://worthune.com/api/mcp/mcp"
}
}
}30 tools
- list_models
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.
- get_model_contract
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…
- run_model
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…
- verify_claim
Verify claims about a model's outputs against the engine before presenting them to a user. Pass the model inputs plus one or more claims ({path, op, value}); each claim comes back verified, violated, or out-of-scope, with the engine's computed value as proof and a…
- create_household
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…
- get_household
Fetch a stored household document and its metadata by id.
- list_households
List the organization's stored households — id, label, advisorRef, version, status, when it was last computed — without the documents (get_household returns one in full). Defaults to active households; GET /api/v1/households returns every status — pass status: "all" for the same…
- archive_household
Archive a stored household (never deleted: the row stays readable, leaves the active-household meter, and stops accepting writes or projections). The same operation as DELETE /api/v1/households/{id}.
- list_decisions
The append-only history of coordination strategies run on a stored household, newest first — id, strategy, spec version, household version, record hash, when. Metadata only; get_decision returns one in full. Same as GET /api/v1/households/{id}/decisions.
- get_decision
One stored decision in full: the decision object as it was produced, the household version it ran against, and its evidence record with the hashed inputs — enough to re-verify it with /api/v1/records/verify or the SDKs' verifyRecord. Decisions stored before their inputs were…
- get_household_picture
One household, one picture: the balance sheet by wrapper and owner, income and spending this year, how current the last computation is against the engine's spec (the same drift reasons the weekly scan delivers), the newest decisions, and a data-quality report naming what is…
- replace_household
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.
- patch_household
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…
- project_household
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…
- list_example_households
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…
- try_household_projection
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. NOTHING IS…
- import_households
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…
- draft_import_mapping
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…
- narrate_decision
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…
- decide_household
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?…
- create_mandate
Assign a standing mandate: strategy-watch (one household, the strategies you choose), tax-optimization (one household, minimize-lifetime-tax, the tax strategies) or rules-change (the whole book, Growth and above: when tax rules or your assumption profile change, finds and ranks…
- list_mandates
The organization's mandates, newest first, optionally for one household or status, with an alert listing trigger events left open over an hour. Any key role. Same as GET /api/v1/mandates.
- get_mandate
One mandate and its last 20 cycles, each with the strategies swept and the gate's reason for every candidate it did not propose (below the floor, cooldown, duplicate, max open), so 'why did nothing happen?' has an answer. Any key role. Same as GET /api/v1/mandates/{id}.
- run_mandate
Record a manual trigger and run the mandate's cycle now: sweep its strategies on the household's current version, store each decision, and file proposals that clear the gate. Returns the cycle; read proposals with list_proposals and the reasons with get_mandate. Developer or…
- list_proposals
Proposals Lodestar filed for a person to decide, newest first, optionally filtered by status (pending, approved, rejected, expired, superseded, stale, withdrawn), mandate or household. Each carries the recommendation and its intents verbatim from the decision, the projected…
- review_proposal
Decide one pending proposal. APPROVER OR OWNER KEY ONLY: developer and viewer keys are refused, so the key that configures mandates cannot sign off their output. approve executes nothing; it writes one signed projected-value ledger entry (a re-pin proposal moves the mandate to…
- get_ledger
Ledger entries written by approvals, newest first, optionally for one mandate or household, with the total. Each is an evidence record (hash over its inputs and outputs, Ed25519-signed with the key at /api/v1/records/keys) naming the stored decision it came from. Values are…
- list_questions
Lodestar's questions about one field of a household's data (a taxable account with no cost basis, a Social Security stream with no amount, living expenses of zero), asked by deterministic checks in every household cycle; at most one open per mandate. Filter by status (open…
- answer_question
Answer one open question. value proposes the corrected field as a data-change proposal that an approver or owner must approve before anything is written; confirm: true records that the data is right, and the same check will not ask about the field again. Send exactly one of…
- manage_preferences
An advisor's standing preferences, which the gate enforces in every cycle: avoid-strategy (optionally until a date), min-value for a strategy, max-annual-conversion, avoid-alternative. action list (any role); add (an approver or owner key confirms it at once, a developer key…
Security scan
No findings
We scan names, descriptions and tool definitions for hidden instructions and other prompt-injection patterns.
Recent checks
| When | Result | HTTP | Time |
|---|---|---|---|
| 3 h ago | Passed | 200 | 384 ms |
| 12 h ago | Passed | 200 | 268 ms |
| 23 h ago | Passed | 200 | 264 ms |
| 33 h ago | Passed | 200 | 372 ms |
| 43 h ago | Passed | 200 | 364 ms |
Show 8 older checks
| 2 days ago | Passed | 200 | 385 ms |
| 3 days ago | Passed | 200 | 308 ms |
| 3 days ago | Passed | 200 | 350 ms |
| 3 days ago | Passed | 200 | 351 ms |
| 4 days ago | Passed | 200 | 444 ms |
| 4 days ago | Passed | 200 | 346 ms |
| 5 days ago | Passed | 200 | 276 ms |
| 5 days ago | Passed | 200 | 356 ms |