Imports bank CSVs into a local ledger for categorisation, summaries, recurring-charge detection, reconciliation, and export.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent โ or use 1-click editor setup below.
We haven't yet run this listing's install command through our automated sandbox check. This isn't a red flag โ we're steadily working through the catalog.
๐ก Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
Inspect callable tools, capabilities, and parameters exposed to AI agents by Bank statement.
statement_importRead a bank CSV into the ledger. Detects the header row under any preamble, the date, description, amount (or debit and credit) and currency columns, the date order and the number locale. Reports what it detected, what it stored, how many lines were duplicates of what is already there, and every liโฆ
transactions_listList transactions in a date range, filtered by account, category or `uncategorized`, with totals per currency
transactions_searchFind transactions whose description, counterparty, category or account contains the query. Substring only, never a regex
category_rulesSet or list the rules that categorise transactions. An empty match is refused, because it would stamp one category on the whole ledger. A plain match is a case-insensitive substring; `regex: true` compiles the pattern only if it cannot backtrack exponentially, and `(a+)+` is refused and used as a sโฆ
transaction_categorizeSet the category on transactions by id. Nothing changes unless every id exists
statement_summaryMoney in, money out and the net for a range, grouped by category, month, account or counterparty, always per currency
The bank statement MCP server turns exported bank CSV files into a ledger stored on the local machine. It can locate a header beneath introductory text, identify date, description, amount or debit-and-credit, and currency columns, and interpret common date and number formats. Supported input handling includes UTF-8 and UTF-16 files, common line endings, quoted fields, mixed currencies, accounting parentheses, and trailing minus signs.
Imported debits become negative values and credits become positive values. Each transaction receives a duplicate-detection hash based on its date, amount, currency, description, and occurrence index. This means repeated identical transactions remain separate, while importing the same statement again does not add another copy.
Use statement_import to load a CSV and receive details about detected columns and formats, stored rows, duplicates, and skipped lines. A blank or dash amount is skipped instead of being treated as zero. If a date such as 03/04/2026 is ambiguous, the assumed order is reported.
After import, transactions_list reads a date range with optional account, category, or uncategorized filters. transactions_search performs substring matching across descriptions, counterparties, categories, and accounts; it does not interpret the query as a regular expression. statement_summary reports money in, money out, and net totals grouped by category, month, account, or counterparty, while keeping currencies separate.
The bank statement MCP server can apply categorisation rules or assign categories directly by transaction ID. Rules use case-insensitive substring matching by default. Regular expressions can be enabled, subject to a check that rejects patterns capable of exponential backtracking. recurring_detect identifies likely subscriptions and recurring charges from counterparty, amount stability, and cadence. It reports the typical amount, cadence, next expected date, and annualised cost; annualisation remains unconfirmed until three charges establish an interval.
Three supported paths are available. A hosted streamable-HTTP endpoint accepts a bearer token, or the token can be included in the URL path for clients that cannot set headers. The bare hosted endpoint requires authentication for tool calls. For local use, download the .mcpb bundle and open it in Claude Desktop, or clone the source, install dependencies, and build it before pointing an MCP client at dist/index.js.
The repository states that the npm package is not yet published, so an npx configuration will not work until publication. Claude Desktop, Claude Code, and Cursor are named client options. Pro mode can be enabled by setting MCP_LICENSE_KEY in the client configuration or by calling license_activate; license_status reports the current mode.
mcp-expense-tracker using currency, amount, and a date window. The expense ledger is read-only to this tool.bank://month resource for the current month's per-currency totals and the monthly_review prompt for a month-end review flow.The bank statement MCP server keeps its ledger in plain JSON files on the local machine, according to the provided documentation. Free mode limits accounts to two, read-back history to 12 months, and category rules to five. Free reconciliation is limited to 31 days at a time, while recurring detection covers the last three months and five charges. Pro mode removes those stated account, history, and rule limits and permits broader reconciliation and recurring-charge analysis.
The source mirror includes profiles for Revolut, Wise, mBank, PKO BP, ING, and N26, plus a generic header-based reader. Reconciliation depends on the separate mcp-expense-tracker ledger being available. The hosted option requires a token; local source builds do not require the npm package to be published.
Factual signals from GitHub, npm, and our automated checks โ not a rating.
No reviews yet โ be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/bank-statement)<a href="https://allmcps.com/mcp/bank-statement"><img src="https://allmcps.com/api/badge/bank-statement?style=directory" alt="Bank statement on AllMCPs" /></a>