johannmachemer/Bank-Account-MCP-server
If you are the rightful owner of Bank-Account-MCP-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to dayong@mcphub.com.
The Bank Account ChatGPT App & MCP Server is a tool designed to explore mock bank-account data, providing insights into balances, transactions, cashflow trends, and category breakdowns without exposing real customer data.
Website
https://goat-tax-clarity.lovable.app/
Bank Account ChatGPT App & MCP Server
This repository packages a Model Context Protocol (MCP) server plus a set of ChatGPT widgets that let an AI assistant explore mock bank-account data (balances, transactions, cashflow trends, and category breakdowns). Use it to demo finance analytics and UI rendering without exposing real customer data.
Prerequisites
- Node.js >= 18
pnpm(see thepackageManagerfield)
Local Development
pnpm install
pnpm dev # runs the MCP server via ts-node (stdio)
Production / Distribution
pnpm install
pnpm build # compiles to dist/
pnpm start # runs dist/server.js with Node
Exposed Resources
| URI | Description |
|---|---|
bank-data://overview | Aggregated balances plus 30-day KPIs |
bank-data://accounts | Raw account metadata |
bank-data://transactions | Full transaction dump |
bank-data://transactions/{id} | Lazy-loaded transaction resource with autocomplete and resource listing |
Tools / Capabilities
search_transactions– free-form filters for accounts, categories, text, date, sorting, and limit. (Widget:ui://finance/transactions)spending_breakdown– income/expense totals per category (optionaltopCategories). (Widget:ui://finance/spending-breakdown)account_overview– account balances plus 30-day inflow/outflow (optionally a single account). (Widget:ui://finance/account-overview)cashflow_trends– monthly cashflow series (up to 12 months). (Widget:ui://finance/cashflow-trends)
Each tool responds with:
contentcontaining a short confirmationstructuredContentwith JSON payloads (seesrc/types/widgetPayloads.ts)_meta.openai/outputTemplateso ChatGPT can pick the matching widget automatically
ChatGPT Widgets & Assets
UI components live in widgets/ and are bundled with Vite. The build pipeline emits one HTML file per widget plus the JS/CSS bundles under assets/.
Build
pnpm run widgets:build # outputs assets/finance-*.html and bundles
Each generated HTML file already inlines CSS and JavaScript so ChatGPT never has to fetch external hosts. For a local preview you can serve them statically:
pnpm run widgets:serve # serve -s ./assets -l 4173 --cors
Note: The MCP server verifies at startup that all widget HTML files exist, so run
pnpm run widgets:buildbeforepnpm devorpnpm start.
Data Profiles
Two sample datasets are included:
personal– default personal accounts and transactionsbusiness– business accounts with payroll, tax reserves, etc.
Choose the active profile via DEFAULT_DATA_PROFILE in src/server.ts or override it with the BANK_DATA_PROFILE environment variable.
Notes
- All amounts are denominated in EUR; positive numbers are credits (inflows) and negatives are debits (outflows).
- The dataset is static and meant solely for showcasing filtering and analytics in a safe offline environment.