mbank-parser-mcp
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@mbank-parser-mcpShow me all card payments over 500 PLN in Q2."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
mbank-parser-mcp
Local MCP server that parses mBank CSV operation exports — the exact file you can download from the mBank web app under "Historia" → "Eksportuj do CSV". Runs entirely offline. Nothing leaves your machine.
Part of the honest-mcp family of small, auditable, local-first MCP servers.
Why
Anyone using mBank in Poland — private, JDG, sp. z o.o. — does the same monthly ritual:
Log into mBank, download the CSV.
Open in Excel, squint at Polish-locale amounts (space-thousands, comma-decimals,
PLNsuffix).Filter by date, sum by category for VAT / income tax reconciliation.
This server automates step 2 and 3 through your AI. You keep your bank data on disk; the AI just calls a tool that reads and filters it locally.
Zero network calls. The requirements.txt is one line — the MCP SDK. No dependency footprint to audit.
Related MCP server: MCP Finance Assistant
Features
Three tools:
read_statement_header— quick preview of a file: client name, date range, listed accounts, inflow/outflow totals, operation count. No operation rows loaded.list_operations— parse + filter operations. Combine any of:date_from,date_to,category,account,contains(description substring),min_amount,max_amount,limit.summarize_operations— aggregate bycategory,account, ormonth. Returns count, inflow, outflow, net per bucket plus grand totals.
Amounts come back as signed floats (negative = expense), currency separate. Polish-locale numbers (-3 283,33 PLN) and non-breaking-space thousand separators are handled.
Supported files
✅ CSV export from mBank web banking ("Historia operacji" → "Eksportuj do CSV")
❌ PDF statements — mBank's layout varies too much per statement type for reliable parsing. Skipped intentionally.
Requirements
Python 3.10+
Setup
git clone https://github.com/bartosz-kuc/mbank-parser-mcp.git
cd mbank-parser-mcp
python3 -m venv venv
./venv/bin/pip install -r requirements.txtRegister with Claude Code:
claude mcp add mbank /absolute/path/to/venv/bin/python /absolute/path/to/server.pyClaude Desktop claude_desktop_config.json:
{
"mcpServers": {
"mbank": {
"command": "/absolute/path/to/venv/bin/python",
"args": ["/absolute/path/to/server.py"]
}
}
}Example usage
"How much did I spend on 'Ubezpieczenia' in Q2?"
summarize_operations(file_path=".../lista_operacji.csv", group_by="category", date_from="2026-04-01", date_to="2026-06-30") → totals per category, including "Ubezpieczenia".
"List all incoming transfers over 10 000 PLN this year."
list_operations(file_path=".../lista_operacji.csv", min_amount=10000, date_from="2026-01-01")
"Show me every card purchase mentioning Anthropic."
list_operations(file_path=".../lista_operacji.csv", contains="ANTHROPIC")
Data flow
Your AI client
↕ MCP stdio
This server (Python, on your machine)
↕ local filesystem
Your mBank CSVNo HTTP, no external service — the server has no requests or httpx dependency at all.
Author
Bartosz Kuć — Warsaw-based developer, JDG owner running skanfirmy.pl.
GitHub: https://github.com/bartosz-kuc
Email: firma@bartosza.pl
Consulting
Available for consulting on Polish tax and business integrations (KSeF, GUS/NFZ/GIOŚ APIs, mBank data), MCP server design, and AI-assisted tooling for JDGs and small teams. See skanfirmy.pl/uslugi for productized packages (audit 3k PLN, setup 8-15k PLN, retainer 2-4k PLN/mo), or reach out via email.
License
MIT — see LICENSE.
Related
Part of the honest-mcp family — see the family index.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- Flicense-qualityDmaintenanceParse and query investment statements from multiple institutions (Questrade, Interactive Brokers, Scotia) using natural language or structured queries. Supports semantic search for dividends, holdings, transactions, and account balances with hybrid SQLite and vector database storage.
- Flicense-qualityDmaintenanceConnects Notion databases with LLMs to manage and analyze personal finances through natural language queries and bank statement uploads.1
- Alicense-qualityDmaintenanceEnables querying Up Bank account transactions and spending habits through natural language, using the Up Bank API in read-only mode.188Do What The F*ck You Want To Public
- FlicenseBqualityDmaintenanceEnables natural language financial management for self-hosted Maybe Finance instances, including account queries, transaction CRUD, CSV import, intelligent categorization, cash flow analysis, and forecasting.181
Related MCP Connectors
Deterministic bank-statement parsing: messy CSV/OFX to clean categorized rows. In-memory only.
Personal finance by conversation: expenses, receipts, statement import, budgets, net worth.
Convert PDF bank statements into structured transactions, accounts, and balances.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/bartosz-kuc/mbank-parser-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server