Banorte One
Uses Supabase as its backend: Supabase Auth for email/password login, and Supabase tables (with Row Level Security) to model accounts, cards, transactions, and goals. A seeding script creates demo users and data via the Supabase service role key.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Banorte OneI'm traveling, update my dashboard for travel mode"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Banorte One
Prototipo de hackathon (HackMTY — Reto Banorte): una banca digital cuya interfaz se genera y reconfigura en tiempo real segun el contexto y la situacion del usuario, orquestada por un agente de IA sobre un MCP (Model Context Protocol).
"No importa quien eres solamente. Importa que estas haciendo ahora."
Como levantar el proyecto
pnpm install
cp .env.local.example .env.local # llena las variables de Supabase (ver abajo)
pnpm devAbre http://localhost:3000. El login usa Supabase Auth (email + password).
Variables de entorno
Ver .env.local.example. Necesitas, del panel de tu proyecto en
Supabase (Project Settings > API):
NEXT_PUBLIC_SUPABASE_URLNEXT_PUBLIC_SUPABASE_PUBLISHABLE_KEY(oNEXT_PUBLIC_SUPABASE_ANON_KEY)SUPABASE_SERVICE_ROLE_KEY— solo parascripts/seed-demo-users.mjs, nunca se usa en el navegador.
Crear las tablas y los usuarios demo
En Supabase, abre SQL Editor y corre el contenido de
supabase/schema.sql.Con
.env.localya lleno, corre:node scripts/seed-demo-users.mjsEsto crea (o actualiza) 5 usuarios demo en Supabase Auth y siembra sus cuentas, tarjetas, movimientos y metas en las tablas de
schema.sql. La contrasena demo por default esBanorteOne2026!para los 5 (cambiala conDEMO_PASSWORD=otra node scripts/seed-demo-users.mjs).Cliente demo
Email
Perfil
Valentina Cruz
Estudiante + emprendedora (Cafe Nomada)
Ana Torres
Estudiante
Carlos Mendoza
Padre de familia
Mariana Lopez
Profesionista
Roberto Salas
PyME (Ferreteria Salas)
Inicia sesion en la app con cualquiera de esos correos y la contrasena demo.
Nota importante: el agente/orquestador de este prototipo lee sus datos de
lib/demo-data/customers.ts (Demo Mode), no directamente de Supabase, para
que la demo en vivo no dependa de la red durante la presentacion. Las tablas
de Supabase son la capa de "produccion" ya modelada y lista (ver
docs/ARCHITECTURE.md, seccion Demo Mode vs Production Adapter). Dentro de
la app puedes cambiar de "Cliente demo" en la barra lateral para ver cualquiera
de los 5 perfiles sin tener que cerrar sesion.
Related MCP server: Rabobank Demo MCP Server
Estructura del proyecto — donde va cada cosa
banorte-one/
├── context/ # Context Engine (perfiles, situaciones, reglas)
│ ├── profiles/ # 1 JSON por tipo de cliente (student, parent, ...)
│ ├── situations/ # 1 JSON por "Modo Situacion" (traveling, saving, ...)
│ └── rules/ # personalization.json (resolucion de conflictos),
│ # security.json (permisos de tools)
├── lib/
│ ├── mcp/ # Las MCP tools (catalogo) + registry que las ejecuta
│ │ ├── types.ts
│ │ ├── tools.ts # <- agregar tools nuevas aqui
│ │ └── registry.ts
│ ├── agent/
│ │ └── orchestrator.ts # El agente unico: decide que tools llamar y arma el UI Schema
│ ├── components-registry/
│ │ ├── schema.ts # Tipos + validacion del UI Schema
│ │ └── registry.tsx # Mapa "type" string -> componente React real
│ └── demo-data/
│ └── customers.ts # Los 5 clientes demo (Demo Mode adapter)
├── components/
│ └── financial/ # <- LA BIBLIOTECA DE COMPONENTES vive aqui
│ ├── kpi-card.tsx, account-card.tsx, goal-progress.tsx, ...
│ └── mcp-activity-panel.tsx # Panel "MCP ACTIVITY" para la demo ante el jurado
├── app/
│ └── api/agent/route.ts # Endpoint que llama al orquestador
├── supabase/
│ └── schema.sql # Tablas + Row Level Security
├── scripts/
│ └── seed-demo-users.mjs # Crea usuarios + siembra datos en Supabase
└── docs/
├── ARCHITECTURE.md
├── MCP.md
├── SECURITY.md
└── DEMO.mdRegla para agregar un componente nuevo a la biblioteca: 1) crea el
componente en components/financial/, 2) registralo en
lib/components-registry/registry.tsx, 3) agrega su type a
ALLOWED_COMPONENT_TYPES en lib/mcp/tools.ts, 4) opcionalmente referencialo
desde context/situations/<alguna>.json para que el agente lo use.
Regla para agregar una situacion nueva ("Modo X"): crea
context/situations/mi_situacion.json con signals, priority,
preferred_components y next_best_actions, importala en
lib/mcp/tools.ts (SITUATIONS), y agrega su caso en
buildComponentsForSituation de lib/agent/orchestrator.ts.
Estado actual (11 componentes, 7 situaciones):
Componentes:
situation_banner,kpi,account_card,transaction_list(tabla real),goal_progress,spending_chart,comparison_chart(grafica de linea SVG, ahorro nominal vs poder adquisitivo real),alert,recommendation,exchange_rate,card_controls,business_summary.Situaciones:
traveling,paying,saving,low_balance,payday,purchase,inflation.Sin situacion detectada, el dashboard por defecto ya no es un layout fijo: se arma leyendo
default_componentsdel perfil del cliente encontext/profiles/<perfil>.json(verdocs/ARCHITECTURE.md).
Ver tambien docs/ARCHITECTURE.md, docs/MCP.md, docs/SECURITY.md y
docs/DEMO.md.
Related MCP Connectors
An AI concierge that turns static forms into adaptive AI conversations. From any MCP client.
Personal finance for AI agents — onboard, import statements, categorize & budget over MCP.
Connect AI agents to financial institution origination, analytics, and compliance workflows.
AI agents query normalized financial services data and run workflows via Milemarker MCP.
Related MCP Servers
- AlicenseAqualityDmaintenanceEnables AI agents to render interactive user interfaces such as forms, dashboards, charts, tables, and wizards directly in MCP-compatible clients. Supports structured data collection and richer interactions beyond text responses.6MIT
- FlicenseNot gradedqualityDmaintenanceDemonstrates how to expose approved internal banking tools to AI assistants via MCP, enabling secure lookups of account balances, customer names, branch details, and live exchange rate conversions.-
- FlicenseNot gradedqualityDmaintenanceA production-grade MCP server that exposes real-time banking data replicated via Oracle GoldenGate CDC as structured tools for AI agents, enabling read, score, and write operations on customer, account, transaction, and alert data.1-
- AlicenseNot gradedqualityAmaintenanceEnables AI agents to compose and edit dashboards through MCP tools, allowing them to manage tabs, widgets, layout, and data bindings via a unified control plane.9MIT