Banking Assistant (Metabind demo)

官方

基於Metabind建置的互動式MCP應用程式示範:個人財務答案以UI卡片形式(淨資產、支出、訂閱)呈現在Claude和ChatGPT中,並原生支援iOS/Android應用程式。

你可以用 Banking Assistant (Metabind Demo) MCP 做什麼?

  • 詢問每月支出 — 讓助理回答「這個月我的錢花到哪裡去了?」並將結果呈現為你的主畫面。
  • 探索交易明細 — 要求交易清單、支出分類或訂閱檢視,每個答案都會在專用的工作表(sheet)中開啟。
  • 追蹤淨值趨勢 — 要求以互動式 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

Finance 示範,在 iOS 應用程式中執行。

什麼是 Metabind

Metabind 打造的代理程式,會在你的產品自有 UI 中回應,而非聊天視窗:互動式介面直接將客戶帶到他們想找的內容,並使用他們已熟悉的品牌風格。它建構在你應用程式既有的 UI、設計系統和 API 之上,無需重寫。它受到治理,只渲染你已核准的元件,並在每次渲染時強制執行。而且它是託管式的:你定義工具,我們執行伺服器。同一個代理程式可執行於你自己的 iOS、Android 和網頁應用程式,也可透過開放的 MCP 標準,在 Claude、ChatGPT 及每個 MCP 主機上執行。

此示範展示「在你自己的應用程式內」這一部分,透過 Assistant SDK 渲染為真實的原生 SwiftUI 和 Jetpack Compose。

在 metabind.ai 免費開始 · 閱讀文件

此示範的內容

Finance 是一個刻意不保留對話記錄的助理。啟動時會詢問一個問題——「我這個月的錢花到哪裡去了?」——而其渲染後的 MCP 結果就是主畫面。後續問題來自底部的藥丸狀選單列,並在彈出視窗中開啟。每個回合都會被導向到專用介面,而不是在訊息列表中滾動顯示。

它與 Retail 示範 的形態相反,後者以對話本身為產品。相同的 SDK,兩種形態——在決定你的產品屬於哪一種之前,請先閱讀兩者。

從頭到尾閱讀這份 README,你將獲得:

  • Finance MCP 專案——支出分析、交易列表、訂閱和淨值趨勢,以 BindJS 元件呈現合成資料——安裝為你自己 Metabind 組織中的一個專案。
  • 針對該專案執行的 iOS 應用程式。
  • 針對同一專案執行的 Android 應用程式。

所有財務資料皆為合成資料。此處沒有任何內容連接到真實銀行、讀取機密,或呼叫外部主機。

此資料夾的內容

目錄內容
apple/iOS 應用程式,使用 MetabindAI (MetabindAssistant),SDK 以發行標籤固定版本
android/Android 應用程式,使用 metabindai-android (MetabindAssistant),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>
    

    use --clear 在你之前使用過 CLI 時很重要。第 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,而非組織別名。

第 2 部分——執行 iOS 應用程式

  1. 從範本建立已加入 gitignore 的本機設定檔:

    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 金鑰,然後點選 開始。主畫面會透過詢問 「我這個月的錢花到哪裡去了?」 來載入。點選建議的後續問題或 詢問任何問題,即可在彈出視窗中開啟下一個答案。

關於簽署、Xcode Cloud、TestFlight 以及整合方式的說明,請參閱 iOS 應用程式的 README。

第 3 部分——執行 Android 應用程式

  1. 為 Gradle 提供 GitHub Packages 的憑證,可作為環境變數(GITHUB_ACTOR / GITHUB_TOKEN)或放在 ~/.gradle/gradle.properties 中:

    gpr.user=your-github-username
    gpr.key=your-github-token
    
  2. 從範本建立已加入 gitignore 的本機設定檔,並填入第 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 金鑰並點選 開始——與 iOS 相同的首次啟動流程。

關於 Compose 架構以及與 iOS 應用程式的刻意差異,請參閱 Android 應用程式的 README。

接下來

授權

Apache 2.0。請參閱存放庫根目錄中的 LICENSE 和 NOTICE;apple/、android/ 和 mcp/ 各自攜帶自己的副本,因為它們設計為可複製出去作為起始範本。