Worthune Verified Financial Models

com.worthune由 worthune.com 發布官方發布者v1.8.0更新於 Oct 24, 2026

61 verified financial models and a household planning engine: 20 MCP tools, 6 keyless, specs cited.

已驗證Streamable HTTP可網頁執行效率與工作流金融資料與分析

概覽

AI 產生的概覽

讓助理執行經過驗證的財務計算模型,並管理已儲存的家庭財務規劃、預測、決策、提案與簽章帳本。

可以做什麼
透過遠端端點提供 30 個工具。助理可以列出經 Concordance 驗證的財務模型、讀取模型契約、執行模型,並對照引擎計算值核驗結論。也可管理已儲存的家庭檔案(建立、取得、列出、整份取代、增量修改、封存),執行確定性的多年預測並可選擇帶種子的蒙地卡羅模擬,以及執行提款順序、Roth 轉換階梯、社會安全給付請領等協調策略。其餘工具涵蓋授權任務、提案、資料問題、偏好設定、敘述文字與帶簽章的核准帳本。
適用情境
適合需要助理使用公開且經獨立複核的模型進行計算、而非自行估算的財務規劃工作,也適合需要儲存、版本化並重新核驗家庭規劃、預測與決策的情境。顧問審閱提案或回答家庭資料品質問題同樣適用。
執行需求
透過 streamable HTTP 連線至 worthune.com 的遠端 MCP 端點;未宣告任何套件、環境變數或請求標頭。清單未宣告身分驗證,但多個工具提到開發者、擁有者、核准者、檢視者等金鑰角色,因此儲存家庭檔案與核准操作很可能需要某種 API 金鑰。需要網路存取。
安裝前請注意
部分工具會寫入與修改已儲存資料:家庭檔案可被建立、取代、增量修改、封存與批次匯入,提案核准會寫入簽章帳本項目。核准僅限核准者或擁有者金鑰,開發者金鑰只能建議偏好。家庭檔案包含帳戶、收入、負債與社會安全等個人財務資訊,會傳送至第三方服務。帳本數值為預測的名目值,並非保證。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Worthune Verified Financial Models,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Web executable,透過 Streamable HTTP。 遠端服務在工作區中設定後即可從網頁執行環境執行。

交給代理程式安裝

把這段提示詞貼上到 Claude Code、Codex、Cursor 等代理程式,或 SourceWeft 對話中。代理程式會讀取該伺服器的安裝指南,先向你展示發布者、端點和登入方式,經你同意後再把它新增到你的客戶端。金鑰不會寫進任何命令。

閱讀 https://sourceweft.com/mcp/com.worthune%2Fmodels/install.md,並按其中說明把這個 MCP 伺服器接入我的客戶端。修改任何設定之前,先告訴我它的發布者、端點和登入方式,等我確認。不要把 API 金鑰寫進命令或我會提交的檔案;問我金鑰應從哪裡取得。

檢視代理程式所依據的安裝指南

其他 MCP 客戶端

把它新增到你客戶端的 mcpServers 設定中。

{
  "mcpServers": {
    "worthune-verified-financial-models": {
      "type": "http",
      "url": "https://worthune.com/api/mcp/mcp"
    }
  }
}

工具

30

list_models

List verified 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 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, assumptions, exclusions, known issues).

輸入參數model必填api_keyinclude_spec

run_model

Run verified 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 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.

輸入參數model必填inputs必填api_key

verify_claim

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 decision-record hash tying the verdict to this spec version and these inputs. Out-of-scope means the model does not compute the claimed quantity — this tool never guesses. Use it to check a number you are about to state; use run_model when you want the full output envelope.

輸入參數model必填claims必填inputs必填api_key

create_household

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 use with get/replace/project_household.

輸入參數labelapi_keyhousehold必填importKey

get_household

Get household

Fetch a stored household document and its metadata by id.

輸入參數id必填api_key

list_households

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 listing.

輸入參數statusapi_key

archive_household

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}.

輸入參數id必填api_key

list_decisions

List a household's 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.

輸入參數id必填api_key

get_decision

Get a stored 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 retained are returned hash-only and say so. Same as GET /api/v1/decisions/{id}.

輸入參數api_keydecision_id必填

get_household_picture

Get the 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 missing and what supplying it would unlock. Sums only — no new number of consequence; nothing is stored. Same as GET /api/v1/households/{id}/picture. Pass as_of (YYYY-MM-DD) to pin the date; it is echoed back.

輸入參數id必填as_ofapi_key

replace_household

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.

輸入參數id必填labelapi_keyhousehold必填expectedVersion

patch_household

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 version you have read. The merged result is validated in full; a delta can never produce an invalid household.

輸入參數id必填setremoveupsertapi_keyexpectedVersion必填

project_household

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 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.

輸入參數id必填policyapi_keyhorizon必填profilemonteCarloassumptions

list_example_households

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 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.

輸入參數id

try_household_projection

Project a household (nothing stored)

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 STORED: no household is created, no id issued, no record kept. Takes any key, a free sandbox key included (worthune.com/sandbox). 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.

輸入參數policyapi_keyhorizon必填household必填monteCarloassumptions必填

import_households

Bulk-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 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.

輸入參數dryRunapi_keyrecordstemplatehouseholds

draft_import_mapping

Draft import mapping (AI-drafted, deterministically gated)

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.

輸入參數notesapi_keysampleRecords必填

narrate_decision

Narrate a decision (number-verified prose)

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.

輸入參數api_keyaudiencedecisiondecision_id

decide_household

Run a coordination strategy

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); bracket-fill (params.fillToRatesPct?: [10|12|22|24|32|35], params.years? — Roth conversions sized each year to the top of the bracket); charitable-giving (params.annualGivingUsd, optional otherItemizedDeductionsUsd, bunchYears 2-5, iraDistributionsUsd — every year vs bunched vs QCD routes under the 2026 charitable rules). 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.

輸入參數id必填paramsapi_keyhorizon必填profilestrategy必填assumptions

create_mandate

Assign a Lodestar mandate to a household

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 every affected household; send no household_id). Each has an objective, pinned constraints and an approval policy. Lodestar then works it when a deadline approaches, the household changes, rules or the organization's assumption profile change, a scheduled review comes due, or on run_mandate, and files proposals for an approver. constraints needs horizonYears and exactly one of profile { id, version } or assumptions { … } (never an implicit default); optional: strategies, materialityFloorUsd (default 1000), cooldownDays (30), maxOpenProposals (3), reviewCadence (quarterly), planner ("on"/"off", default off: the organization's certified planner model chooses among gate-passed proposals), taxRates, ladderCandidates, illustrativeCharacteristics, bracketFill { fillToRatesPct?, years? }, charitableGiving { annualGivingUsd, … } (tax-optimization runs charitable-giving only when charitableGiving names the gifts). One mandate per type per household. Each cycle's sweep counts the household as active for the month. Developer or owner key. Same as POST /api/v1/mandates.

輸入參數typestatusapi_keyobjective必填constraints必填household_idapproval_policy

list_mandates

List Lodestar 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.

輸入參數statusapi_keyhousehold_id

get_mandate

Get a Lodestar mandate and its recent cycles

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}.

輸入參數api_keymandate_id必填

run_mandate

Work a Lodestar mandate now

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 owner key. Same as POST /api/v1/mandates/{id}/run.

輸入參數api_keymandate_id必填

list_proposals

List Lodestar 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 value (NOMINAL horizon-end dollars against the current plan, not discounted, not realized) with its basis, the alternatives considered, caveats, and the evidence (stored decision id, record hash, signature). Any key role. Same as GET /api/v1/proposals.

輸入參數statusapi_keymandate_idhousehold_id

review_proposal

Approve or reject a Lodestar 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 the newer profile version instead). reject needs a reason: not-material, client-preference, timing, data-is-wrong, already-done, or other (with a note). Refused when the proposal is not pending, has expired, or the household changed since it was computed. An agent should only call this when the person it acts for has made the decision. Same as POST /api/v1/proposals/{id}/approve and /reject.

輸入參數notereasonapi_keydecision必填proposal_id必填

get_ledger

Read the projected-value 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 PROJECTED and NOMINAL against each decision's own baseline; the total is a sum of projections, not realized value. Any key role. Same as GET /api/v1/ledger.

輸入參數api_keymandate_idhousehold_id

list_questions

Questions Lodestar is asking about household data

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, answered, confirmed, stale), mandate_id or household_id. Any key role. Same as GET /api/v1/questions.

輸入參數statusapi_keymandate_idhousehold_id

answer_question

Answer a Lodestar question about household data

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 them. Developer, approver or owner key. Refused when the household changed since the question was asked. Same as POST /api/v1/questions/{id}/answer.

輸入參數notevalueapi_keyconfirmquestion_id必填

manage_preferences

Read or set an advisor's preferences for a mandate

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 only suggests it); confirm a suggestion (approver or owner); remove (a suggestion: developer and up; a confirmed preference: approver or owner). Same as /api/v1/mandates/{id}/preferences and /api/v1/preferences/{id}.

輸入參數kindnoteuntilaction必填api_keystrategyamount_usdmandate_idpreference_idalternative_id

版本歷史

1
  1. v1.8.0最新Sep 16, 2026

評分

已滿足適用檢查項的 83%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通必需25 分
  • 已宣告認證方式必需10 分
  • 已列出工具必需15 分
  • 描述必需15 分
  • 圖示10 分
  • 文件15 分

    請宣告包含 README 的 GitHub 儲存庫,或在 OAuth 受保護資源後設資料中提供 resource_documentation。

  • 授權條款不適用

    託管服務按其提供方的條款使用,因此這裡不要求授權條款。此檢查項不計入百分比。