hakimelek avatar

Monarchmoney

hakimelek/monarchmoney-node

This connects Claude to Monarch Money's personal finance platform through 30 tools covering accounts, transactions, budgets, and cashflow analysis. You can query balances and transaction history, create and update manual entries, trigger account refreshes, manage categories and tags, and pull cashflow summaries. Built on a full-featured Node.js client that handles Monarch's email OTP verification flow and optional TOTP MFA. Responses are fully typed, and the underlying library supports session persistence to avoid repeated logins. Useful when you want Claude to analyze spending patterns, reconcile transactions, or automate budget tracking without leaving the conversation. Unofficial project, not affiliated with Monarch Money.

tools
30
auth
Secret needed
transport
STDIO
env var
1
last updated
Mar 15, 2026

Tools

30 tools

Public tool metadata for what this MCP can expose to an agent.

get_accountsAll linked accounts

All linked accounts

No parameter schema in public metadata yet.

get_account_holdingsSecurities in a brokerage account

Securities in a brokerage account

No parameter schema in public metadata yet.

get_account_historyDaily balance history

Daily balance history

No parameter schema in public metadata yet.

get_account_type_optionsAvailable account types/subtypes

Available account types/subtypes

No parameter schema in public metadata yet.

get_recent_account_balancesDaily balances (default: last 31 days)

Daily balances (default: last 31 days)

No parameter schema in public metadata yet.

get_aggregate_snapshotsAggregate net value over time

Aggregate net value over time

No parameter schema in public metadata yet.

get_institutionsLinked institutions

Linked institutions

No parameter schema in public metadata yet.

get_budgetsBudgets with actuals (default: last month → next month)

Budgets with actuals (default: last month → next month)

No parameter schema in public metadata yet.

get_subscription_detailsPlan status (trial, premium, etc.)

Plan status (trial, premium, etc.)

No parameter schema in public metadata yet.

get_transactionsTransactions with full filtering

Transactions with full filtering

No parameter schema in public metadata yet.

get_transactions_summaryAggregate summary

Aggregate summary

No parameter schema in public metadata yet.

get_transaction_detailsSingle transaction detail

Single transaction detail

No parameter schema in public metadata yet.

get_transaction_categoriesAll categories

All categories

No parameter schema in public metadata yet.

get_transaction_category_groupsCategory groups

Category groups

No parameter schema in public metadata yet.

get_transaction_tagsAll tags

All tags

No parameter schema in public metadata yet.

get_cashflowCashflow by category, group, merchant

Cashflow by category, group, merchant

No parameter schema in public metadata yet.

get_cashflow_summaryIncome, expense, savings, savings rate

Income, expense, savings, savings rate

No parameter schema in public metadata yet.

get_recurring_transactionsUpcoming recurring transactions

Upcoming recurring transactions

No parameter schema in public metadata yet.

create_transactionCreate transaction

Create transaction

No parameter schema in public metadata yet.

update_transactionUpdate transaction

Update transaction

No parameter schema in public metadata yet.

delete_transactionDelete transaction

Delete transaction

No parameter schema in public metadata yet.

create_manual_accountCreate manual account

Create manual account

No parameter schema in public metadata yet.

update_accountUpdate account settings/balance

Update account settings/balance

No parameter schema in public metadata yet.

delete_accountDelete account

Delete account

No parameter schema in public metadata yet.

refresh_accountsStart refresh (non-blocking)

Start refresh (non-blocking)

No parameter schema in public metadata yet.

is_refresh_completeCheck refresh status

Check refresh status

No parameter schema in public metadata yet.

set_budget_amountSet/clear budget

Set/clear budget

No parameter schema in public metadata yet.

create_transaction_tagCreate tag

Create tag

No parameter schema in public metadata yet.

set_transaction_tagsSet tags on transaction

Set tags on transaction

No parameter schema in public metadata yet.

create_transaction_categoryCreate category

Create category

No parameter schema in public metadata yet.

Sponsors

Configuration

MONARCH_TOKEN*secret

Your Monarch Money auth token. Obtain by logging in with the library and saving mm.token.

Readme

Monarch Money (Node.js)

Node.js/TypeScript library for accessing Monarch Money data.

Disclaimer: This project is unofficial and not affiliated with Monarch Money.

Installation

npm install @hakimelek/monarchmoney

Requires Node.js 18+ (uses native fetch and AbortSignal.timeout).

Quick Start

import {
  MonarchMoney,
  EmailOtpRequiredException,
  RequireMFAException,
} from "@hakimelek/monarchmoney";

const mm = new MonarchMoney();

try {
  await mm.login("your@email.com", "password");
} catch (e) {
  if (e instanceof EmailOtpRequiredException) {
    // Monarch sent a verification code to your email
    const code = await promptUser("Enter the code from your email:");
    await mm.submitEmailOtp("your@email.com", "password", code);
  } else if (e instanceof RequireMFAException) {
    // TOTP-based MFA is enabled on the account
    await mm.multiFactorAuthenticate("your@email.com", "password", "123456");
  }
}

// Fetch data — fully typed responses
const { accounts } = await mm.getAccounts();
console.log(accounts[0].displayName, accounts[0].currentBalance);

Authentication


View the full README on GitHub

Details

Repository
github.com/hakimelek/monarchmoney-node
Package
@hakimelek/monarchmoney
Transport
STDIO
Auth
Required
Registry
MCP registry, active