Banking Assistant (Metabind demo)
官方基于Metabind构建的交互式MCP应用演示:个人财务答案在Claude和ChatGPT中渲染为UI卡片(净资产、支出、订阅),并在iOS/Android应用中原生呈现。
你可以用 Banking Assistant (Metabind Demo) MCP 做什么?
- 询问月度支出 — 让助手回答“这个月我的钱花到哪里去了?”,并将结果渲染为你的主屏幕。
- 探索交易详情 — 请求交易列表、支出明细或订阅视图,每个答案都在专用面板中打开。
- 追踪净资产趋势 — 要求将净资产趋势可视化,以交互式 BindJS 组件形式渲染在合成财务数据之上。
- 在任何设备上运行 — 通过一份共享定义,在 iOS(
apple/)、Android(android/)和 MCP 主机(mcp/)上使用同一个助手。
托管 MCP 服务器
npx add-mcp 'https://mcp.metabind.ai/IgJH0BzIn4LlfnCbcDc7/projects/GLbHk5i3GLlIYcF63XFl'可安装到 Claude Code、Codex、Cursor 等客户端
文档
Metabind Finance 演示
一个没有聊天记录的个人财务助手。应用在启动时询问一个问题,并将渲染后的答案作为主屏幕;每个后续问题都在专门构建的界面上打开。同一个助手通过一个 MCP App 定义原生运行在 iOS 和 Android 上。
https://github.com/user-attachments/assets/9a840b88-dc88-4ab4-927e-0a8dc651dbe3
在 iOS 应用中运行的 Finance 演示。
什么是 Metabind
Metabind 构建的智能体在您自己的产品界面中作答,而不是在聊天窗口中:交互式界面让客户直接到达他们想要的内容,并使用他们已经熟悉的品牌。它基于应用已有的 UI、设计系统和 API 构建。无需重写。它受到管控,仅渲染您已批准的组件,并在每次渲染时强制执行。而且它是托管的:您定义工具,我们运行服务器。同一个智能体运行在您自己的 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 -
一个 LLM 提供商 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>use --clear如果您之前使用过 CLI,这一点很重要。第 3 步中的install仅在未绑定项目时创建项目,否则安装到已绑定的项目中——例如在 Retail 演示之后。仅设置组织不会释放之前绑定的项目;metabind status显示活动范围。 -
在创建任何内容之前,先查看树声明了什么:
metabind inspect --dir mcpFinance 不声明任何机密和出站调用——
inspect是您从树本身确认这一点的方式。 -
安装:
metabind install --dir mcp --name "Banking Assistant" --yesinstall为其创建的所有内容生成新的 ID,记录树的来源,并且只创建草稿——在您发布之前,不会有任何内容提供服务。复制它打印的项目 ID。 -
将 CLI 范围限定到新项目并设置智能体的 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 指令和智能体系统提示词——由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刚刚应用的指令。
[!NOTE] 使用
install打印的组织和项目 ID 配置客户端——是稳定的内部 ID,而不是组织别名。
第 2 部分 — 运行 iOS 应用
-
从其模板创建已加入 gitignore 的本地配置:
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 应用
-
为 Gradle 提供 GitHub Packages 凭据,可以是环境变量(
GITHUB_ACTOR/GITHUB_TOKEN)或~/.gradle/gradle.properties:gpr.user=your-github-username gpr.key=your-github-token -
从其模板创建已加入 gitignore 的本地配置,并填写第 1 部分中的相同 ID:
cd android cp local.properties.example local.properties -
在设备或模拟器上构建、安装并启动(API 26+,且 WebView JavaScript 沙箱可用——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 项目——更改组件、验证、推送和发布,并使用协调脚本保持每张卡片的数字一致。
- Retail 演示——相同的 SDK,相反的形态:记录文本就是产品。
- Metabind for Apple 和 Metabind for Android——SDK 安装和 API 参考。
- docs.metabind.ai——完整指南。
许可证
Apache 2.0。请参阅仓库根目录下的 LICENSE 和 NOTICE;apple/、android/ 和 mcp/ 带有自己的副本,因为它们旨在被复制出来作为起始模板。