MonarchMoney

Model Context Protocol (MCP) server for MonarchMoney with dynamic method discovery and one-click installation
  • javascript

6

GitHub Stars

javascript

Language

6 months ago

First Indexed

2 months ago

Catalog Refreshed

Documentation & install

Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.

Installation

Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "keithah-monarchmoney-ts-mcp": {
      "command": "node",
      "args": [
        "/full/path/to/monarchmoney-ts-mcp/dist/index.js"
      ],
      "env": {
        "MONARCH_EMAIL": "your-email@example.com",
        "MONARCH_PASSWORD": "your-password",
        "MONARCH_MFA_SECRET": "your-mfa-secret-key"
      }
    }
  }
}

You can run MonarchMoney as a powerful MCP server that exposes all methods from the MonarchMoney TypeScript SDK for natural language queries and AI-assisted data analysis. This setup lets you connect an MCP client to a local server, perform dynamic method discovery, and get concise or detailed insights across accounts, transactions, budgets, categories, cashflow, and more without hardcoding each API call.

How to use

Connect your MCP client to the MonarchMoney MCP server to access a rich set of tools that cover accounts, transactions, budgets, categories, cashflow, recurring items, institutions, and insights. Use the verbosity controls to tailor responses for quick replies or deep analysis. Leverage natural language queries to transform your requests into optimized API calls, then review results in compact summaries or detailed reports. You can request one-line overviews, trend analyses, or full transaction investigations, and your client will translate your words into the appropriate tool calls and present the results in a readable format.

How to install

Prerequisites: ensure you have Node.js and npm installed on your system.

# Verify Node.js installation
node -v
npm -v

Option 1: One-Click MCPB Bundle (Recommended) — download and install the prebuilt bundle, then configure credentials.

# Step 1: Download the latest MCPB bundle file (monarchmoney-mcp-<version>.mcpb)
# Step 2: Extract the bundle
unzip monarchmoney-mcp-v1.0.0.mcpb -d monarchmoney-mcp
cd monarchmoney-mcp
node install.js

# Step 3: Configure credentials
cp .env.example .env
# Edit .env with your MonarchMoney credentials

Option 2: Manual installation — clone, install dependencies, and build from source.

git clone https://github.com/keithah/monarchmoney-ts-mcp.git
cd monarchmoney-ts-mcp
npm install
npm run build

Option 3: Install via Smithery (automatic) — install the MCP server package directly.

npx -y @smithery/cli install @keithah/monarchmoney-ts-mcp

Configuration and running the MCP server

The server runs locally as a standard MCP stdio server. Use the following configuration to start the server and provide your MonarchMoney credentials securely.

{
  "mcpServers": {
    "monarchmoney": {
      "command": "node",
      "args": ["/full/path/to/monarchmoney-ts-mcp/dist/index.js"],
      "env": {
        "MONARCH_EMAIL": "your-email@example.com",
        "MONARCH_PASSWORD": "your-password",
        "MONARCH_MFA_SECRET": "your-mfa-secret-key"
      }
    }
  }
}

Claude Desktop configuration

If you use Claude Desktop, add the following MCP server configuration to your Claude config to enable native MCP integration.

{
  "mcpServers": {
    "monarchmoney": {
      "command": "node",
      "args": ["/full/path/to/monarchmoney-ts-mcp/dist/index.js"],
      "env": {
        "MONARCH_EMAIL": "your-email@example.com",
        "MONARCH_PASSWORD": "your-password",
        "MONARCH_MFA_SECRET": "your-mfa-secret-key"
      }
    }
  }
}

Available tools overview

The MCP server exposes all methods from the MonarchMoney SDK. You can perform operations across accounts, transactions, budgets, categories, cashflow, recurring transactions, institutions, and advanced insights. Use the client’s natural language interface to invoke these tools with filters, date ranges, and verbosity preferences to curate responses for your needs.

Security and privacy notes

All processing can be configured to run locally. Credentials are stored in environment variables, and MFA/TOTP is supported for secure access. Sessions can leverage AES-256 encryption, and no data is transmitted to external services by default.

Troubleshooting and notes

If you encounter connection issues, verify that the MCP server process is running, confirm the path to the built dist/index.js is correct, and ensure environment variables are loaded into the running process. Check that your MCP client is pointed at the local stdio server and that the correct verbosity level is selected to balance detail with performance.

Available tools

accounts_getAll

Retrieve all accounts with control over verbosity to show brief or detailed results.

accounts_getBalanceHistory

Get historical balances to understand how accounts have trended over time.

accounts_getNetWorthHistory

Provide net worth progression across all connected accounts.

accounts_updateAccount

Modify settings for an existing account.

accounts_createManualAccount

Create a manual account entry for non-linked accounts.

accounts_deleteAccount

Remove an account from the connected set.

accounts_getAccountGroups

Fetch groups used to organize accounts for reporting.

accounts_setAccountGroup

Assign or move accounts between groups.

accounts_getAccountSubtypes

Inspect supported account subtypes and classifications.

accounts_getHoldings

Retrieve investment holdings details.

accounts_getHoldingDetails

Get details for a specific holding.

accounts_refreshAccount

Force a fresh sync of account data from the provider.

accounts_getCredentials

Check connection status of an account.

accounts_updateCredentials

Fix or update credentials for an account connection.

transactions_getTransactions

Filter and retrieve transactions with various criteria.

transactions_getTransactionDetails

Fetch full details for a specific transaction.

transactions_createTransaction

Add a new transaction to the ledger.

transactions_updateTransaction

Edit an existing transaction.

transactions_deleteTransaction

Remove a transaction.

transactions_bulkUpdateTransactions

Apply changes to multiple transactions in a batch.

transactions_getTransactionRules

Retrieve automated rules for transaction categorization.

transactions_createTransactionRule

Create a rule to auto-categorize future transactions.

transactions_updateTransactionRule

Modify an existing rule.

transactions_deleteTransactionRule

Delete a rule that auto-categorizes transactions.

transactions_getTransactionSplits

Fetch details about transaction splits.

transactions_createTransactionSplit

Create splits within a single transaction.

transactions_updateTransactionSplit

Update the details of a transaction split.

transactions_deleteTransactionSplit

Remove a transaction split.

transactions_getTransactionTags

Retrieve tags associated with transactions.

transactions_addTransactionTag

Add a tag to a transaction.

transactions_removeTransactionTag

Remove a tag from a transaction.

transactions_getReceipts

List receipts attached to transactions.

transactions_uploadReceipt

Attach a receipt image to a transaction.

transactions_deleteReceipt

Remove a receipt from a transaction.

transactions_categorizeTransaction

Auto-categorize a transaction using built-in rules.

transactions_getTransactionsByAccount

Get transactions filtered by a specific account.

transactions_getTransactionsByCategory

Get transactions filtered by category.

transactions_getTransactionsByMerchant

Get transactions filtered by merchant.

transactions_searchTransactions

Text search across transactions.

budgets_getBudgets

Retrieve all budget information.

budgets_createBudget

Create a new budget.

budgets_updateBudget

Update an existing budget.

budgets_deleteBudget

Delete a budget.

budgets_getBudgetSummary

Show budget vs actual performance.

budgets_getBudgetByCategory

View budgets by category.

budgets_setBudgetAmount

Update the amount allocated to a budget.

budgets_getBudgetHistory

See how budgets have changed over time.

budgets_getBudgetVariance

Analyze over/under spending by budget.

budgets_rolloverBudget

Move a budget to the next period.

budgets_getBudgetAlerts

Fetch budget notifications.

budgets_setBudgetAlert

Configure budget warnings.

categories_getCategories

List all transaction categories.

categories_createCategory

Create a new category.

categories_updateCategory

Update category details.

categories_deleteCategory

Delete a category.

categories_getCategoryGroups

Get category groupings for organization.

categories_setCategoryGroup

Assign a category to a group.

categories_getCategoryRules

Retrieve auto-categorization rules.

categories_setCategoryIcon

Set a visual icon for a category.

categories_getCategorySpending

Analyze spending by category.

categories_mergCategories

Merge two categories into one.

cashflow_getCashflowSummary

Overview of income versus expenses.

cashflow_getCashflowWidget

Data for a cashflow dashboard widget.

cashflow_getIncomeStreams

List all income sources.

cashflow_getExpenseStreams

List all expense streams.

cashflow_getCashflowByMonth

Monthly cashflow trends.

cashflow_getCashflowByCategory

Category-based cashflow breakdown.

cashflow_getAverageCashflow

Historical average cashflow.

cashflow_forecastCashflow

Forecast future cashflow.

recurring_getRecurringStreams

Get all recurring transactions.

recurring_createRecurringStream

Create a new recurring item.

recurring_updateRecurringStream

Update a recurring item.

recurring_deleteRecurringStream

Delete a recurring item.

recurring_getRecurringByCategory

Recurring items filtered by category.

recurring_pauseRecurringStream

Pause a recurring item.

recurring_resumeRecurringStream

Resume a paused recurring item.

institutions_getInstitutions

List connected financial institutions.

institutions_getInstitutionAccounts

Get accounts for a specific institution.

institutions_addInstitution

Connect a new institution.

institutions_updateInstitution

Update institution details.

institutions_removeInstitution

Disconnect an institution.

institutions_refreshInstitution

Force a fresh sync for an institution.

insights_getNetWorthHistory

Track net worth over time.

insights_getSpendingByCategory

Detailed spending by category analysis.

insights_getIncomeVsExpenses

Comprehensive income vs expenses view.

insights_getSpendingTrends

Trends in spending patterns.

insights_getIncomeTrends

Trends in income patterns.

insights_getTopMerchants

Identify most frequent merchants.

insights_getUnusualSpending

Detect spending anomalies.

insights_getMonthlyComparison

Month-over-month financial comparison.

get_me

Retrieve current user information and preferences.

Built by
VeilStrat
AI signals for GTM teams
© 2026 VeilStrat. All rights reserved.All systems operational