Banking Assistant (Metabind demo)

officiel

Démo d'application MCP interactive construite sur Metabind : les réponses de finances personnelles s'affichent sous forme de cartes UI (valeur nette, dépenses, abonnements) dans Claude et ChatGPT, et nativement dans les applications iOS/Android.

Que pouvez-vous faire avec Banking Assistant (Metabind Demo) MCP ?

  • Interroger sur les dépenses mensuelles — Demandez à l’assistant de répondre à « Où est passé mon argent ce mois-ci ? » et affichez le résultat comme écran d’accueil.
  • Explorer les détails des transactions — Demandez des listes de transactions, des répartitions des dépenses ou des vues d’abonnements, chaque réponse s’ouvrant dans une feuille dédiée.
  • Suivre les tendances de patrimoine net — Demandez des visualisations de tendances de patrimoine net rendues sous forme de composants BindJS interactifs sur des données financières synthétiques.
  • Fonctionner sur n’importe quel appareil — Utilisez le même assistant sur iOS (apple/), Android (android/) et les hôtes MCP (mcp/) à partir d’une seule définition partagée.

Serveur MCP hébergé

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

S’installe dans Claude Code, Codex, Cursor et plus

Documentation

Démo Metabind Finance

Un assistant de finances personnelles sans transcription de chat. L'application pose une question au lancement et utilise la réponse rendue comme écran d'accueil ; chaque suivi s'ouvre sur une surface dédiée. Le même assistant fonctionne nativement sur iOS et Android à partir d'une seule définition d'application MCP.

https://github.com/user-attachments/assets/9a840b88-dc88-4ab4-927e-0a8dc651dbe3

La démo Finance, exécutée dans l'application iOS.

Qu'est-ce que Metabind

Metabind crée des agents qui répondent dans l'interface de votre propre produit, pas dans une fenêtre de chat : des interfaces interactives qui amènent directement les clients à ce qu'ils cherchent, dans la marque qu'ils connaissent déjà. C'est construit à partir de l'interface, du système de design et des API que l'application possède déjà. Aucune réécriture. C'est gouverné, ne rendant que des composants que vous avez approuvés, appliqué à chaque rendu. Et c'est hébergé : vous définissez les outils, nous exécutons le serveur. Le même agent fonctionne dans vos propres applications iOS, Android et web, ainsi que sur Claude, ChatGPT et chaque hôte MCP, sur la norme ouverte MCP.

Cette démo montre la partie « dans votre propre application », rendue comme de véritable SwiftUI native et Jetpack Compose via le SDK Assistant.

Commencez gratuitement sur metabind.ai · Lisez la documentation

Ce que fait cette démo

Finance est un assistant volontairement sans transcription. Une question est posée au lancement — « Où est passé mon argent ce mois-ci ? » — et son résultat MCP rendu est l'écran d'accueil. Les questions suivantes viennent d'une barre de pilules en bas et s'ouvrent dans des feuilles. Chaque tour est routé vers une surface dédiée au lieu de défiler dans une liste de messages.

C'est la forme opposée à la démo Retail, où la conversation elle-même est le produit. Mêmes SDK, deux formes — lisez les deux avant de décider laquelle correspond à votre produit.

En parcourant ce README de bout en bout, vous obtenez :

  • Le projet MCP Finance — répartitions des dépenses, listes de transactions, abonnements et tendances de valeur nette comme composants BindJS sur des données synthétiques — installé comme projet dans votre propre organisation Metabind.
  • L'application iOS fonctionnant avec ce projet.
  • L'application Android fonctionnant avec le même projet.

Toutes les données financières sont synthétiques. Rien ici ne se connecte à une vraie banque, ne lit un secret ou n'appelle un hôte externe.

Contenu de ce dossier

RépertoireContenu
apple/Application iOS sur MetabindAI (MetabindAssistant), SDK épinglé par tag de version
android/Application Android sur metabindai-android (MetabindAssistant), SDK épinglé dans le catalogue de versions
mcp/Le projet MCP Finance : composants BindJS, outils et flux synthétique

Avant de commencer

  • Un compte et une organisation Metabind — inscrivez-vous sur metabind.ai/signup.

  • Le CLI metabind, version 0.9.0 ou plus récente :

    brew install metabindai/tap/metabind
    metabind --version
    
  • Une clé API de fournisseur LLM (Anthropic, OpenAI ou Google). Le proxy Agent Metabind la détient côté serveur et exécute la conversation avec elle — les applications n'expédient jamais de clé de fournisseur.

  • Pour iOS : Xcode 26+ (l'application cible iOS 17+).

  • Pour Android : Android Studio, JDK 17+ et des identifiants GitHub Packages — GitHub exige une authentification même pour lire un package public.

Partie 1 — installer le projet MCP

Exécutez ces commandes depuis ce répertoire (finance/).

  1. Inscrivez-vous sur metabind.ai si vous ne l'avez pas déjà fait — cela crée votre compte et votre organisation. Connectez-vous ensuite au CLI et choisissez l'organisation dans laquelle installer :

    metabind auth login
    metabind org list
    metabind use --clear
    metabind use --org <org-id>
    

    use --clear importe si vous avez déjà utilisé le CLI auparavant. install à l'étape 3 crée un projet uniquement lorsqu'aucun n'est lié, et installe dans celui lié sinon — après la démo Retail, par exemple. Définir l'organisation seule ne libère pas un projet lié précédemment ; metabind status montre la portée active.

  2. Voyez ce que l'arborescence déclare avant de créer quoi que ce soit :

    metabind inspect --dir mcp
    

    Finance ne déclare aucun secret ni appel sortant — inspect est la façon de le confirmer depuis l'arborescence elle-même.

  3. Installez :

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

    install génère de nouveaux identifiants pour tout ce qu'il crée, enregistre d'où vient l'arborescence et ne crée que des brouillons — rien ne sert le trafic jusqu'à ce que vous publiiez. Copiez l'identifiant de projet qu'il affiche.

  4. Limitez le CLI au nouveau projet et définissez la clé LLM de l'agent :

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

    metabind publish
    
  6. Générez la clé API avec laquelle les applications se connectent :

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

    Copiez la valeur maintenant — elle n'est affichée qu'une fois, à la création. Une clé API Metabind authentifie à la fois le proxy Agent et le serveur MCP.

  7. Optionnellement, appliquez les paramètres du projet et la vignette. install crée les composants et les outils ; les paramètres dans mcp/metabind.jsonc — les instructions MCP et le prompt système de l'agent — sont appliqués par 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 réécrit les brouillons d'outils, donc publiez une fois de plus pour les libérer.

    Le project get n'est pas une décoration. project update refuse d'écrire une entité que le CLI n'a pas lue récemment, afin de pouvoir détecter que le projet n'a pas bougé sous vous :

    CONFLICT: Refusing project update <project-id>: no recent read recorded.
    

    Un projet que vous venez d'installer n'a jamais été lu, donc la première mise à jour déclenche cela sans lui.

    Définissez thumbnailUrl après avoir poussé, pas avant : project update remplace les objets de paramètres imbriqués plutôt que de les fusionner, donc écrire settings.mcp ici ferait perdre les instructions que push vient d'appliquer.

[!NOTE] Configurez les clients avec les identifiants d'organisation et de projet que install a affichés — les identifiants internes stables, pas le slug d'organisation.

Partie 2 — exécuter l'application iOS

  1. Créez la configuration locale gitignorée à partir de son modèle :

    cd apple
    cp Config/Local.xcconfig.example Config/Local.xcconfig
    
  2. Remplissez les identifiants de la Partie 1 :

    FINANCE_DEMO_ORG_ID = your_stable_internal_org_id
    FINANCE_DEMO_PROJECT_ID = your_project_id
    

    Laissez FINANCE_DEMO_API_KEY vide — vous saisirez la clé au premier lancement. FINANCE_DEMO_BUNDLE_ID et DEVELOPMENT_TEAM n'importent que pour les builds d'appareils signés.

  3. Ouvrez le projet et exécutez-le (⌘R) sur un simulateur iOS 17+ :

    open MetabindFinanceDemo.xcodeproj
    
  4. Saisissez votre clé API Metabind sur l'écran de lancement et appuyez sur Démarrer. L'écran d'accueil se charge en demandant « Où est passé mon argent ce mois-ci ? ». Appuyez sur un suivi suggéré ou Demander n'importe quoi pour ouvrir la réponse suivante dans une feuille.

Pour la signature, Xcode Cloud, TestFlight et le fonctionnement de l'intégration, voir le README de l'application iOS.

Partie 3 — exécuter l'application Android

  1. Donnez à Gradle des identifiants pour GitHub Packages, soit comme variables d'environnement (GITHUB_ACTOR / GITHUB_TOKEN) soit dans ~/.gradle/gradle.properties :

    gpr.user=your-github-username
    gpr.key=your-github-token
    
  2. Créez la configuration locale gitignorée à partir de son modèle, et remplissez les mêmes identifiants de la Partie 1 :

    cd android
    cp local.properties.example local.properties
    
  3. Compilez, installez et lancez sur un appareil ou un émulateur (API 26+, avec le sandbox JavaScript WebView disponible — BindJS exécute le code des composants dans androidx.javascriptengine) :

    ./gradlew :app:installDebug
    adb shell am start -n ai.metabind.finance.demo/.MainActivity
    
  4. Saisissez votre clé API Metabind et appuyez sur Démarrer — le même flux de premier lancement que sur iOS.

Pour l'architecture Compose et les divergences délibérées par rapport à l'application iOS, voir le README de l'application Android.

Et ensuite

Licence

Apache 2.0. Voir LICENSE et NOTICE à la racine du dépôt ; apple/, android/ et mcp/ portent leurs propres copies car ils sont destinés à être copiés comme modèles de départ.