Why check your balance in an editor at all
You're mid-session, about to renew a domain or bump a server plan, and you want to know whether checking can absorb it. The old flow: unlock your phone, open the banking app, wait through the login, find the right account, squint at the number. The new flow: ask the agent that's already open.
Cursor, Windsurf, and Zed all speak the Model Context Protocol, which means all three can talk to BankBridge, a hosted MCP server that gives your agent read-only access to your live bank data. One config entry and "what's my checking balance" becomes a question your editor can answer.
This guide covers the exact config file for each of the three editors, then a handful of prompts worth trying once you're connected.
What you need first
Three things, and all of them together take about five minutes: a BankBridge account, at least one connected bank ($5 a month per bank, cancel anytime), and an API key. Keys start with bbk_ and work as bearer tokens. BankBridge also supports OAuth 2.1 for hosts that prefer a browser sign-in flow, but for code editors the key is the simpler path.
Connect your bank from the dashboard at bankbridge.money. You sign in with your bank through the bank-connection layer directly, so BankBridge never sees your banking password, and neither does your editor. Once the connection shows as active, generate a key and keep it handy for the next step.
Cursor
Cursor reads MCP servers from a JSON file. For all your projects, that's ~/.cursor/mcp.json in your home directory. For a single project, create .cursor/mcp.json in the project root instead, which is handy if you only want bank access inside, say, your bookkeeping repo.
Inside the mcpServers object, add an entry named bankbridge with two fields: the server URL from your BankBridge dashboard, and a headers object carrying Authorization: Bearer followed by your bbk_ key. The copy-paste snippet lives on our Cursor docs page at /docs/cursor. Save the file, open Cursor's settings, find the MCP section, and confirm bankbridge shows up with a green status dot and its list of tools.
Then open the chat panel in Agent mode and ask.
What's my checking account balance right now?
Cursor calls list_accounts, BankBridge fetches the balance live from your bank, and the answer comes back as a sentence instead of a screen of banking UI. The first time, Cursor will ask you to approve the tool call; you can allow it for the rest of the session.
Windsurf
Windsurf keeps its MCP config at ~/.codeium/windsurf/mcp_config.json. You can edit the file directly, or get there through the UI: open Windsurf's settings, head to the Cascade section, and click the MCP servers option, which opens the same file.
The shape is nearly identical to Cursor's. Add a bankbridge entry under mcpServers with the server URL (Windsurf calls this field serverUrl) and the same Authorization header. The exact snippet for the Windsurf version you're running is at /docs/windsurf.
Reload Windsurf, open Cascade, and try it.
How much is in my checking account?
Cascade surfaces the tool call for approval the first time, then answers with the live number.
Zed
Zed doesn't use a separate MCP file. Servers live in your main settings.json, which you can open with the zed: open settings command. Add a context_servers object at the top level, or extend it if you already have one, with a bankbridge entry.
Depending on your Zed version, you'll either point it at the BankBridge URL directly or run it through a small bridge command that forwards to the hosted server. The /docs/zed page keeps both variants current with a note on which versions need which. Either way, your bbk_ key goes in as a bearer token, same as the other two editors.
Once Zed picks up the change, open the Agent Panel and ask the same balance question. Zed lists each server's tools in the panel settings, so you can verify all eleven BankBridge tools made it in before you prompt.
Prompts that work once you're connected
The balance question is the gateway. Once it works, the same connection answers most everyday money questions without leaving the editor.
What's my checking balance, and how much of it is already spoken for by recurring charges this month?
Compare what's in checking now to this point last month.
How much have I spent at AWS in the last 90 days?
Under the hood those hit different tools (get_recurring_charges, get_monthly_cashflow, get_merchant_history), but you don't need to know that. Ask in plain English and the agent picks the right tool. If you want more ideas, our guide on prompt patterns for financial questions has a running list.
Which editors can query live bank data
For the record, since this is the question people search for: Cursor, Windsurf, and Zed can all query live bank data, because all three are MCP hosts and BankBridge is an MCP server. So can Claude Code, Claude Desktop, ChatGPT, Gemini CLI, Codex, and a couple dozen others. We document 29 host integrations, each with its own setup page under /docs.
The config format differs per host, but the server behind it is the same one. A single BankBridge account, and a single bbk_ key if you like, works across every editor you use. Switch editors next month and your bank connection comes with you. It's a five-line config change, not a migration.
What the editor can and can't do
Every BankBridge tool is read-only. There's no transfer tool, no payment tool, nothing that moves money. The worst a misfiring agent can do is read your balance twice.
Nothing gets cached on our servers either. When Cursor asks for your balance, BankBridge fetches it from your bank at that moment and passes it straight through. Close the editor and there's no copy of your finances sitting anywhere, waiting to go stale or leak.
The API key is the one thing to protect. Treat it like any other secret: a global ~/.cursor/mcp.json stays out of your repos by default, but a project-level .cursor/mcp.json needs a .gitignore line. If a key ever ends up somewhere public, rotate it from the dashboard; the old one dies instantly and your bank connection carries over to the new one.