Monarch Money
TypeScript library and CLI for Monarch Money budget management. Search transactions by date/merchant/amount, update categories, list accounts and budgets, manage authentication. Use when user asks abo
TypeScript library and CLI for Monarch Money budget management. Search transactions by date/merchant/amount, update categories, list accounts and budgets, manage authentication. Use when user asks abo
Real data. Real impact.
Growing
Developers
Per week
Open source
Skills give you superpowers. Install in 30 seconds.
CLI and TypeScript library for Monarch Money budget automation.
| Variable | Required | Description |
|---|---|---|
| Yes | Monarch Money account email |
| Yes | Monarch Money account password |
| Yes | TOTP secret for MFA (see below) |
Monarch Money requires MFA. Generate the TOTP secret:
JBSWY3DPEHPK3PXP)export MONARCH_MFA_SECRET="YOUR_SECRET"# Check setup monarch-money doctorLogin (uses env vars by default)
monarch-money auth login
List transactions
monarch-money tx list --limit 10
List categories
monarch-money cat list
# Login with environment variables monarch-money auth loginLogin with explicit credentials
monarch-money auth login -e email@example.com -p password --mfa-secret SECRET
Check auth status
monarch-money auth status
Logout
monarch-money auth logout
# List recent transactions monarch-money tx list --limit 20Search by date
monarch-money tx list --start-date 2026-01-01 --end-date 2026-01-31
Search by merchant
monarch-money tx list --merchant "Walmart"
Get transaction by ID
monarch-money tx get <transaction_id>
Update category
monarch-money tx update <id> --category <category_id>
Update merchant name
monarch-money tx update <id> --merchant "New Name"
Add notes
monarch-money tx update <id> --notes "My notes here"
# List all categories monarch-money cat listList with IDs (for updates)
monarch-money cat list --show-ids
# List accounts monarch-money acc listShow account details
monarch-money acc get <account_id>
# Run diagnostic checks monarch-money doctor
Checks:
Import and use the TypeScript library directly:
import { MonarchClient } from 'monarch-money';const client = new MonarchClient({ baseURL: 'https://api.monarch.com' });
// Login await client.login({ email: process.env.MONARCH_EMAIL, password: process.env.MONARCH_PASSWORD, mfaSecretKey: process.env.MONARCH_MFA_SECRET });
// Get transactions const transactions = await client.transactions.getTransactions({ limit: 10 });
// Get categories const categories = await client.categories.getCategories();
// Get accounts const accounts = await client.accounts.getAll();
# 1. Find the transaction monarch-money tx list --date 2026-01-15 --merchant "Target"2. Get category ID
monarch-money cat list --show-ids
3. Update the transaction
monarch-money tx update <transaction_id> --category <category_id>
monarch-money tx list --start-date 2026-01-01 --end-date 2026-01-31 --limit 100
monarch-money acc list
| Error | Solution |
|---|---|
| "Not logged in" | Run |
| "MFA code required" | Set environment variable |
| "Invalid credentials" | Verify email/password work at app.monarchmoney.com |
| "Session expired" | Run again |
Sessions are cached locally at
~/.mm/session.json. After initial login, subsequent commands reuse the saved session for faster execution.
To clear the session:
monarch-money auth logout
No automatic installation available. Please visit the source repository for installation instructions.
View Installation Instructions1,500+ AI skills, agents & workflows. Install in 30 seconds. Part of the Torly.ai family.
© 2026 Torly.ai. All rights reserved.