get_net_worth
Net worth history + account balances. Numbers to reason with — to display, use net_worth_trend.
periodendDategroupBysummarystartDateai.metabind由 metabind.ai 發布官方發布者v0.0.17更新於 Oct 24, 2026
Demo personal-finance MCP App: spending, subscriptions, and net worth as interactive UI.
一個示範用的個人理財 MCP 應用程式,以互動式 UI 卡片回傳基於合成資料的支出、訂閱與淨資產資訊。
Web executable,透過 Streamable HTTP。 遠端服務在工作區中設定後即可從網頁執行環境執行。
把這段提示詞貼上到 Claude Code、Codex、Cursor 等代理程式,或 SourceWeft 對話中。代理程式會讀取該伺服器的安裝指南,先向你展示發布者、端點和登入方式,經你同意後再把它新增到你的客戶端。金鑰不會寫進任何命令。
閱讀 https://sourceweft.com/mcp/ai.metabind%2Fbanking-assistant/install.md,並按其中說明把這個 MCP 伺服器接入我的客戶端。修改任何設定之前,先告訴我它的發布者、端點和登入方式,等我確認。不要把 API 金鑰寫進命令或我會提交的檔案;問我金鑰應從哪裡取得。把它新增到你客戶端的 mcpServers 設定中。
{
"mcpServers": {
"banking-assistant-metabind-demo": {
"type": "http",
"url": "https://mcp.metabind.ai/IgJH0BzIn4LlfnCbcDc7/projects/GLbHk5i3GLlIYcF63XFl"
}
}
}A personal-finance assistant with no chat transcript. The app asks one question on launch and uses the rendered answer as its home screen; every follow-up opens on a purpose-built surface. The same assistant runs natively on iOS and Android from one MCP App definition.
https://github.com/user-attachments/assets/9a840b88-dc88-4ab4-927e-0a8dc651dbe3
The Finance demo, running in the iOS app.
Metabind builds agents that answer in your product's own UI, not in a chat window: interactive interfaces that take customers straight to what they came for, in the brand they already know. It's built from the UI, design system, and APIs the app already has. No rewrite. It's governed, rendering only components you've approved, enforced on every render. And it's hosted: you define the tools, we run the server. The same agent runs inside your own iOS, Android, and web apps, and across Claude, ChatGPT, and every MCP host, on the open MCP standard.
This demo shows the inside-your-own-app half, rendered as real native SwiftUI and Jetpack Compose through the Assistant SDK.
Start free at metabind.ai · Read the docs
Finance is a deliberately transcript-free assistant. One question is asked on launch — "Where did my money go this month?" — and its rendered MCP result is the home screen. Later questions come from a pill rail at the bottom and open in sheets. Each turn is routed to a purpose-built surface instead of scrolling by in a message list.
It's the opposite shape to the Retail demo, where the conversation itself is the product. Same SDKs, two shapes — read both before deciding which one your product is.
Working through this README end to end, you get:
All financial data is synthetic. Nothing here connects to a real bank, reads a secret, or calls an external host.
A Metabind account and organization — sign up at metabind.ai/signup.
The metabind CLI, 0.9.0 or newer:
An LLM provider API key (Anthropic, OpenAI, or Google). The Metabind Agent proxy holds it server-side and runs the conversation with it — the apps never ship a provider key.
For iOS: Xcode 26+ (the app targets iOS 17+).
For Android: Android Studio, JDK 17+, and GitHub Packages credentials — GitHub requires authentication even to read a public package.
Run these from this directory (finance/).
Sign up at metabind.ai if you haven't already — that creates your account and organization. Then sign in to the CLI and pick the organization to install into:
use --clear matters if you have used the CLI before. install in
step 3 creates a project only when none is bound, and installs into the
bound one otherwise — after the Retail demo, for instance. Setting the org
alone does not release a project bound earlier; metabind status shows
the active scope.
See what the tree declares before creating anything:
Finance declares no secrets and no outbound calls — inspect is how you
confirm that from the tree itself.
Install:
install mints fresh ids for everything it creates, records where the
tree came from, and creates drafts only — nothing serves traffic until you
publish. Copy the project id it prints.
Scope the CLI to the new project and set the agent's LLM key:
Publish:
Mint the API key the apps sign in with:
Copy the value now — it is shown once, at creation. One Metabind API key authenticates both the Agent proxy and the MCP server.
Optionally, apply the project settings and thumbnail. install creates
the components and tools; the settings in mcp/metabind.jsonc — the MCP
instructions and the agent system prompt — are applied by push:
push rewrites the tool drafts, so publish once more to release them.
The project get is not decoration. project update refuses to write an
entity the CLI has not read recently, so that it can tell the project
hasn't moved underneath you:
A project you just installed has never been read, so the first update trips this without it.
Set thumbnailUrl after pushing, not before: project update replaces
nested settings objects rather than merging them, so writing
settings.mcp here would drop the instructions push just applied.
[!NOTE] Configure the clients with the org and project ids that
installprinted — the stable internal ids, not the organization slug.
Create the gitignored local configuration from its template:
Fill in the ids from Part 1:
Leave FINANCE_DEMO_API_KEY empty — you'll enter the key on first launch.
FINANCE_DEMO_BUNDLE_ID and DEVELOPMENT_TEAM matter only for signed
device builds.
Open the project and run it (⌘R) on an iOS 17+ simulator:
Enter your Metabind API key on the launch screen and tap Start. The home screen loads by asking "Where did my money go this month?". Tap a suggested follow-up or Ask anything to open the next answer in a sheet.
For signing, Xcode Cloud, TestFlight, and how the integration works, see the iOS app's README.
Give Gradle credentials for GitHub Packages, either as environment
variables (GITHUB_ACTOR / GITHUB_TOKEN) or in
~/.gradle/gradle.properties:
Create the gitignored local configuration from its template, and fill in the same ids from Part 1:
Build, install, and launch on a device or emulator (API 26+, with the
WebView JavaScript Sandbox available — BindJS runs component code in
androidx.javascriptengine):
Enter your Metabind API key and tap Start — the same first-launch flow as iOS.
For the Compose architecture and the deliberate divergences from the iOS app, see the Android app's README.
Apache 2.0. See LICENSE and NOTICE at the
repository root; apple/, android/, and mcp/ carry their own copies
because they are meant to be copied out as starters.
來源:finance/README.md,提交 f6d91f6
Net worth history + account balances. Numbers to reason with — to display, use net_worth_trend.
periodendDategroupBysummarystartDateCategorized spending + prior-period comparison. Numbers to reason with — to display, use spending_breakdown.
periodsummaryRecurring-charge detection. Numbers to reason with — to display, use the subscriptions card.
statusRaw transactions by category or merchant, ~12 months of history. Numbers to reason with — to display, use transaction_list.
sortlimitperiodendDatecategorymerchantstartDateNet Worth Trend
Render net_worth_trend: Net worth: current total, change over the period, a trend chart, and the account balances behind it. It loads its own data. To compare periods against each other pass chartStyle:'bar' plus groupBy ('year' for this-year-vs-last-year, 'month' for month-by-month) — each bar is that period's closing balance.
noteperiodendDategroupBynextStepsstartDatechartStyleSpending Breakdown
Render spending_breakdown: Spending split by category for a period: a composition bar plus a ranked category list. It loads its own data — pass the period alone for the whole picture, which is what a broad 'where did my money go' question wants. Use highlight only on a follow-up about particular categories; it dims everything else, so on an opening question it hides most of the answer.
noteperiodhighlightnextStepsdrillPromptSubscriptions
Render subscriptions: Recurring charges: total monthly cost and a row per subscription with its cadence, next charge date, and New / price-increase flags. It loads its own data.
noteviewviewsstatusnextStepsTransaction List
Render transaction_list: Individual purchases for a category or a merchant: the window total plus the matching transactions. It loads its own data. Plain terms like 'restaurants', 'groceries' or 'gas' resolve to categories; omit both filters for all spending. Do NOT use this when the user asks how much they spent over the last 3, 6 or 12 months — that is a period comparison, so use trend_card with chartStyle:'bar' instead.
noteviewlimitviewsperiodendDatecategorymerchantnextStepsstartDateTrend Card
Render trend_card: Any metric over time that has no dedicated card — one category's spend by month, a series you computed. Points are {label, value} in display order. Set upIsGood=false for cost-like metrics. Use chartStyle:'bar' whenever the user compares periods — month by month, or over the last 3/6/12 months; give each point a `series` name (repeating the label once per series) to stack them with a legend. Pass `items` to list the composition behind the number.
noteitemsstarttitlechangepointscurrentupIsGoodnextStepschange_pctchartStyleperiodLabel另有 2 個已滿足適用檢查項的 100%
該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。
brew install metabindai/tap/metabindmetabind --versionmetabind auth loginmetabind org listmetabind use --clearmetabind use --org <org-id>metabind inspect --dir mcpmetabind install --dir mcp --name "Banking Assistant" --yesmetabind use --project <project-id>echo $ANTHROPIC_API_KEY | metabind agent set --provider anthropic --api-key-stdinmetabind publishmetabind api-key create --name "Banking Assistant"metabind asset upload mcp/assets/files/project-thumbnail.pngmetabind sync repair --out mcp --org <org-id> --project <project-id>metabind push --out mcpmetabind project get <project-id>metabind project update <project-id> \ --data '{"settings":{"thumbnailUrl":"<url from asset upload>"}}'metabind publishCONFLICT: Refusing project update <project-id>: no recent read recorded.cd applecp Config/Local.xcconfig.example Config/Local.xcconfigFINANCE_DEMO_ORG_ID = your_stable_internal_org_idFINANCE_DEMO_PROJECT_ID = your_project_idopen MetabindFinanceDemo.xcodeprojgpr.user=your-github-usernamegpr.key=your-github-tokencd androidcp local.properties.example local.properties./gradlew :app:installDebugadb shell am start -n ai.metabind.finance.demo/.MainActivity