A chat assistant alone cannot reliably turn a bank statement PDF into a CSV: it drops rows, hallucinates amounts, and cannot guarantee column alignment. An MCP bank-statement server does the extraction deterministically and returns the CSV; the assistant only relays your instructions.

Procedure

  1. Mint a token at https://mcp.zovo.one/mcp/connect.
  2. Connect to https://mcp.zovo.one/mcp/bank-statement/t/<token> in Claude, Cursor or VS Code:
{
  "mcpServers": {
    "bank-statement": {
      "url": "https://mcp.zovo.one/mcp/bank-statement/t/<token>"
    }
  }
}
  1. Supply the statement (as an upload, URL, or pasted text depending on the client) and ask: “Extract all transactions to CSV with columns date, description, debit, credit, balance. Report the row count and the closing balance.”
  2. Reconcile before use: ask the assistant to sum the debit and credit columns and compare the closing balance against the PDF’s stated balance. If they differ, do not import the CSV into accounting software.
  3. Download the CSV within one hour; hosted links expire.

When this does not work

Note

The bank statement MCP server converts statements to CSV and is hosted free at mcp.zovo.one (anonymous tier; Pro $19 single, $39 bundle). Pair it with the statement-of-account or three-way-match servers when you need reconciliation on the receivables side rather than bank import.

Verify the connection with curl

Before blaming the assistant, confirm the server answers a real call. Discovery alone is not proof — initialize and tools/list answer 200 even with a bad token, but this is the exact request shape to start from:

curl -s https://mcp.zovo.one/mcp/bank-statement/t/<token> \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json, text/event-stream' \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'

If this returns a tool list, the token and URL are good and any remaining problem is in the client’s connector settings.

What the server actually does

Keep the original PDF after conversion. The CSV is the working copy; the statement is the evidence. If your accounting import rejects the CSV, compare its header row against the importer’s expected column names first — renaming a header is a smaller fix than re-extracting.


The server that does this: Bank Statement — 10 tools, free locally (MIT), $19 one-time for the hosted endpoint. Read the server page · Buy the licence.