MCP.so
Sign In
M

Monarch MCP

@vargahis

About Monarch MCP

Comprehensive Monarch Money integration with read and write support for accounts, transactions, budgets, cashflow, credit history, and more. Secure browser-based auth with tokens stored in the OS keychain. Installs in one click via .mcpb for Claude Desktop.

Basic information

Config

Add this server to your MCP-compatible client using the configuration below.

{
  "mcpServers": {
    "Monarch Money": {
      "command": "uvx",
      "args": [
        "monarch-mcp",
        "--enable-write"
      ]
    }
  }
}

Tools

38

Get instructions for setting up secure authentication with Monarch Money.

Check if already authenticated with Monarch Money.

Debug keyring session loading issues.

Get all financial accounts from Monarch Money.

Get transactions from Monarch Money. Args: limit: Number of transactions to retrieve (default: 100) offset: Number of transactions to skip (default: 0) start_date: Start date in YYYY-MM-DD format (requires end_date) end_date: End date in YYYY-MM-DD format (requires start_date) account_id: Specific account ID to filter by (shorthand for account_ids with one ID) search: Free text search query category_ids: List of category IDs to filter by account_ids: List of account IDs to filter by (cannot use with account_id) tag_ids: List of tag IDs to filter by has_attachments: Filter transactions with/without attachments has_notes: Filter transactions with/without notes hidden_from_reports: Filter transactions hidden/visible in reports is_split: Filter split/unsplit transactions is_recurring: Filter recurring/non-recurring transactions synced_from_institution: Filter synced/manual transactions

Get budget information from Monarch Money. Args: start_date: Start date in YYYY-MM-DD format (default: last month) end_date: End date in YYYY-MM-DD format (default: next month) use_v2_goals: Whether to use v2 goals format (default: True)

Get cashflow analysis from Monarch Money. Args: start_date: Start date in YYYY-MM-DD format (requires end_date; defaults to current month) end_date: End date in YYYY-MM-DD format (requires start_date; defaults to current month)

Get investment holdings for a specific account. Args: account_id: The ID of the investment account

Create a new transaction in Monarch Money. Args: account_id: The account ID to add the transaction to amount: Transaction amount (positive for income, negative for expenses) merchant_name: Merchant name for the transaction category_id: Category ID for the transaction date: Transaction date in YYYY-MM-DD format notes: Optional transaction notes update_balance: Whether to update the account balance (default: False)

Update an existing transaction in Monarch Money. Args: transaction_id: The ID of the transaction to update category_id: New category ID merchant_name: New merchant name goal_id: Goal ID to associate with the transaction amount: New transaction amount date: New transaction date in YYYY-MM-DD format hide_from_reports: Whether to hide the transaction from reports needs_review: Whether the transaction needs review notes: Transaction notes

Delete a transaction from Monarch Money. Args: transaction_id: The ID of the transaction to delete

Request account data refresh from financial institutions.

Get all transaction tags from Monarch Money.

Create a new transaction tag in Monarch Money. Args: name: Tag name (required) color: Hex RGB color including # (required, e.g., "#19D2A5")

Delete a transaction tag from Monarch Money. Args: tag_id: The ID of the tag to delete

Set tags on a transaction (replaces existing tags). Args: transaction_id: Transaction UUID (required) tag_ids: List of tag IDs to apply (required, empty list removes all tags) Note: This overwrites existing tags. To remove all tags, pass an empty list.

Get all transaction categories from Monarch Money.

Get all transaction category groups from Monarch Money.

Get detailed information about a specific transaction. Args: transaction_id: The ID of the transaction redirect_posted: Whether to redirect to posted transaction (default: True)

Get recurring transactions from Monarch Money. Args: start_date: Start date in YYYY-MM-DD format (requires end_date) end_date: End date in YYYY-MM-DD format (requires start_date)

Get aggregate transaction summary (count, sum, avg, max, income, expenses).

Get Monarch Money subscription status and details.

Get all connected financial institutions and their connection status.

Get cashflow summary (income, expenses, savings, savings rate). Args: limit: Number of records to retrieve (default: 100) start_date: Start date in YYYY-MM-DD format (requires end_date) end_date: End date in YYYY-MM-DD format (requires start_date)

Set or update a budget amount for a category or category group. Args: amount: The budget amount to set category_id: Category ID (mutually exclusive with category_group_id) category_group_id: Category group ID (mutually exclusive with category_id) timeframe: Budget timeframe - "month" or "week" (default: "month") start_date: Budget start date in YYYY-MM-DD format apply_to_future: Whether to apply this amount to future periods (default: False)

Get split information for a transaction. Args: transaction_id: The ID of the transaction

Create, modify, or delete splits for a transaction. Args: transaction_id: The ID of the transaction to split split_data: List of split objects, each with keys: merchantName, amount, categoryId. Sum of split amounts must equal the original transaction amount. Pass an empty list to remove all splits.

Create a new transaction category in Monarch Money. Args: group_id: The category group ID this category belongs to name: The category name icon: Category icon (default: question mark emoji) rollover_enabled: Whether budget rollover is enabled (default: False) rollover_type: Rollover type - "monthly" (default: "monthly") rollover_start_month: Rollover start in YYYY-MM-DD (default: 1st of month)

Delete a transaction category from Monarch Money. Args: category_id: The ID of the category to delete

Create a new manual account in Monarch Money. Args: account_name: Name for the account account_type: Account type (use get_account_type_options to see valid types) account_sub_type: Account sub-type is_in_net_worth: Whether to include in net worth calculation account_balance: Starting balance (default: 0)

Update an existing account in Monarch Money. Args: account_id: The ID of the account to update account_name: New account name account_balance: New account balance account_type: New account type account_sub_type: New account sub-type include_in_net_worth: Whether to include in net worth hide_from_summary_list: Whether to hide from summary list hide_transactions_from_reports: Whether to hide transactions from reports

Get historical balance snapshots for an account. Args: account_id: The ID of the account

Get daily balance for all accounts from a start date. Args: start_date: Start date in YYYY-MM-DD format (optional)

Get net value snapshots grouped by account type. Args: start_date: Start date in YYYY-MM-DD format timeframe: Aggregation period - "month" or "year"

Get daily aggregate net value of all accounts. Args: start_date: Start date in YYYY-MM-DD format end_date: End date in YYYY-MM-DD format account_type: Filter by account type (optional)

Get available account types and sub-types for creating manual accounts.

Get credit score history and related details.

Delete an account from Monarch Money. This action is irreversible. Args: account_id: The ID of the account to delete

Overview

What is Monarch MCP?

Monarch MCP is a Model Context Protocol server that integrates the Monarch Money personal finance platform with Claude Desktop and other MCP-compatible agents. It provides 37 read and write tools for managing accounts, transactions, budgets, cashflow, tags, categories, and credit history. The server is designed for Monarch Money users who want to query and analyze their finances conversationally.

How to use Monarch MCP?

Install via the recommended Claude Desktop extension (.mcpb), uvx (no install), pip, or cloning the repository. Authentication is handled automatically through a browser login on first start; the resulting token is stored in your OS keychain. By default the server starts in read-only mode; to enable write tools add --enable-write to the MCP config or toggle the setting in the Claude Desktop extension.

Key features of Monarch MCP

  • Secure browser-based login; credentials never pass through Claude Desktop
  • Token stored in OS keychain, not in config files or env vars
  • Read-only mode by default; write tools require explicit opt-in
  • 37 tools covering accounts, transactions, budgets, cashflow, tags, categories, and credit history
  • MFA fully supported; expired sessions re-authenticate automatically
  • Compatible with Claude Desktop, Claude Code, Cursor, and any MCP host

Use cases of Monarch MCP

  • Ask Claude for a summary of all your financial accounts and balances
  • Analyze recent transactions and cashflow trends over the past months
  • View your budget status and credit score history
  • Create, update, or delete transactions, tags, and categories (after enabling write mode)

FAQ from Monarch MCP

What is the default operating mode?

The server starts in read-only mode by default. All write tools are hidden and blocked until you explicitly opt in via the --enable-write flag or the Claude Desktop extension settings.

How do I enable write tools?

If using uvx or pip, add "--enable-write" to the args array in your MCP config file. For the Claude Desktop extension, go to Settings > Extensions > Monarch Money MCP Server > Configure and toggle "Enable write tools".

How does authentication work?

On first start, the server opens a login page in your browser. You enter your Monarch Money email and password (and optionally a 2FA code) directly in the browser. The resulting token is saved to your OS keyring and persists across restarts for weeks or months. Expired sessions trigger automatic re-authentication on the next tool call.

Is multi‑factor authentication (MFA) supported?

Yes, MFA is fully supported. You will be prompted to enter your 2FA code during the browser login flow.

Can I use Monarch MCP without Claude Desktop?

Yes. The uvx and pip installation methods work with any MCP host, such as Claude Code or Cursor. Write mode can be enabled via the config file, but cannot be toggled from within those apps.

Comments

More Productivity MCP servers