How-to

Check Your Bank Balance Without Leaving Your Code Editor

6 min read
To check your bank balance in Cursor, add BankBridge as an MCP server in ~/.cursor/mcp.json, paste your bbk_ API key as a bearer token, and ask the chat panel what's in checking. The same server works in Windsurf (mcp_config.json) and Zed (settings.json). Every answer is fetched live from your bank, read-only, $5 a month per connected bank.

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.

FAQ

Can Cursor check my bank balance?

Yes. Add BankBridge as an MCP server in ~/.cursor/mcp.json with your API key as a bearer token, then ask Cursor's agent for your checking balance. Cursor calls the list_accounts tool and BankBridge fetches the number live from your bank, read-only.

Do Windsurf and Zed support MCP bank data too?

Yes. Windsurf reads MCP servers from ~/.codeium/windsurf/mcp_config.json, and Zed configures them under context_servers in settings.json. Both connect to the same hosted BankBridge server as Cursor, so one account and one API key cover all three editors.

Is it safe to connect a bank account to a code editor?

The editor never sees your banking credentials. You sign in with your bank through a secure connection flow, and the editor only holds a revocable BankBridge API key. Every tool is read-only, so no agent can move money, and you can rotate or revoke the key anytime.

Does BankBridge store or cache my balance?

No. BankBridge fetches data live from your bank at the moment your editor asks and passes it straight through. Nothing is cached or stored on BankBridge servers, so there's no stale copy of your finances sitting around after the conversation ends.

How much does it cost?

BankBridge is $5 per month per connected bank, and you can cancel anytime. One connected bank works across every MCP host you use, including Cursor, Windsurf, Zed, Claude Code, and ChatGPT, so you never pay per editor.

What if my editor says the server failed to connect?

Check three things: the server URL matches your dashboard exactly, the Authorization header reads Bearer followed by your bbk_ key with a space between them, and the JSON is valid. Then restart the editor, since most hosts only reload MCP config on launch.