Skip to main content
Glama
ezra-quemuel

Monarch Money MCP Server

by ezra-quemuel

Monarch Money MCP Server

An MCP server that connects Claude (and other MCP clients) to your Monarch Money financial data. Query accounts, transactions, and budgets, or update transactions and budget amounts — all through natural language.

Features

Tool

Description

get_accounts

List all linked financial accounts with balances and types

get_transactions

Query transactions with filters (limit, date range, search)

get_budgets

Get per-category budget vs. actual spending for a date range

list_categories

List all transaction categories with IDs and group names

set_budget

Set a monthly budget amount for a category

update_transaction

Update a transaction's category, merchant, notes, etc.

Most read tools support a verbosity parameter (ultra-light, light, or standard) to control how much data is returned.

Related MCP server: monarch-mcp

Prerequisites

Installation

From GitHub

pip install git+https://github.com/ezra-quemuel/monarch-mcp.git

From source

git clone https://github.com/ezra-quemuel/monarch-mcp.git
cd monarch-mcp
pip install -e .

Configuration

Environment Variables

Variable

Required

Description

MONARCH_EMAIL

Yes

Your Monarch Money email

MONARCH_PASSWORD

Yes

Your Monarch Money password

MONARCH_MFA_SECRET

No

TOTP secret for MFA (base32 string from authenticator setup)

Claude Code

claude mcp add monarch-money \
  -e MONARCH_EMAIL=your-email@example.com \
  -e MONARCH_PASSWORD=your-password \
  -e MONARCH_MFA_SECRET=your-totp-secret \
  -- monarch-mcp

Claude Desktop

Add to your Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json on macOS):

{
  "mcpServers": {
    "monarch-money": {
      "command": "monarch-mcp",
      "env": {
        "MONARCH_EMAIL": "your-email@example.com",
        "MONARCH_PASSWORD": "your-password",
        "MONARCH_MFA_SECRET": "your-totp-secret"
      }
    }
  }
}

If you installed from source with a virtual environment, use the full path to the monarch-mcp binary (e.g., /path/to/monarch-mcp/.venv/bin/monarch-mcp).

Known Issues

gql must be pinned to <4.0

The monarchmoney library depends on gql, but gql 4.0 changed the signature of execute_async in a breaking way. This project pins gql<4.0 in its dependencies to avoid this.

Domain rebrand (monarchmoney.com -> monarch.com)

Monarch rebranded their API domain from api.monarchmoney.com to api.monarch.com. The monarchmoney library hasn't been updated yet. This server patches MonarchMoney.BASE_URL at runtime to fix this automatically — no manual action needed.

Budget goals fields

The monarchmoney library's GraphQL query for get_budgets references goals-related fields that no longer exist in the API schema. This server works around this by passing use_legacy_goals=False, use_v2_goals=False. If you still encounter errors, you may need to manually edit the installed monarchmoney library to remove the goals fields from the budget query. Look for the get_budgets query in monarchmoney/__init__.py or the relevant query file and remove the goals { ... } block.

Contributing

Contributions are welcome! Please open an issue or pull request on GitHub.

License

MIT

A
license - permissive license
-
quality - not tested
D
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/ezra-quemuel/monarch-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server