Skip to main content
Glama
bartosz-kuc

mbank-parser-mcp

by bartosz-kuc

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:

  1. Log into mBank, download the CSV.

  2. Open in Excel, squint at Polish-locale amounts (space-thousands, comma-decimals, PLN suffix).

  3. 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 by category, account, or month. 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.txt

Register with Claude Code:

claude mcp add mbank /absolute/path/to/venv/bin/python /absolute/path/to/server.py

Claude 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 CSV

No 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.

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.

A
license - permissive license
-
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

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

  • F
    license
    -
    quality
    D
    maintenance
    Parse 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.
  • F
    license
    -
    quality
    D
    maintenance
    Connects Notion databases with LLMs to manage and analyze personal finances through natural language queries and bank statement uploads.
    1
  • A
    license
    -
    quality
    D
    maintenance
    Enables querying Up Bank account transactions and spending habits through natural language, using the Up Bank API in read-only mode.
    18
    8
    Do What The F*ck You Want To Public

View all related MCP servers

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.

View all MCP Connectors

Latest Blog Posts

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