Banking Assistant (Metabind demo)

官方

基于Metabind构建的交互式MCP应用演示:个人财务答案在Claude和ChatGPT中渲染为UI卡片(净资产、支出、订阅),并在iOS/Android应用中原生呈现。

你可以用 Banking Assistant (Metabind Demo) 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 中回答问题,而不是在聊天窗口中:它们提供交互式界面,让客户直接进入他们想要的内容,并使用他们熟悉的品牌风格。它基于应用已有的 UI、设计系统和 API 构建。无需重写。它受治理约束,只渲染你已批准的组件,并在每次渲染时强制执行。它也由我们托管:你定义工具,我们运行服务器。同一个智能体可在你自己的 iOS、Android 和 Web 应用中运行,也可在 Claude、ChatGPT 及所有 MCP 宿主中运行,基于开放的 MCP 标准。

此演示展示了在你自己的应用中运行的部分,并通过 Assistant SDK 渲染为真正的原生 SwiftUI 和 Jetpack Compose。

在 metabind.ai 免费开始 · 阅读文档

此演示的内容

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 注册。

  • metabind CLI,版本 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/)中运行以下命令。

  1. 如果你还没有注册,请在 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 会显示当前作用域。

  2. 创建任何内容之前,先查看此目录树声明了什么:

    metabind inspect --dir mcp
    

    Finance 未声明任何机密或出站调用——inspect 可让你直接从目录树确认这一点。

  3. 安装:

    metabind install --dir mcp --name "Banking Assistant" --yes
    

    install 会为其创建的所有内容生成新的 ID,记录目录树的来源,并且只创建草稿——发布之前不会提供任何流量服务。复制它输出的项目 ID。

  4. 将 CLI 的作用域设为新项目,并设置智能体的 LLM 密钥:

    metabind use --project <project-id>
    echo $ANTHROPIC_API_KEY | metabind agent set --provider anthropic --api-key-stdin
    
  5. 发布:

    metabind publish
    
  6. 生成应用用于登录的 API 密钥:

    metabind api-key create --name "Banking Assistant"
    

    现在复制该值——它只会在创建时显示一次。一个 Metabind API 密钥即可同时验证 Agent 代理和 MCP 服务器。

  7. 可选:应用项目设置和缩略图。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 publish
    

    push 会重写工具草稿,因此请再次发布以发布这些内容。

    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——即稳定的内部 ID,而不是组织 slug。

第 2 部分 — 运行 iOS 应用

  1. 根据模板创建被 git 忽略的本地配置文件:

    cd apple
    cp Config/Local.xcconfig.example Config/Local.xcconfig
    
  2. 填入第 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 仅在签名设备构建时需要。

  3. 打开项目,并在 iOS 17+ 模拟器上运行(⌘R):

    open MetabindFinanceDemo.xcodeproj
    
  4. 在启动屏幕上输入你的 Metabind API 密钥,然后轻点 Start。主屏幕会通过询问*"这个月我的钱都花到哪里去了?"*来加载。轻点建议的后续问题或 Ask anything,即可在工作表中打开下一个答案。

有关签名、Xcode Cloud、TestFlight 以及集成工作原理,请参阅 iOS 应用的 README。

第 3 部分 — 运行 Android 应用

  1. 为 GitHub Packages 配置 Gradle 凭据,可通过环境变量 (GITHUB_ACTOR / GITHUB_TOKEN) 或在 ~/.gradle/gradle.properties 中配置:

    gpr.user=your-github-username
    gpr.key=your-github-token
    
  2. 根据模板创建被 git 忽略的本地配置文件,并填入第 1 部分中的相同 ID:

    cd android
    cp local.properties.example local.properties
    
  3. 在设备或模拟器上构建、安装并启动(API 26+,且需提供 WebView JavaScript Sandbox——BindJS 会在 androidx.javascriptengine 中运行组件代码):

    ./gradlew :app:installDebug
    adb shell am start -n ai.metabind.finance.demo/.MainActivity
    
  4. 输入你的 Metabind API 密钥并轻点 Start——首次启动流程与 iOS 相同。

有关 Compose 架构以及与 iOS 应用有意采用的不同设计,请参阅 Android 应用的 README。

接下来可以做什么

许可证

Apache 2.0。请参阅仓库根目录中的 LICENSE 和 NOTICE;apple/、android/ 和 mcp/ 各自附带副本,因为它们旨在作为起始模板复制使用。