Skip to content
MCPSTAMP

Spend reportHosted URL

Bank Statement

Import a bank CSV, categorise it and find the subscriptions.

Free tier needs no key. See the exact limits.

What you get

Recurring charges, mBank CSV

Last 3 months

Table
ChargeEveryPLN
Software planmonth49.00
Software planmonth89.00
Software planmonth120.00
A month258.00
Example from "Find forgotten subscriptions". Invented names, real math from the tools.

Drop in the CSV export from your bank. It reads Revolut, Wise, mBank, PKO, ING, N26 and generic formats, sorts transactions into categories, summarises spend per currency, finds recurring charges and matches the statement against your expense log. With the local install, the data never leaves your machine.

Made for Freelancers, Small business owners, Bookkeepers

3 requests, start to finish

Example chats. Each one uses real tools of this server, named as they run. The people and firms are made up.

Example done on the free tier. Doing this every week? Pro removes the limit for $19, once. Free vs Pro

  1. Example 1 · Freelance developer in Gdansk with an mBank accountFind forgotten subscriptions

    Import my mBank CSV for the last 3 months and list every recurring charge.
    • statement_import Reads the mBank export
    • recurring_detect Groups charges that repeat each month

    A list of recurring charges with amount and cadence, for example 3 software plans at PLN 49, PLN 89 and PLN 120 a month.

    Saves about 30 min (our estimate)

  2. Example 2 · UK consultant with a Wise account in GBP and EURMonth-end summary for two currencies

    Import my Wise statement, put Tesco and Sainsbury's under groceries, and summarise October by category.
    • statement_import Reads the Wise CSV
    • category_rules Adds rules for the two merchants
    • statement_summary Totals October by category per currency

    October spend by category, with GBP and EUR kept apart, never mixed into one total.

    Saves about 25 min (our estimate)

  3. Example 3 · Bookkeeper for a Lisbon caféTie the bank to the expense log

    Reconcile October's bank lines against the expense ledger. What's missing?
    • reconcile_expenses Matches bank lines to logged expenses
    • transactions_list Lists the lines with no match

    Matched pairs, plus bank lines with no expense and expenses with no bank line.

    Saves about 40 min (our estimate)

Free and Pro, line by line

The free column is yours with no key. The Pro column costs $19 once, or comes with the $39 bundle.

Free

$0 no key

Pro

$19 once, lifetime

2 accounts
Unlimited accounts and rules
Last 12 months of history
Full history
5 category rules
Reconcile any date range
Reconcile 31 days at a time
Every recurring charge over full history
Recurring charges: last 3 months, 5 charges
statement_export

Saw a message that says the free tier allows a set number per month? That's the limit Pro removes. Paste the key where the token goes, or set MCP_LICENSE_KEY.

Or Pro on all 49 paid servers for $39 once. Get the bundle

Limits read from the code: servers/bank-statement/src/index.ts:25-35 (FREE_ACCOUNTS, FREE_WINDOW_MONTHS, FREE_RULES, FREE_RECONCILE_DAYS, FREE_RECURRING_*), :730 (statement_export)

Install

Works with Claude, Cursor, VS Code and other MCP clients. The hosted URL needs no install at all.

npm @theluckystrike/mcp-bank-statement

  1. Get a free token. It lasts 30 days and allows 600 calls per hour. Or open the connect page for a ready URL.
  2. Paste the URL with your token as a custom connector in your MCP client.

1. Free token

curl -s -X POST https://mcp.zovo.one/mcp/token

2. Connector URL (replace <token>)

https://mcp.zovo.one/mcp/bank-statement/t/<token>

Download the .mcpb bundle and open it. Claude Desktop installs it in one click.

Download bank-statement.mcpb

Add this to your MCP client config (Claude Desktop, Cursor, VS Code). Needs Node.js.

{
  "mcpServers": {
    "bank-statement": {
      "command": "npx",
      "args": [
        "-y",
        "@theluckystrike/mcp-bank-statement"
      ]
    }
  }
}

One command in your terminal.

claude mcp add --transport http bank-statement https://mcp.zovo.one/mcp/bank-statement/t/<token>

# or run it locally
claude mcp add bank-statement -- npx -y @theluckystrike/mcp-bank-statement

Jobs this server does

All tools (10)

ToolWhat it does
accounts_listList the imported accounts: bank, currencies, transaction count, first and last date, and the closing balance when the file carried one.
category_rulesRead the category rules, or pass rules to REPLACE the whole list.
reconcile_expensesMatch bank debits against mcp-expense-tracker entries: same currency and amount, date within a few days.
recurring_detectFind charges that come back: debits grouped by counterparty and currency with a steady amount and interval, with cadence, typical amount, next due date and annual cost.
statement_exportCall this tool to write BANK transactions of a date range to a .csv or .json file and return the path.
statement_importCall this tool to read a bank CSV into the local ledger.
statement_summaryWhat was spent/received in a date range per the BANK ACCOUNT, grouped by category, month, account or counterparty.
transaction_categorizeSet or clear the category on transactions by id, for a one-off no rule is worth writing for.
transactions_listList stored transactions in a date range, optionally for one account or category, or only the ones no rule has categorised yet.
transactions_searchFind transactions whose description, counterparty, category or account contains the query.

Questions

Does it connect to my bank?
No. You export a CSV from your bank and import the file. There's no bank login.
Which banks are supported?
Profiles for Revolut, Wise, mBank, PKO, ING and N26, plus a generic mode that reads the column headers.

More in Bookkeeping

Bank Statement Pro, $19 once

Buy Pro