get_accountsLABSCO SUMMARY
Enough of a Monarch Money account to ask about your own finances in plain language.
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.
What it is
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.
What you get
- 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
Requirements
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.
Setup effort
Build from source — git clone https://github.com/colvint/monarch-money-mcp.git
USE CASES
Working out where the money went last month
Pull the transactions for a date range, narrowed to the accounts or categories that matter, and read the category list to know what those filters mean.
Checking budgets against what you actually spent
get_budgets returns the budget alongside spending, and get_cashflow gives the income-versus-expense picture for the same period.
Seeing the whole position at once
Every account with its balance, plus the net-worth snapshots that show which direction it has been moving.
Tracking a savings goal
get_goals returns each financial goal with its progress, so the answer does not need reconstructing from balances.
Reviewing how the investments are doing
get_investments returns investment account detail and performance next to the rest of the picture.
8 tools
Listed in project docs. Your client may show a different list.
get_transactionsget_categoriesget_budgetsget_goalsget_cashflowget_investmentsget_net_worthBEFORE YOU INSTALL
What to know first
Tools you get
8 tools named in the project's documentation. Every tool only reads; nothing changes your Monarch account.
Requires
- MONARCH_PASSWORD in your environment
- MONARCH_MFA_SECRET in your environment
- MONARCH_EMAIL in your environment
Where it runs
The documented client runs the server on your machine.
INSTALLATION
Connect your client
You clone this one yourself.
Server setup
git clone https://github.com/colvint/monarch-money-mcp.git
cd monarch-money-mcp
uv syncAdd the server to your .mcp.json configuration file, filling in the absolute paths and the MONARCH_* env values
MCP Clients
Any MCP client
{
"mcpServers": {
"monarch-money": {
"command": "<YOUR_PATH_TO_UV>",
"args": [
"--directory",
"<YOUR_PATH_TO_MONARCH_MONEY_MCP>",
"run",
"python",
"server.py"
],
"env": {
"MONARCH_EMAIL": "<YOUR_MONARCH_EMAIL>",
"MONARCH_PASSWORD": "<YOUR_MONARCH_PASSWORD>",
"MONARCH_MFA_SECRET": "<YOUR_MONARCH_MFA_SECRET>"
}
}
}
}