BankMCP™ MCP server
io.github.noskillish/bankmcp·v0.1.14·271 starsRead-only MCP server for your own bank accounts via Enable Banking. Self-hosted, one user.
271 stars735 downloads/wk
Reviews
Write oneNobody has reviewed BankMCP™ yet.
If you have run it, two minutes of your experience saves the next person an afternoon.
BankMCP™ tools (12, 2 write)
write = sends, deletes, buys or postsRead from the package source without running it. The installed server may list more.
check_watchesEvaluate every active watch right now (counts as an attended check, so it does not wait for the polling slot) and return what fired.
consent_statusWhich banks are connected, how many days each consent has left, and any bank logins that were started but not finished.
create_watchwrite actionWatch an account in the background and send a notification to the webhook the server's operator configured (NOTIFY_WEBHOOK_URL; Slack or any URL) when a rule fires. The destination cannot be chosen here. Accounts are checked at most … times a day, the limit PSD2 sets for unattended access. Rules: …
delete_watchwrite actionRemove a watch by id.
disconnect_bankRevoke a bank consent at Enable Banking and forget its accounts, labels and watches on this server.
get_balancesCurrent balances of one account. `booked` is the cleared balance (use this for net worth); `available` is what the bank says can be spent, which for credit and mortgage accounts includes the credit line.
get_transactionsTransactions of one account, newest first. Amounts are signed (negative = money out). Defaults to the last 30 days. Banks return limited history (often 90 days, some up to 2 years). If the result has `continuation`, pass it back to fetch more.
list_accountsAll linked accounts with bank, IBAN, currency and consent expiry. With include_balances the booked balance is fetched for each account (one bank call per account). Use the `booked` balance for totals; `available` may include credit lines.
list_banksBanks available through Enable Banking in a country, with the maximum consent length. Use the exact `name` with start_consent.
list_watchesAll watches with their rule, status and when they last fired.
set_account_labelGive an account a name you will recognise, e.g. 'Joint expenses' or 'Mortgage'. Labels can be used instead of uids in every other tool.
start_consentStart linking a bank. Returns a URL the account holder must open in a browser to log in at their bank and approve read-only access. After approval the bank redirects back to this server and the accounts appear in list_accounts. Consents last up to 180 days.
Public scan report
scanner v0.1.10 · 2026-10-03 · same rubric, same numbers if you re-run it
- Code scan22 source files scanned25/25
- –Live reliabilityno gateway calls yet and no remote to proben/a
- –Tool poisoningtools not inspected (local package is not executed); not countedn/a
- Auth qualitylocal package, no credentials required12/15
- Maintenancelast push 5 days ago15/15
- Maintainer identityregistry namespace matches repository owner6/10
How BankMCP™ compares
Against every graded Finance MCP server, from our own scans and uptime checks. Updated after each scan run.
- Safety score
- 89/100
- higher than 90% of 1,761 Finance servers
- Tools
- 12
- the typical Finance server has 8
- Tools that change things
- 17%
- typical: 0%. Fewer write tools means less an agent can break
- GitHub stars
- 271
- more than 95% of 946 Finance servers
- Downloads a week
- 735
- more than 95% of 421 Finance servers with a package
What its tools let an agent do: 8 read · 1 create · 1 change · 1 delete · 1 run or deploy
Install BankMCP™ in Claude Code, Cursor or VS Code
Runs npx -y bankmcp on your machine. Read the scan report first; the gateway never runs local packages.
claude mcp add bankmcp -- npx -y bankmcp
What the publisher says
From the BankMCP™ repository's README, as published. We do not edit it. Read it on GitHub
BankMCP™
Your AI now reads your bank. Ask it anything about your accounts. Read-only, self-hosted, one user. Standard MCP; tested with Claude and Ollama.
BankMCP™ is not a bank. It is a small open-source server you host yourself (npm package bankmcp). It connects to your banks through Enable Banking, which wraps 2,700+ European banks in one PSD2 API, and exposes them to any MCP client as a connector. Read-only, no payments, no third party holding your data.
"Has the invoice from Acme been paid?" · "What did we spend on groceries in
August?" · "Which subscriptions am I paying for, and what do they cost per
year?" · "Tell me when my balance drops below 5,000."
How it works
Your assistant ──OAuth──▶ your BankMCP™ server ──JWT──▶ Enable Banking ──PSD2──▶ your bankyour server as a connector. You sign in once with a password; tokens handle the rest.
- Your assistant (Claude, ChatGPT, Cursor, or any MCP client) talks to
and your account ids. It does not store balances or transactions and sends no telemetry.
- Your server holds the Enable Banking application key, the bank consents
bank. Every balance and transaction you ask for passes through their servers on the way to yours; they do not store it, and they do not see your bank credentials, since you log in at your bank's own site. This hop is how PSD2 works and is the one part of the chain that is not on your machine.
- Enable Banking is the licensed provider between your server and your
Setup
Two ways to run it. Both need a free Enable Banking account and about ten minutes.
desktop MCP clients. Nothing to deploy, no password.
- On your own machine for Claude Desktop, Claude Code, Cursor and other
- On a small server when you want it in claude.ai or on your phone.
On your own machine
The server and its state live on your computer, and no AI vendor or app maker sees your data. The bank connection is not on your computer: it goes through Enable Banking, as described above.
Requires Node 24 or newer. Add BankMCP™ to your client:
Claude Code:
claude mcp add bankmcp -- npx -y bankmcpClaude Desktop: download bankmcp.mcpb and open it; Claude Desktop installs it as an extension. Or add it by hand in claudedesktopconfig.json:
{ "mcpServers": { "bankmcp": { "command": "npx", "args": ["-y", "bankmcp"] } } }Cursor and others: the same command, npx -y bankmcp, as a stdio server.
Then ask your assistant anything about your bank. It will answer with a localhost address. Open it: the setup page lists the values to register an application at Enable Banking, then takes the application id and the key file. Your browser will warn once about the certificate on localhost, which the server made for itself because Enable Banking requires https for the bank redirect. Continue past it. Say "connect my bank" and log in at your bank.
To avoid the warning altogether, use a certificate your browser already trusts: mkcert makes one with mkcert localhost 127.0.0.1; point TLSCERTPATH and TLSKEYPATH at the two files and the server uses them instead of generating its own. BankMCP™ itself does not touch your system's trust store.
State lives in ~/.bankmcp. Delete the folder to forget everything.
On a server
1. Deploy
Any container host works. The server needs a persistent volume at /data and a public https address; it asks you for everything else in the browser. A prebuilt image is published on every release: ghcr.io/noskillish/bankmcp (built by GitHub Actions from the tagged source, linux/amd64 and linux/arm64).
Shortened. The full README is on GitHub.
Nothing above is checked by us. What we check is on the safety report.
BankMCP™: common questions
- Is BankMCP™ MCP server safe?
- Yes, by our scan: it is graded A (89/100). Read the BankMCP™ safety report
- How do I install BankMCP™?
- It runs on your machine. Copy the Claude Code, Cursor, VS Code or Claude Desktop config from the install section.
- Does BankMCP™ need an API key?
- Not as far as the registry entry and our scan can tell: no credentials are declared or required.
- Is BankMCP™ maintained?
- The last commit was 37 days ago (2026-09-28). The latest release is v0.1.14.
- What can I use instead of BankMCP™?
- Servers from other publishers that do the same job: T-Bank MCP server, Beancount.io MCP server and PayRam MCP server. Compare all BankMCP™ alternatives.
- How does BankMCP™ compare with other Finance MCP servers?
- safety score 89/100 (higher than 90% of 1,761 Finance servers); tools 12 (the typical Finance server has 8); tools that change things 17% (typical: 0%. Fewer write tools means less an agent can break). Full comparison.
Alternatives to BankMCP™
Same job from other publishers: the closest match first, then the best rated.
- T-Bank MCPT-Bank (Т-Банк) mobile banking: accounts, cards, transfers, bill pay, grocery, tickets, travelnot reviewedGrowingA
Beancount.ioQuery, edit, and reconcile a hosted Beancount ledger: BQL, reports, files, and bank imports.not reviewedEstablishedA
PayRamInstall, configure, operate and integrate self-hosted PayRam crypto payment gateways.not reviewedGrowingB- AdisCzech VAT-payer reliability (ADIS / nespolehlivý plátce DPH) + registered bank accounts by DIČ.not reviewedGrowingA
- T2000MCP server for AI agent bank accounts on Sui — 23 tools, 15 prompts, stdio transportnot reviewedGrowingA