Convert bank statements from your AI assistant
The BankConv MCP server lets Claude, Cursor, VS Code and other AI assistants convert PDF bank statements. Point the assistant at a PDF on your computer and it returns the transactions, with signed amounts and real dates, or saves a CSV, OFX, QFX, QBO or Xero CSV file next to the PDF. It needs a BankConv API key and runs with one command.
npm: bankconv-mcpSource: GitHub (MIT)
Set it up
- Sign in to BankConv and create an API key under Team → API keys. The full key is shown once, so copy it.
- Add the server to your assistant with the key, using the snippet for your app below.
- Restart the app if it asks, then ask it to convert a statement.
Claude Code
claude mcp add bankconv -e BANKCONV_API_KEY=sk_live_your_api_key -- npx -y bankconv-mcpClaude Desktop
Open Settings, then Developer, then Edit Config, and add this to claude_desktop_config.json:
{
"mcpServers": {
"bankconv": {
"command": "npx",
"args": ["-y", "bankconv-mcp"],
"env": { "BANKCONV_API_KEY": "sk_live_your_api_key" }
}
}
}Cursor, Windsurf and other apps
Use the same command, args and env in the app's MCP settings. In Cursor that is ~/.cursor/mcp.json.
VS Code
Add this to .vscode/mcp.json in your project, or to your user MCP settings:
{
"servers": {
"bankconv": {
"command": "npx",
"args": ["-y", "bankconv-mcp"],
"env": { "BANKCONV_API_KEY": "sk_live_your_api_key" }
}
}
}The server needs Node.js 20 or later. npx downloads it the first time it runs.
Tools
The assistant picks the tool from what you ask. You don't call them by name.
| Tool | What it does |
|---|---|
convert_statement | Converts a PDF on your computer. Returns the transactions, or saves CSV, OFX, QFX, QBO or Xero CSV next to the PDF (or where you say). Takes the PDF password if there is one. |
get_transactions | Gets the transactions of an earlier conversion. |
download_statement | Saves an earlier conversion as CSV, OFX, QFX, QBO or Xero CSV. |
list_conversions | Lists your recent conversions with their status. |
get_credits | Shows how many pages your account has left this period. |
What the assistant gets back
For transactions, the server returns a short summary, then every row as JSON. Opening balances and total lines are left out, money in is positive and money out is negative, and dates are full ISO dates even when the statement prints only day and month. This is the reply for our sample statement (sample data, Harbor & Pine Bank, Sep 1 – Sep 30, 2026):
10 transactions from 2026-09-01 to 2026-09-30 in USD.
Account: Harbor & Pine Bank · checking · XXXX4821.
Money in 6810.70, money out -7432.19.{
"institution": "Harbor & Pine Bank",
"country": "US",
"account_type": "checking",
"currency": "USD",
"period": {
"start": "2026-09-01",
"end": "2026-09-30"
},
"transaction_count": 10,
"transactions": [
{
"date": "2026-09-01",
"description": "Card purchase · Adobe Creative Cloud",
"reference": null,
"amount": "-59.99",
"balance": "8352.38"
},
{
"date": "2026-09-02",
"description": "Stripe transfer · ST-7Q2KX",
"reference": null,
"amount": "2486.50",
"balance": "10838.88"
},
{
"date": "2026-09-03",
"description": "ACH debit · Gusto payroll",
"reference": null,
"amount": "-4120.00",
"balance": "6718.88"
},
…
]
}For a file, the assistant gets back only where the file was saved, plus any warnings, such as a bank QuickBooks doesn't list. The same data is available without an assistant from the transactions endpoint of the API.
Which file for which software
| Ask for | Use it in |
|---|---|
| CSV | Excel, Google Sheets, QuickBooks Online and most other software. See bank statement to CSV. |
| OFX | Xero, MYOB, Sage and QuickBooks Online, with no column mapping. See OFX. |
| QFX | Quicken. See QFX. |
| QBO | QuickBooks Desktop (Web Connect), with your bank's QuickBooks ID. See QBO. |
| Xero CSV | Xero's own CSV columns, with dates in your bank's order. See Xero. |
Things to ask
- “Convert ~/Downloads/september.pdf and list my ten biggest expenses.”
- “Turn every PDF in ~/Statements/2026 into OFX files for Xero.”
- “Convert amex-march.pdf to QBO for QuickBooks Desktop. The PDF password is 4821.”
- “Total my spending by category from chase-sep.pdf and flag anything that looks like a subscription.”
- “Check that the transactions in this statement add up to the closing balance it prints.”
Asking for the transactions is the useful part: the assistant can then total, categorise, compare months or check the balance, which a spreadsheet would make you do by hand.
What it costs
The server is free. Conversions use your BankConv pages, the same as on the website: each PDF page uses one page. A free account's first statement converts free, up to 5 pages. After that you need a plan's monthly pages; see pricing. Ask the assistant “how many BankConv pages do I have left?” to check.
What leaves your computer
- To BankConv: only the PDFs you name, over HTTPS, with the password if you give one. The PDF and its converted files are deleted after 24 hours by default. See security and data handling.
- To your AI provider: what the assistant reads back. That means the transactions if you ask for them, or only the file path if you ask for a file. A password you type is part of the chat.
- On your disk: the files you asked for, and nothing else. The server reads only the files you name.
Your API key stays in your app's MCP settings and goes only to BankConv. You can revoke it under Team → API keys at any time.
MCP server questions
What is the BankConv MCP server?
A small program that lets an AI assistant use BankConv. MCP (Model Context Protocol) is the standard that Claude, Cursor, VS Code and other assistants use to call outside tools. With it, you can ask the assistant to convert a statement PDF and it uploads the file, waits for the conversion and returns the transactions or saves the file you asked for.
Which assistants does it work with?
Any app that runs local MCP servers: Claude Code, Claude Desktop, Cursor, VS Code, Windsurf and others. It runs on your computer with Node.js 20 or later, so it needs an app that can start a local program. Chat apps that only connect to remote servers on the web can't start it.
Do I need a paid plan?
Not to try it. A free BankConv account can create an API key, and its first statement converts free, up to 5 pages. After that, conversions use the monthly pages of a paid plan; one PDF page is one page of your allowance.
Does the AI see my bank transactions?
Only when you ask for them. If you ask for the transactions, the server hands the rows to the assistant, and they go to your AI provider under that app's terms, like anything else you paste into a chat. If you ask for a file (CSV, OFX, QFX, QBO or Xero CSV), the file is written to your disk and the assistant only gets back where it was saved.
Can it read password-protected or scanned statements?
Yes. Give the password in your request and the server sends it with the PDF. Scanned statements are read with OCR, as they are on the website.
Is it open source?
Yes, under the MIT licence. The code is on GitHub at https://github.com/wassim/bankconv-mcp. It is a thin wrapper around the public BankConv API, so it can do nothing your API key can't.