The coverage is the useful part: transactions you can slice by date, account and category, sitting next to budgets, cashflow and a net-worth series, so a question like where the money went last month becomes one call and a follow-up. Two things decide whether it is the right choice today — the author has archived it in favour of Monarch's officially supported MCP connector, and it authenticates with your email, password and TOTP secret held in the client config rather than a scoped token.
A small Python server around the monarchmoney library that opens a Monarch Money account for reading: accounts and balances, transactions with date, account and category filters, categories, budgets, goals, cashflow, investments and net-worth snapshots.
- get_accounts lists every account with its current balance and details
- get_transactions filters by start_date and end_date, by account_ids or category_ids, with a limit on how many come back
- get_categories lists the transaction categories those filters refer to
- get_budgets returns budget data together with spending against it
- get_cashflow gives the income-and-expense view over a period
- get_goals returns financial goals and how far along each one is
- get_investments returns investment account detail and performance
- get_net_worth returns net-worth snapshots over time rather than a single figure
- Login sessions are cached in a .mm directory so later starts skip the login; MONARCH_FORCE_LOGIN=true forces a fresh one
Cloned and run in place with uv — there is no published launcher, so the client config points at an absolute path. It signs in as you: MONARCH_EMAIL, MONARCH_PASSWORD, and MONARCH_MFA_SECRET, which is the TOTP secret copied from Monarch's 2FA setup screen rather than a rotating six-digit code. That secret and the cached tokens under .mm both grant full account access, and TOTP needs the machine clock to be accurate.
