Labsco
MCP SERVER

Kontomierz-MCP

by paulomac1000

27 tools over Kontomierz.pl personal finance — accounts, transactions, budgets, schedules and charts — with writes off by default.

Personal Finance & Budgeting
Summary
Deleting a wallet takes two gates and the wallet's own id.

Personal finance data is exactly where a confused agent should not be able to improvise, and this is unusually strict about it: the write gate alone is not enough for a destructive call, and the allowlist has to name the resource. `describe_kontomierz_capabilities` is how you find out what is currently permitted rather than guessing from the error.

What it is

A local MCP server for Kontomierz.pl, a Polish personal-finance platform. Version 2.0.0 replaced the older SSE/REST bridge with stdio plus an authenticated, loopback-only Streamable HTTP mode, and put every mutation behind an operator gate.

What you get
  • Accounts — `list_accounts` with balances, plus `create_wallet`, `update_wallet` and the destructive `destroy_wallet`
  • Transactions — `list_transactions` with pagination and filters, `get_transaction`, `create_transaction`, `update_transaction`, `delete_transaction`
  • Budgets — `list_budgets` for a month, `create_budget`, `update_budget`, `delete_budget`, `copy_budgets_from_last_month`
  • Schedules — `list_scheduled_transactions`, `get_schedule`, `create_schedule`, `update_schedule`, `delete_schedule`, `mark_schedule_paid`, `mark_schedule_unpaid`
  • Reference data — `list_categories`, `list_tags`, `list_currencies`
  • Charts and wealth — `get_pie_chart` for a transaction breakdown, `list_wealth_points` for wealth history
  • describe_kontomierz_capabilities — the governed tool catalog and the policy currently in force
  • Every tool is labelled READ, WRITE or DESTRUCTIVE, and public dates are ISO `YYYY-MM-DD` with budget months as `YYYY-MM`
Requirements

Python 3.11+ and a Kontomierz.pl account with an API key, set as `KONTOMIERZ_API_KEY` — or `KONTOMIERZ_MOCK_DATA=1` for a deterministic local demo with no key at all. Read tools work immediately. Ordinary writes need `ENABLE_WRITE_OPERATIONS=1` in the trusted process environment. Destructive tools additionally need exact allowlists — `MCP_STDIO_ALLOWED_DESTRUCTIVE_CAPABILITIES` and `MCP_STDIO_ALLOWED_DESTRUCTIVE_RESOURCES`, naming the capability and the specific resource such as `wallet:123`; wildcards are refused. HTTP mode is optional, restricted to loopback, and requires a Bearer token via `MCP_HTTP_AUTH_TOKEN`; HTTP principals are read-only until `MCP_HTTP_ALLOWED_CAPABILITIES` says otherwise.