bunq-private-account-mcp
Read-only access to a personal bunq account: lists monetary accounts and balances, recent transactions, sent and received payment requests, automatic payment allocation rules, and top counterparties. No payment creation or other write operations are exposed.
This server does not currently have a deployable release on Glama. Follow the repository's setup instructions to install and configure it for your MCP client, including any required credentials and local dependencies.
bunq-private-account-mcp
An MCP server for your personal bunq account. It lets an AI assistant read your accounts and transactions and prepare draft payments. It cannot send money: every draft waits until you accept or reject it in the bunq app.
Disclaimer. This is unofficial software, provided free of charge and "as is", without warranty of any kind and without support. It is not affiliated with, endorsed by or supported by bunq B.V. You use it entirely at your own risk, including any draft payment you accept. To the fullest extent permitted by applicable law, datadefend GmbH, its managing directors and all contributors accept no liability for any damage or loss arising from its use. There is no support, no maintenance commitment and no guaranteed response to issues. See also the LICENSE.
Published by datadefend. Based on the community
bunq-mcp by Wilco Kruijer (commit 500be7d), with security
changes on top. Commits up to 4e6a78a are the original code; git diff 4e6a78a shows every change made
here.
What it can do
Tool | What it does |
| Lists your monetary accounts and balances |
| Returns recent payments on an account |
| Returns payment requests you sent or received |
| Returns automatic payment allocation rules |
| Returns the people and companies you pay most |
| Prepares one draft payment in EUR to an IBAN, for you to accept in the bunq app |
The server can send exactly two kinds of request to bunq: reads, and the creation of a draft payment. It has no tool and no code path that executes a payment, creates a payment request or changes your account.
Related MCP server: Monarch Money MCP Server
Draft payments
Nothing moves without you. bunq holds every draft until you accept it in the app.
IBAN only, EUR only. The IBAN checksum is verified before a draft is created. Email and phone recipients are not supported.
Your own accounts only. The source account must be one of your bunq accounts.
One payment per draft. No schedules and no recurring drafts.
Optional cap. Set
BUNQ_DRAFT_MAX_AMOUNT, for example500, to refuse drafts above that amount.Check the IBAN in the app. The app shows the recipient name the assistant entered, not a verified account holder name. Before you accept, compare the IBAN with what you expect.
Watch for instructions in your data. Anyone can put text in a payment description by sending you a small amount. If the assistant proposes a draft you did not ask for, reject it.
Setup
Node.js 20 or later.
Create a bunq OAuth client in the bunq app under developer settings. Set the redirect URL to exactly
http://127.0.0.1:8788/callbackand note the client ID and client secret.Start the server from any folder other than a clone of this repository. The first run creates your signing keys (see below).
npx @datadefend/bunq-private-account-mcp --mcpPass the OAuth client through the
BUNQ_CLIENT_IDandBUNQ_CLIENT_SECRETenvironment variables. The--bunq-client-idand--bunq-client-secretflags work too, but they end up in your shell history.Connect your MCP client through
mcp-remote, always with127.0.0.1rather thanlocalhost:{ "mcpServers": { "bunq": { "command": "npx", "args": ["mcp-remote", "http://127.0.0.1:8788/sse"] } } }The first connection opens your browser for the bunq approval.
Keys. On first run the server creates an RSA key pair for signing bunq requests and a cookie secret in
%APPDATA%\bunq-private-account-mcp on Windows, or ~/.config/bunq-private-account-mcp on Linux and
macOS. It refuses to start without them. To rotate them, delete the folder and start again, or run
--generate-keys.
Token. The bunq OAuth token is held in memory only and never written to disk. After every restart your MCP client has to authorize again.
Do not deploy it to Cloudflare or keep a dist/ folder from npm run build: a build embeds the client
secret and keys.
Good to know
Everything the tools return goes to your AI model provider. That includes names and IBANs of the people you pay.
Keep your MCP client set to ask before each tool call.
The server binds to
127.0.0.1only and refuses any other host.When you stop using it, revoke the OAuth client in the bunq app and remove the old "Bunq MCP Integration" devices.
Changes against the original
No real payments.
createPaymentandcreatePaymentRequestare removed with the API methods behind them. The request layer rejects every write except the draft-payment endpoint.Safer drafts.
createDraftPaymentnow accepts EUR and IBAN only, verifies the IBAN checksum and the source account, drops schedules and supports a maximum amount.API-key mode removed. OAuth is the only way in, and the server refuses to start without an OAuth client ID and secret. The Docker setup, which was API-key only, is gone too.
No local state. Local persistence is off, so the OAuth token never reaches
.wrangler/state.Per-user keys. The bundled signing key and cookie secret are removed. Each user's keys are generated outside the package, so an update cannot replace them.
No info page.
/returns 404 instead of showing the client ID, cookie secret and account name.Less logging. Request and response bodies are no longer logged.
Loopback only. The server binds to
127.0.0.1, and the--hostoption is gone.Smaller dependency tree. Unused dependencies are removed.
Security
If you find a vulnerability, you can report it privately as described in SECURITY.md.
License
MIT, provided "as is" without warranty. See LICENSE.
This server cannot be deployed
Maintenance
Related MCP Connectors
Read-only finance MCP server. Connects your banks, cards, payment apps, books and payroll into one ledger for your AI. Can't move money. Open source (AGPL-3.0), free during beta.
An MCP server that provides read access to your cloud storage providers, bank accounts and more.
Read-only personal finance for AI agents: budgets, receipts, net worth, bills. OAuth 2.1.
Ask your AI about your own accounts, debts, budgets and goals. OAuth sign-in, read-only by default.
Related MCP Servers
- FlicenseAqualityDmaintenanceRead-only MCP server for accessing personal finance data from Ogarni.AI, including receipts, categories, summaries, notifications, and more.20-
- AlicenseAqualityDmaintenanceRead-only MCP and HTTP proxy server for accessing Monarch Money financial data, enabling transaction analysis, budget tracking, and cashflow insights through natural language.6MIT
- AlicenseAqualityDmaintenanceRead-only MCP server for accessing Wallet by BudgetBakers financial data, allowing users to query accounts, transactions, categories, budgets, and more via natural language.10MIT
- AlicenseAqualityBmaintenanceA read-only MCP server for Trading 212 accounts, enabling AI assistants to query balances, positions, orders, dividends, pies, and instruments without trading capabilities.121MIT