The four paths, in one minute
Every AI money question runs into the same wall: the model can't see your bank account. Claude, ChatGPT, Cursor, and the rest are already good at analyzing transactions once they have them. Getting the data in front of the model is the whole problem.
There are four ways to do it. You can hand the agent files, let it drive a browser through your online banking, build against bank APIs yourself, or point it at a hosted MCP server that does the fetching for you.
Each one trades freshness, safety, and setup time differently. None of them is wrong in every situation, including the boring first one.
Path one: manual CSV and PDF uploads
The oldest method still works. Download a CSV or PDF statement from your bank's website, drop it into a chat, and ask questions.
Here's my January statement. What did I spend on restaurants, and which charges look like subscriptions?
For a one-off question about a closed period, this is fine. Tax prep on last year's statements, a dispute about one month, a quick look at an account you rarely touch. The data isn't changing anymore, so staleness doesn't matter.
It falls apart as a habit. Statements go stale the moment you export them, every bank formats exports differently, PDFs mangle table extraction, and a full year of transactions can blow past the model's context window. You also end up with files full of account numbers sitting in your Downloads folder. Fine occasionally. Miserable weekly.
Path two: screen scraping and browser automation
Screen scraping means the agent, or a service acting on its behalf, logs into your online banking with your real username and password and reads what's on the screen. Browser-automation agents make this look easy: paste in your credentials, let the model click around.
Don't. Your banking password is the master key to moving your money, and this path hands it to software that can also click Transfer. Most banks' terms prohibit sharing credentials at all, which can shift fraud liability onto you if something goes wrong. And it breaks constantly: MFA prompts, CAPTCHA walls, and any redesign of the bank's website kill the automation until somebody notices and fixes it.
This is how early fintech worked around 2010, because nothing better existed. Better things exist now.
Path three: direct bank APIs
Banks increasingly expose official APIs, standardized as FDX in the US and required by open banking rules like PSD2 in Europe. Access is tokenized, scoped, and revocable. Your password never leaves the bank. This is genuinely the right foundation, and the two paths below the surface of most modern finance apps are built on it.
The catch is who gets to use it. Direct API access is designed for companies: developer agreements, security reviews, sometimes per-bank onboarding that takes months. If you bank at three institutions, that's three integrations with three sets of quirks. Aggregators exist to solve exactly this. They maintain the bank connections so app developers don't have to, and nearly every finance app you've used sits on one.
For an individual who just wants their agent to answer money questions, building on this yourself means weeks of work before the first useful answer, plus you're now the on-call engineer for your own bank feed.
Path four: a hosted MCP server
MCP (Model Context Protocol) is the open standard that lets AI apps call external tools. A bank-data MCP server gives your agent a small set of typed, read-only tools instead of raw files or a browser session. The agent asks for what it needs, gets structured data back, and reasons over it.
BankBridge is our version of this. You connect a bank once through the official bank-connection layer (your credentials go to your bank, never to us or to your agent), and from then on your agent has 11 tools: list_accounts, search_transactions, get_recurring_charges, get_monthly_cashflow, list_holdings, and so on. Every call fetches live data from the bank. Nothing is cached on our servers, so there's no stored copy of your finances to worry about.
What's my checking balance right now, and which recurring charges hit this month?
That question, answered against live data in any MCP host, is the whole point. It works in Claude Desktop, Claude Code, ChatGPT, Cursor, Gemini, Zed, and about two dozen other apps we've documented. Setup takes a couple of minutes, auth is a bearer key or OAuth 2.1, and it's $5 a month per connected bank. Cancel anytime.
Side by side: freshness, safety, setup, what breaks
Freshness. Uploads are stale the moment you export them. Scraping is live until it isn't. Direct APIs and MCP servers are live by design. BankBridge fetches from the bank on every question, so "what's my balance" means right now, not as of your last export.
Safety. Uploads are reasonably safe, but statement files pile up on disk. Scraping is the worst option: full credentials, full write access, terms violations. Direct APIs and hosted MCP servers use tokenized, revocable, read-only access. BankBridge has no tools that move money, so the worst a confused agent can do is ask a weird question, not send a weird transfer.
Setup time. Uploads cost nothing up front, then ten minutes of export-and-clean every single session, forever. Scraping takes an afternoon to rig and indefinite time to babysit. Direct APIs take weeks to months if you build them yourself. A hosted MCP server takes a couple of minutes, once per bank.
What breaks. Uploads break on format quirks and context limits. Scraping breaks on MFA, CAPTCHAs, and redesigns. A DIY API integration breaks whenever a bank changes something, and now it's your pager. A hosted server mostly breaks in one predictable place: the bank connection needs a quick re-auth after you change your banking password, which is a two-minute fix.
Which one should you use?
If you've got one question about one closed month, upload the statement and ask. No shame in it. We compared BankBridge against manual CSV exports head to head, and the conclusion isn't "never upload."
Don't give any agent your banking password. Not for a demo, not once.
If you're building a fintech product with a compliance budget, go direct to the bank APIs or the aggregator layer underneath them. That's what they're built for.
And if you're a person who wants ongoing answers from an agent you already use, the hosted MCP path is the one that holds up. Connect once, then ask whatever comes to mind, whenever it comes to mind:
Did my internet bill go up this year? Pull every charge from my ISP since January and compare.