monarch-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| ENABLE_WRITE | No | Set to enable write tools (create, update, delete). By default, the server runs in read-only mode. In configuration files, this is typically passed as the '--enable-write' flag in the arguments array. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tasks | {
"list": {},
"cancel": {},
"requests": {
"tools": {
"call": {}
},
"prompts": {
"get": {}
},
"resources": {
"read": {}
}
}
} |
| tools | {
"listChanged": true
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| setup_authenticationA | Get instructions for setting up secure authentication with Monarch Money. |
| check_auth_statusA | Check if already authenticated with Monarch Money. |
| debug_session_loadingC | Debug keyring session loading issues. |
| get_accountsA | Get all financial accounts from Monarch Money. |
| get_transactionsA | 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 needs_review: Filter transactions that need review |
| get_budgetsB | 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_cashflowB | 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_account_holdingsC | Get investment holdings for a specific account. Args: account_id: The ID of the investment account |
| refresh_accountsB | Request account data refresh from financial institutions. |
| get_transaction_tagsA | Get all transaction tags from Monarch Money. |
| get_transaction_categoriesA | Get all transaction categories from Monarch Money. |
| get_transaction_category_groupsA | Get all transaction category groups from Monarch Money. |
| get_transaction_detailsA | 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_transactionsC | 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_transactions_summaryB | Get aggregate transaction summary (count, sum, avg, max, income, expenses). |
| get_subscription_detailsB | Get Monarch Money subscription status and details. |
| get_institutionsA | Get all connected financial institutions and their connection status. |
| get_cashflow_summaryA | 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) |
| get_transaction_splitsB | Get split information for a transaction. Args: transaction_id: The ID of the transaction |
| get_account_historyC | Get historical balance snapshots for an account. Args: account_id: The ID of the account |
| get_recent_account_balancesB | Get daily balance for all accounts from a start date. Args: start_date: Start date in YYYY-MM-DD format (optional) |
| get_account_snapshots_by_typeA | 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_aggregate_snapshotsA | 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_account_type_optionsA | Get available account types and sub-types for creating manual accounts. |
| get_credit_historyA | Get credit score history and related details. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 25 tools
Each tool targets a distinct aspect of Monarch Money (accounts, transactions, budgets, cashflow, credit, institutions, auth). Even with many transaction-related tools, they differ in scope (e.g., get_transactions vs get_transaction_details vs get_transaction_splits) and have clear parameter distinctions, leaving no ambiguity.
All tool names use snake_case and follow a verb_noun pattern, which is consistent. However, the verbs vary: most use 'get_', but there are also 'check_', 'debug_', 'setup_', and 'refresh_'. This minor inconsistency prevents a perfect score.
With 25 tools, the server is on the larger side but covers many facets of personal finance (accounts, transactions, budgets, cashflow, credit, institutions). Each tool serves a clear purpose, and the count feels justified for the domain, though slightly heavy.
The tool set is heavily read-focused, lacking any create, update, or delete operations for core entities like accounts, transactions, or budgets. This is a significant gap for agents that need to manage finances, leaving the surface incomplete for typical CRUD workflows.