- name
- monarch
- description
- Access Monarch Money financial data: accounts, transactions, budgets, and cashflow. Use when the user asks about their finances, spending, account balances, budget status, cashflow summaries, or wants to refresh linked bank accounts. Triggers on: 'how much did I spend', 'what's my balance', 'show my budget', 'cashflow this month', 'refresh my accounts', or any personal finance query.
- metadata
Monarch Money Skill
Query Monarch Money for financial data via CLI wrapper scripts.
Prerequisites
- Install the library:
pip install monarchmoney- First-time authentication (interactive, run once):
python3 scripts/login_setup.pyPrompts for email, password, and MFA code if enabled. Saves session to ~/.monarchmoney/mm_session.pickle. Sessions last months.
Commands
All commands output JSON. Pipe through jq for filtering.
Accounts
python3 scripts/monarch.py accountsReturns: id, displayName, type, subtype, currentBalance, institution, isHidden, includeInNetWorth.
Transactions
# Last 30 days (default)
python3 scripts/monarch.py transactions
# Custom date range
python3 scripts/monarch.py transactions --start 2026-01-01 --end 2026-01-31
# Limit results
python3 scripts/monarch.py transactions --limit 50Returns: id, date, amount, merchant, category, account, notes, isPending, isRecurring.
Budgets
python3 scripts/monarch.py budgetsReturns: monthlyBudget, totalSpent, per-category breakdown (budgetAmount, spentAmount, remainingAmount).
Cashflow
# Current month
python3 scripts/monarch.py cashflow
# Specific month
python3 scripts/monarch.py cashflow --month 2026-01Returns: income, expenses, savings, savingsRate for the specified month.
Refresh Accounts
python3 scripts/monarch.py refreshTriggers a sync with all linked financial institutions.
Troubleshooting
- "Not authenticated" or "Session expired": Delete
~/.monarchmoney/mm_session.pickleand re-runscripts/login_setup.py. - Rate limiting: Monarch Money may throttle rapid requests. Space out queries.
- Import errors: Ensure
monarchmoneyis installed in the Python environment being used.