关于 Banking Assistant (Metabind demo)
Banking Assistant 是 Metabind 的演示项目,将个人财务回答呈现为专用应用界面,而非聊天记录。它使用合成财务数据,可在 iOS 和 Android 上运行。
主要功能
- 01无聊天记录的财务界面
- 02支出与交易视图
- 03订阅与净资产视图
- 04原生 iOS 和 Android 应用
- 05合成财务数据
适用场景
- 01查看每月支出明细
- 02查看交易和订阅
- 03了解净资产趋势
MCP 相关
演示包含 Finance MCP 项目,其中的工具和 BindJS 组件将回答呈现为 UI 卡片。同一 MCP 项目为 iOS 和 Android 应用提供服务。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://mcp.metabind.ai/IgJH0BzIn4LlfnCbcDc7/projects/GLbHk5i3GLlIYcF63XFlclaude mcp add --transport http banking-assistant-metabind-demo https://mcp.metabind.ai/IgJH0BzIn4LlfnCbcDc7/projects/GLbHk5i3GLlIYcF63XFl{"mcpServers":{"banking-assistant-metabind-demo":{"type":"http","url":"https://mcp.metabind.ai/IgJH0BzIn4LlfnCbcDc7/projects/GLbHk5i3GLlIYcF63XFl"}}}在 Cursor 中打开{"servers":{"banking-assistant-metabind-demo":{"type":"http","url":"https://mcp.metabind.ai/IgJH0BzIn4LlfnCbcDc7/projects/GLbHk5i3GLlIYcF63XFl"}}}在 VS Code 中打开{"mcpServers":{"banking-assistant-metabind-demo":{"type":"http","url":"https://mcp.metabind.ai/IgJH0BzIn4LlfnCbcDc7/projects/GLbHk5i3GLlIYcF63XFl"}}}{"mcpServers":{"banking-assistant-metabind-demo":{"serverUrl":"https://mcp.metabind.ai/IgJH0BzIn4LlfnCbcDc7/projects/GLbHk5i3GLlIYcF63XFl"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
工具
9| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| period | enum | 否 | 趋势回溯的时间范围。提供 startDate/endDate 时会忽略此参数。7d | 30d | mtd | lastMonth | 3mo | 6mo | ytd | 1y | all |
| endDate | string | 否 | 范围结束日期,格式为 YYYY-MM-DD。默认为今天。 |
| groupBy | enum | 否 | 返回序列的粒度。每个数据点包含该时段的期末余额。'auto' 会根据时间跨度选择易读的粒度;显式设置后可用于比较各时段——两年范围内使用 'year' 会每年返回一个数据点,使用 'month' 则每月返回一个数据点。auto | day | week | month | quarter | year |
| summary | boolean | 否 | 省略 `points` 序列,仅返回摘要数字和账户。如果你需要评论这些数字而不是绘制图表,请使用此选项;结果大小仅为完整结果的一小部分。 |
| startDate | string | 否 | 范围开始日期,格式为 YYYY-MM-DD。默认为 endDate 一年前。 |
详细介绍
Metabind Finance 演示
一款没有聊天记录的个人财务助手。应用启动时会提问一个问题,并将渲染后的答案用作主屏幕;每次后续提问都会打开专门设计的界面。同一个助手基于一份 MCP App 定义,在 iOS 和 Android 上原生运行。
https://github.com/user-attachments/assets/9a840b88-dc48-4ab4-927e-0a8dc651dbe3
Finance 演示在 iOS 应用中运行。
什么是 Metabind
Metabind 构建的 Agent 会在你产品自己的 UI 中作答,而不是在聊天窗口中:它们提供交互式界面,让客户直接进入他们想要的内容,并沿用他们熟悉的品牌。这些界面基于应用已有的 UI、设计系统和 API 构建,无需重写。它受到治理,只会渲染你批准的组件,并在每次渲染时强制执行。而且它由我们托管:你定义工具,我们运行服务。同一个 Agent 可在你自己的 iOS、Android 和 Web 应用中运行,也可在 Claude、ChatGPT 及所有 MCP 宿主中运行,并遵循开放的 MCP 标准。
此演示展示了助手在你自己的应用中运行的部分,并通过 Assistant SDK 渲染为真正的原生 SwiftUI 和 Jetpack Compose 界面。
此演示是什么
Finance 是一款刻意不显示聊天记录的助手。应用启动时会提问一个问题——“这个月我的钱都花到哪儿去了?”——其渲染后的 MCP 结果就是主屏幕。之后的问题可通过底部的胶囊按钮栏提出,并在工作表中打开。每一轮对话都会路由到专门设计的界面,而不是在消息列表中滚动显示。
这与 Retail 演示 的设计截然相反;在后者中,对话本身就是产品。两者使用相同的 SDK,却有两种不同的形态——在决定哪一种适合你的产品之前,请先阅读两者。
按照本 README 从头到尾操作,你将获得:
- Finance MCP 项目——基于合成数据,以 BindJS 组件呈现支出明细、交易列表、订阅和净资产趋势——并将其作为项目安装到你自己的 Metabind 组织中。
- 针对该项目运行的 iOS 应用。
- 针对同一项目运行的 Android 应用。
所有财务数据都是合成数据。此处的任何内容都不会连接真实银行、读取机密信息或调用外部主机。
此文件夹包含什么
| 目录 | 内容 |
|---|---|
apple/ | 使用 MetabindAI(MetabindAssistant)的 iOS 应用,SDK 固定到发布标签 |
android/ | 使用 metabindai-android(MetabindAssistant)的 Android 应用,SDK 版本固定在版本目录中 |
mcp/ | Finance MCP 项目:BindJS 组件、工具和合成数据流 |
开始之前
-
一个 Metabind 账户和组织——在 metabind.ai/signup 注册。
-
metabindCLI,版本为 0.9.0 或更高:brew install metabindai/tap/metabind metabind --version -
一个大模型提供商的 API 密钥(Anthropic、OpenAI 或 Google)。Metabind Agent 代理会在服务器端保管该密钥,并使用它运行对话——应用不会打包提供商密钥。
-
iOS:Xcode 26+(应用面向 iOS 17+)。
-
Android:Android Studio、JDK 17+ 和 GitHub Packages 凭据——即使要读取公开软件包,GitHub 也要求进行身份验证。
第 1 部分 — 安装 MCP 项目
在此目录(finance/)中运行以下命令。
-
如果还没有账号,请在 metabind.ai 注册 — 这会创建你的账号和组织。然后登录 CLI,并选择要安装到的组织:
metabind auth login metabind org list metabind use --clear metabind use --org <org-id>如果你之前使用过 CLI,
use --clear很重要。第 3 步中的install仅在尚未绑定项目时才会创建项目,否则会安装到已绑定的项目中 — 例如 Retail 演示项目。仅设置组织不会解除先前绑定的项目;metabind status会显示当前作用范围。 -
创建任何内容之前,先查看目录树声明了什么:
metabind inspect --dir mcpFinance 未声明任何密钥,也没有对外调用 —
inspect可让你直接从目录树中确认这一点。 -
安装:
metabind install --dir mcp --name "Banking Assistant" --yesinstall会为其创建的所有内容生成新的 ID,记录目录树的来源,并且只创建草稿 — 在发布之前,不会提供任何流量服务。复制它输出的项目 ID。 -
将 CLI 的作用范围设为新项目,并设置 Agent 的 LLM 密钥:
metabind use --project <project-id> echo $ANTHROPIC_API_KEY | metabind agent set --provider anthropic --api-key-stdin -
发布:
metabind publish -
生成应用登录时使用的 API 密钥:
metabind api-key create --name "Banking Assistant"现在复制该值 — 它只会在创建时显示一次。一个 Metabind API 密钥可同时验证 Agent 代理和 MCP 服务。
-
可选:应用项目设置和缩略图。
install会创建组件和工具;mcp/metabind.jsonc中的设置 — MCP 说明和 Agent 系统提示词 — 则通过push应用:metabind asset upload mcp/assets/files/project-thumbnail.png metabind sync repair --out mcp --org <org-id> --project <project-id> metabind push --out mcp metabind project get <project-id> metabind project update <project-id> \ --data '{"settings":{"thumbnailUrl":"<url from asset upload>"}}' metabind publishpush会重写工具草稿,因此需要再发布一次才能使其生效。project get并非可有可无。project update不会写入 CLI 最近没有读取过的实体,这样它才能确认项目没有在你操作期间发生变化:CONFLICT: Refusing project update <project-id>: no recent read recorded.刚安装的项目从未被读取过,因此首次更新时如果没有先执行此操作就会失败。
请在推送后设置
thumbnailUrl,而不是之前:project update会替换嵌套设置对象,而不是合并它们,因此在此处写入settings.mcp会丢弃push刚应用的说明。
说明
配置客户端时,请使用
install输出的组织 ID 和项目 ID — 即稳定的内部 ID,而不是组织别名。
第 2 部分 — 运行 iOS 应用
-
根据模板创建被 Git 忽略的本地配置:
cd apple cp Config/Local.xcconfig.example Config/Local.xcconfig -
填入第 1 部分中的 ID:
FINANCE_DEMO_ORG_ID = your_stable_internal_org_id FINANCE_DEMO_PROJECT_ID = your_project_id将
FINANCE_DEMO_API_KEY留空 — 首次启动时再输入密钥。FINANCE_DEMO_BUNDLE_ID和DEVELOPMENT_TEAM仅在构建签名设备版本时需要。 -
在 iOS 17+ 模拟器上打开项目并运行(⌘R):
open MetabindFinanceDemo.xcodeproj -
在启动屏幕输入你的 Metabind API 密钥,然后轻点 Start。主屏幕会通过提问 “这个月我的钱都花到哪儿去了?” 加载内容。轻点建议的后续问题,或轻点 Ask anything,即可在工作表中打开下一个答案。
有关签名、Xcode Cloud、TestFlight 以及集成的工作方式,请参阅该 iOS 应用的 README。
第 3 部分 — 运行 Android 应用
-
为 GitHub Packages 提供 Gradle 凭据,可以使用环境变量(
GITHUB_ACTOR/GITHUB_TOKEN),也可以写入~/.gradle/gradle.properties:gpr.user=your-github-username gpr.key=your-github-token -
根据模板创建被 Git 忽略的本地配置,并填入第 1 部分中的相同 ID:
cd android cp local.properties.example local.properties -
在设备或模拟器上构建、安装并启动(API 26+,且需提供 WebView JavaScript Sandbox — BindJS 会在
androidx.javascriptengine中运行组件代码):./gradlew :app:installDebug adb shell am start -n ai.metabind.finance.demo/.MainActivity -
输入你的 Metabind API 密钥,然后轻点 Start — 首次启动流程与 iOS 相同。
有关 Compose 架构以及与 iOS 应用有意保持的差异,请参阅该 Android 应用的 README。
接下来
- 编辑 MCP 项目 — 修改组件、验证、推送并发布,同时使用 reconcile 脚本确保每张卡片中的数据一致。
- Retail 演示 — 使用相同的 SDK,但形式相反:转录内容就是产品。
- Metabind for Apple 和 Metabind for Android — SDK 安装和 API 参考。
- docs.metabind.ai — 完整指南。
许可证
Apache 2.0。请参阅仓库根目录下的 LICENSE 和 NOTICE;apple/、android/ 和 mcp/ 各自附带副本,因为它们是为复制后用作起始模板而准备的。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。