Banking Assistant (Metabind demo)

公式

Metabind上に構築されたインタラクティブなMCPアプリデモ:個人財務の回答がUIカード(純資産、支出、サブスクリプション)としてClaudeとChatGPT、およびiOS/Androidアプリでネイティブに表示されます。

Banking Assistant (Metabind Demo) MCPで何ができますか?

  • 月次支出の確認 — アシスタントに「今月のお金はどこに使った?」と質問し、その結果をホーム画面として表示させます。
  • 取引詳細の探索 — 取引リスト、支出の内訳、サブスクリプション表示をリクエストし、各回答は専用のシートで開きます。
  • 純資産の推移を追跡 — 合成金融データ上でインタラクティブなBindJSコンポーネントとして描画される純資産のトレンド可視化を質問します。
  • あらゆるデバイスで動作 — 1つの共有定義から、iOS(apple/)、Android(android/)、MCPホスト(mcp/)で同じアシスタントを使用します。

ホスト型 MCP サーバー

npx add-mcp 'https://mcp.metabind.ai/IgJH0BzIn4LlfnCbcDc7/projects/GLbHk5i3GLlIYcF63XFl'

Claude Code、Codex、Cursor などにインストールできます

ドキュメント

Metabind Finance デモ

チャットのトランスクリプトを持たないパーソナルファイナンスアシスタントです。このアプリは起動時に1つの質問をし、レンダリングされた回答をホーム画面として使用します。以降のフォローアップはすべて、目的に特化した画面で開きます。同じアシスタントが、1つの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は、意図的にトランスクリプトのないアシスタントです。起動時に1つの質問が行われます — 「今月、お金はどこに消えた?」 — そして、そのレンダリングされたMCP結果がホーム画面そのものです。以降の質問は下部のピルレールから来て、シートで開きます。各ターンは、メッセージリストでスクロールするのではなく、目的に特化した画面にルーティングされます。

これは、会話自体が製品であるRetailデモとは逆の形状です。同じSDK、2つの形状 — どちらが自分の製品に合うか決める前に、両方を読んでください。

このREADMEを最初から最後まで読むと、次のものが得られます:

  • Finance MCPプロジェクト — 支出の内訳、取引リスト、サブスクリプション、純資産のトレンドを、合成データ上のBindJSコンポーネントとして提供 — お客様自身のMetabind組織のプロジェクトとしてインストールされます。
  • そのプロジェクトに対して動作するiOSアプリ。
  • 同じプロジェクトに対して動作するAndroidアプリ。

すべての財務データは合成です。ここでは実際の銀行に接続したり、秘密を読み取ったり、外部ホストを呼び出したりすることはありません。

このフォルダの内容

ディレクトリ内容
apple/MetabindAI上のiOSアプリ(MetabindAssistant)、SDKはリリースタグで固定
android/metabindai-android上の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"
    

    今すぐ値をコピーしてください — 作成時に一度だけ表示されます。1つの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です。

パート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キーを入力し、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. テンプレートから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キーを入力してStartをタップします — iOSと同じ初回起動フローです。

ComposeアーキテクチャとiOSアプリからの意図的な相違点については、AndroidアプリのREADMEを参照してください。

次のステップ

ライセンス

Apache 2.0。リポジトリルートのLICENSEとNOTICEを参照してください。apple/、android/、mcp/は、スターターとしてコピーアウトされることを意図しているため、独自のコピーを保持しています。