Banking Assistant (Metabind demo) について
Banking Assistant は、個人の財務に関する回答をチャット履歴ではなく専用画面で表示する Metabind のデモです。合成データを使い、iOS と Android で動作します。
主な機能
- 01チャット履歴のない財務画面
- 02支出と取引の表示
- 03サブスクリプションと純資産の表示
- 04iOS・Android のネイティブアプリ
- 05合成財務データ
活用シーン
- 01月ごとの支出内訳の確認
- 02取引とサブスクリプションの確認
- 03純資産の推移の確認
MCP 対応
デモには、回答を UI カードとして表示するツールと BindJS コンポーネントを含む Finance MCP プロジェクトがあります。同じ 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' は期間に応じて読みやすい粒度を選択します。明示的に設定すると期間同士を比較できます。2 年の範囲で 'year' を指定すると年ごとに 1 ポイント、'month' を指定すると月ごとに 1 ポイント返されます。auto | day | week | month | quarter | year |
| summary | boolean | いいえ | `points` 系列を省略し、主要な数値と口座のみを返します。グラフ化ではなく数値についてコメントする場合に使用してください。完全な結果に比べてサイズを大幅に抑えられます。 |
| startDate | string | いいえ | 範囲の開始日。形式は YYYY-MM-DD です。デフォルトは endDate の 1 年前です。 |
詳細
Metabind Finance デモ
チャット履歴のないパーソナルファイナンスアシスタントです。アプリの起動時に質問を1つ尋ね、レンダリングされた回答をホーム画面として表示します。以降の質問は、それぞれ専用に設計された画面で開きます。同じアシスタントが、1つの MCP App 定義から iOS と Android の両方でネイティブに動作します。
https://github.com/user-attachments/assets/9a840b88-dc48-4ab4-927e-0a8dc651dbe3
iOS アプリで動作する Finance デモ。
Metabind とは
Metabind は、チャットウィンドウではなく、お客様の製品独自の UI で回答するエージェントを構築しています。お客様が求めている場所へ直接導く、使い慣れたブランドのインタラクティブなインターフェースです。アプリにすでにある UI、デザインシステム、API を基に構築されます。作り直す必要はありません。承認済みのコンポーネントだけをレンダリングするよう管理され、すべてのレンダリングで徹底されます。ホスト型のため、ツールを定義すれば、サーバーは当社が運用します。同じエージェントが、お客様の iOS、Android、Web アプリ内で動作し、オープンな MCP 標準を通じて、Claude、ChatGPT、あらゆる MCP ホストでも動作します。
このデモでは、Assistant SDK を介して、実際のネイティブな SwiftUI と Jetpack Compose でレンダリングされる「自分のアプリ内で動作する」部分を紹介します。
metabind.ai で無料で始める · ドキュメントを読む
このデモについて
Finance は、意図的にチャット履歴をなくしたアシスタントです。起動時に「今月のお金はどこに使った?」という質問を尋ね、レンダリングされた MCP の結果をホーム画面として表示します。その後の質問は画面下部のピル型メニューから選択でき、シートで開きます。各ターンはメッセージ一覧をスクロールして表示するのではなく、専用に設計された画面に振り分けられます。
会話そのものが製品であるRetail デモとは対照的な構成です。同じ SDK で2つの構成を実現しています。どちらが自社製品に合うかを判断する前に、両方をご覧ください。
この README に沿って最後まで進めると、次のものを利用できます。
- 合成データを使った BindJS コンポーネントとして、支出の内訳、取引一覧、サブスクリプション、純資産の推移を表示する Finance MCP プロジェクト。ご自身の 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 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 のスコープを新しいプロジェクトに設定し、エージェントの 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 キー 1 つで、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は単なる飾りではありません。CLI がエンティティを最近読み取っていない場合、project updateは書き込みを拒否します。これは、プロジェクトの状態がその間に変わっていないことを確認するためです。CONFLICT: Refusing project update <project-id>: no recent read recorded.インストールしたばかりのプロジェクトはまだ読み取られていないため、これを実行しないと最初の更新でエラーになります。
thumbnailUrlはpushの後に設定してください。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_idFINANCE_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 を使いながら、形は正反対です。トランスクリプトが製品です。
- Apple 向け Metabind および Android 向け Metabind — SDK のインストールと API リファレンスです。
- docs.metabind.ai — ガイド全文です。
ライセンス
Apache 2.0 です。リポジトリのルートにある LICENSE と NOTICE を参照してください。apple/、android/、mcp/ には、それぞれ独自のコピーが含まれています。これらはスターターとしてコピーして使うことを想定しているためです。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。