Monarch Money
CLI and TypeScript library for Monarch Money budget automation.
Prerequisites
Environment Variables (Required)
| Variable | Required | Description |
|---|
| INLINECODE0 | Yes | Monarch Money account email |
| INLINECODE1 |
Yes | Monarch Money account password |
|
MONARCH_MFA_SECRET |
Yes | TOTP secret for MFA (see below) |
Getting Your MFA Secret
Monarch Money requires MFA. Generate the TOTP secret:
- 1. Login to https://app.monarchmoney.com
- Go to Settings > Security > Two-Factor Authentication
- If MFA is already enabled: disable and re-enable to get a new secret
- When shown the QR code: click "Can't scan? View setup key"
- Copy the secret key (base32 string like
JBSWY3DPEHPK3PXP) - Complete MFA setup in Monarch Money with an authenticator app
- Set the secret: INLINECODE4
Quick Start
CODEBLOCK0
CLI Commands
Authentication
CODEBLOCK1
Transactions
CODEBLOCK2
Categories
CODEBLOCK3
Accounts
CODEBLOCK4
Doctor (Diagnostics)
CODEBLOCK5
Checks:
- - Environment variables set
- API connectivity
- Session validity
- Node.js version
Library Usage
Import and use the TypeScript library directly:
CODEBLOCK6
Common Workflows
Find and Update a Transaction
CODEBLOCK7
Search Transactions by Date Range
CODEBLOCK8
Check Budget Status
CODEBLOCK9
Error Handling
| Error | Solution |
|---|
| "Not logged in" | Run INLINECODE5 |
| "MFA code required" |
Set
MONARCH_MFA_SECRET environment variable |
| "Invalid credentials" | Verify email/password work at app.monarchmoney.com |
| "Session expired" | Run
monarch-money auth login again |
Session Management
Sessions are cached locally at ~/.mm/session.json. After initial login, subsequent commands reuse the saved session for faster execution.
To clear the session: INLINECODE9
References
Monarch Money
Monarch Money预算自动化的CLI和TypeScript库。
前置条件
环境变量(必需)
| 变量 | 必需 | 描述 |
|---|
| MONARCHEMAIL | 是 | Monarch Money账户邮箱 |
| MONARCHPASSWORD |
是 | Monarch Money账户密码 |
| MONARCH
MFASECRET |
是 | 多因素认证的TOTP密钥(见下文) |
获取多因素认证密钥
Monarch Money需要多因素认证。生成TOTP密钥:
- 1. 登录 https://app.monarchmoney.com
- 前往 设置 > 安全 > 双因素认证
- 如果已启用多因素认证:先禁用再重新启用以获取新密钥
- 显示二维码时:点击无法扫描?查看设置密钥
- 复制密钥(base32字符串,如 JBSWY3DPEHPK3PXP)
- 使用认证器应用在Monarch Money中完成多因素认证设置
- 设置密钥:export MONARCHMFASECRET=YOUR_SECRET
快速开始
bash
检查设置
monarch-money doctor
登录(默认使用环境变量)
monarch-money auth login
列出交易
monarch-money tx list --limit 10
列出分类
monarch-money cat list
CLI命令
认证
bash
使用环境变量登录
monarch-money auth login
使用显式凭据登录
monarch-money auth login -e email@example.com -p password --mfa-secret SECRET
检查认证状态
monarch-money auth status
登出
monarch-money auth logout
交易
bash
列出最近交易
monarch-money tx list --limit 20
按日期搜索
monarch-money tx list --start-date 2026-01-01 --end-date 2026-01-31
按商户搜索
monarch-money tx list --merchant Walmart
按ID获取交易
monarch-money tx get
更新分类
monarch-money tx update --category
更新商户名称
monarch-money tx update --merchant New Name
添加备注
monarch-money tx update --notes My notes here
分类
bash
列出所有分类
monarch-money cat list
显示ID(用于更新)
monarch-money cat list --show-ids
账户
bash
列出账户
monarch-money acc list
显示账户详情
monarch-money acc get
诊断
bash
运行诊断检查
monarch-money doctor
检查项:
- - 环境变量是否设置
- API连接性
- 会话有效性
- Node.js版本
库使用
直接导入并使用TypeScript库:
typescript
import { MonarchClient } from monarch-money;
const client = new MonarchClient({ baseURL: https://api.monarch.com });
// 登录
await client.login({
email: process.env.MONARCH_EMAIL,
password: process.env.MONARCH_PASSWORD,
mfaSecretKey: process.env.MONARCHMFASECRET
});
// 获取交易
const transactions = await client.transactions.getTransactions({ limit: 10 });
// 获取分类
const categories = await client.categories.getCategories();
// 获取账户
const accounts = await client.accounts.getAll();
常见工作流程
查找并更新交易
bash
1. 查找交易
monarch-money tx list --date 2026-01-15 --merchant Target
2. 获取分类ID
monarch-money cat list --show-ids
3. 更新交易
monarch-money tx update id> --category id>
按日期范围搜索交易
bash
monarch-money tx list --start-date 2026-01-01 --end-date 2026-01-31 --limit 100
检查预算状态
bash
monarch-money acc list
错误处理
| 错误 | 解决方案 |
|---|
| 未登录 | 运行 monarch-money auth login |
| 需要多因素认证码 |
设置 MONARCHMFASECRET 环境变量 |
| 凭据无效 | 在 app.monarchmoney.com 验证邮箱/密码是否可用 |
| 会话已过期 | 再次运行 monarch-money auth login |
会话管理
会话本地缓存于 ~/.mm/session.json。首次登录后,后续命令会复用保存的会话以加快执行速度。
清除会话:monarch-money auth logout
参考