Monarch Money
PYPI · MONARCH-MCP · 2 COMPONENTS · SCANNED SEP 20
MCP server for Monarch Money — accounts, transactions, budgets, cashflow, investments, and more
Available components
Recent critical change
CVE-2026-32871 affects this package (4 Aug 2026). See the changelog before you install this server.
How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →
Supply Chain Security24
- Malware scan not yet available for this package.Unverified
- CVE check failed: an unpatched critical CVE affects this package; the score is capped at 0. See how to fix → View diagnostics → Fail
- Runs setuptools.build_meta at install time, a recognised native-build step with no shell scripting around it. View diagnostics → Pass
- 13 of 103 dependencies flagged as unhealthy. View diagnostics → Partial
Provenance & Transparency32
- Source repository is publicly reachable at the declared URL. View diagnostics → Pass
- Provenance check failed: no build-provenance attestation is published. See how to fix → View diagnostics → Fail
- License check failed: no license is declared. See how to fix → Fail
- Actively maintained (last published 100 days ago).Pass
- Disclosure check failed: no security disclosure policy was found in the source repository. See how to fix → Fail
Schema Quality & AI Usability58
- AI-judged instruction clarity (fair).Partial
- Tool/resource definitions use about 1494 tokens (~55/item across 27 items; 27 tools + 0 resources), lean.Pass
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management83
- Stability observed for 25 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage71
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 0% of tool parameters carry a description.Fail
- Structured output schemas are declared (100% of tools); any adoption earns full credit.Pass
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- We read all 27 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
- An AI judge read all 27 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
How do I install the Monarch Money MCP server?
Monarch Money runs locally as a PyPI package, launched with uvx monarch-mcp. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
pypi · monarch-mcp
claude mcp add vargahis-monarch-money -- uvx monarch-mcp
{
"mcpServers": {
"vargahis-monarch-money": {
"command": "uvx",
"args": [
"monarch-mcp"
]
}
}
} {
"servers": {
"vargahis-monarch-money": {
"command": "uvx",
"args": [
"monarch-mcp"
]
}
}
} codex mcp add vargahis-monarch-money -- uvx monarch-mcp
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"vargahis-monarch-money": {
"type": "local",
"command": [
"uvx",
"monarch-mcp"
],
"enabled": true
}
}
} openclaw mcp add vargahis-monarch-money --command uvx --arg monarch-mcp
mcp_servers:
vargahis-monarch-money:
command: "uvx"
args: ["monarch-mcp"] {
"McpServers": {
"vargahis-monarch-money": {
"Transport": "stdio",
"Command": "uvx",
"Arguments": [
"monarch-mcp"
]
}
}
} assistant mcp add vargahis-monarch-money -t stdio -c uvx -a monarch-mcp
{
"mcpServers": {
"vargahis-monarch-money": {
"command": "uvx",
"args": [
"monarch-mcp"
]
}
}
} Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 19 Sept 26 0
- Stability: pass → 0.80 functional
- 18 Sept 26 0
- Stability: 0.97 → pass security
- 17 Sept 26 0
- Malware scan: pass → unverified ▼ security
- 16 Sept 26 0
- Malware scan: unverified → pass ▲ security
- 14 Sept 26 0
- Malware scan: pass → unverified ▼ security
- 12 Sept 26 0
- Malware scan: unverified → pass ▲ security
- Stability: pass → 0.80 functional
- 11 Sept 26 0
- Malware scan: pass → unverified ▼ security
- Stability: 0.97 → pass security
- 6 Sept 26 0
- Security disclosure: unverified → fail ▼ functional
- Dependency health: partial → 0.95 functional
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 20 Sept 2026 · Analysed pypi/monarch-mcp@0.1.4
Provenance No attestation
The registry publishes no build provenance for this version, so there is nothing to verify.
| Result | No attestation |
|---|---|
| Ecosystem | pypi |
Background: How many MCP packages publish verified provenance →
Install scripts 1 script
| Hook | Tier | Command |
|---|---|---|
| build_backend | allowlisted | setuptools.build_meta |
Background: Why install scripts are a supply-chain risk →
Vulnerabilities 6 findings
| ID | CVE | Severity | Vector | Fix available |
|---|---|---|---|---|
| GHSA-m8x7-r2rg-vh5g | CVE-2025-64340 | medium | CVSS:3.1/AV:L/AC:H/PR:L/UI:R/S:U/C:H/I:H/A:H | yes |
| GHSA-rww4-4w9c-7733 | CVE-2026-27124 | high | yes | |
| GHSA-vv7q-7jx5-f767 | CVE-2026-32871 | critical | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H | yes |
| PYSEC-2026-2475 | CVE-2025-64340 | medium | CVSS:3.1/AV:L/AC:H/PR:L/UI:R/S:U/C:H/I:H/A:H | yes |
| PYSEC-2026-2476 | CVE-2026-27124 | none | yes | |
| PYSEC-2026-338 | CVE-2026-32871 | critical | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H | yes |
Background: What a vulnerability scan can and cannot prove →
Dependencies 103 packages
| Packages resolved | 103 |
|---|---|
| Stale | 10 |
| No linked repository | 3 |
| Tree resolution | Complete |
Background: SBOMs and build attestations, explained →
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
check_auth_status ~17
Check if already authenticated with Monarch Money.
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
debug_session_loading ~16
Debug keyring session loading issues.
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
find_merchant_id_by_name ~114
Find merchant IDs by (partial) name. Searches recent transactions matching ``name`` and returns the distinct merchants seen, with their IDs. Useful before calling ``update_recurring_merchant``: Monarch's mutation operates on a merchant, not a name, so you need the ID. Args: name: Free-text search query (matched against merchant + description). limit: Maximum number of distinct merchants to return.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | – |
| name | string | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
get_account_history ~37
Get historical balance snapshots for an account. Args: account_id: The ID of the account
| Name | Type | Req | Description |
|---|---|---|---|
| account_id | string | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
get_account_holdings ~39
Get investment holdings for a specific account. Args: account_id: The ID of the investment account
| Name | Type | Req | Description |
|---|---|---|---|
| account_id | string | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
get_account_snapshots_by_type ~64
Get net value snapshots grouped by account type. Args: start_date: Start date in YYYY-MM-DD format timeframe: Aggregation period - "month" or "year"
| Name | Type | Req | Description |
|---|---|---|---|
| start_date | string | yes | – |
| timeframe | string | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
get_account_type_options ~22
Get available account types and sub-types for creating manual accounts.
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
get_accounts ~16
Get all financial accounts from Monarch Money.
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
get_aggregate_snapshots ~75
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)
| Name | Type | Req | Description |
|---|---|---|---|
| account_type | – | – | – |
| end_date | – | – | – |
| start_date | – | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
get_budgets ~95
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)
| Name | Type | Req | Description |
|---|---|---|---|
| end_date | – | – | – |
| start_date | – | – | – |
| use_v2_goals | boolean | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
get_cashflow ~73
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)
| Name | Type | Req | Description |
|---|---|---|---|
| end_date | – | – | – |
| start_date | – | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
get_cashflow_summary ~91
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)
| Name | Type | Req | Description |
|---|---|---|---|
| end_date | – | – | – |
| limit | integer | – | – |
| start_date | – | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
get_credit_history ~17
Get credit score history and related details.
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
get_institutions ~20
Get all connected financial institutions and their connection status.
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
get_recent_account_balances ~44
Get daily balance for all accounts from a start date. Args: start_date: Start date in YYYY-MM-DD format (optional)
| Name | Type | Req | Description |
|---|---|---|---|
| start_date | – | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
get_recurring_transactions ~63
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)
| Name | Type | Req | Description |
|---|---|---|---|
| end_date | – | – | – |
| start_date | – | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
get_subscription_details ~17
Get Monarch Money subscription status and details.
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
get_transaction_categories ~17
Get all transaction categories from Monarch Money.
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
get_transaction_category_groups ~19
Get all transaction category groups from Monarch Money.
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
get_transaction_details ~62
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)
| Name | Type | Req | Description |
|---|---|---|---|
| redirect_posted | boolean | – | – |
| transaction_id | string | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
get_transaction_rules ~132
List every transaction rule on the household. Returns each rule flattened to a clean shape: its ``id``, the category it sets, all match criteria (merchant name / original statement / merchant / amount), the actions it applies (tags, merchant rename, goals, splits, review status), and application stats (``recent_application_count``, ``last_applied_at``). Use the ``id`` values with ``update_transaction_rule`` or ``delete_transaction_rule``. Note: Monarch lowercases criteria values, so a rule created to match "Amazon" is stored and returned as "amazon".
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
get_transaction_splits ~37
Get split information for a transaction. Args: transaction_id: The ID of the transaction
| Name | Type | Req | Description |
|---|---|---|---|
| transaction_id | string | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
get_transaction_tags ~17
Get all transaction tags from Monarch Money.
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
get_transactions ~328
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
| Name | Type | Req | Description |
|---|---|---|---|
| account_id | – | – | – |
| account_ids | – | – | – |
| category_ids | – | – | – |
| end_date | – | – | – |
| has_attachments | – | – | – |
| has_notes | – | – | – |
| hidden_from_reports | – | – | – |
| is_recurring | – | – | – |
| is_split | – | – | – |
| limit | integer | – | – |
| needs_review | – | – | – |
| offset | integer | – | – |
| search | – | – | – |
| start_date | – | – | – |
| synced_from_institution | – | – | – |
| tag_ids | – | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
get_transactions_summary ~26
Get aggregate transaction summary (count, sum, avg, max, income, expenses).
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
refresh_accounts ~16
Request account data refresh from financial institutions.
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
setup_authentication ~20
Get instructions for setting up secure authentication with Monarch Money.
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
What is the Monarch Money MCP server?
Monarch Money is an MCP server listed in the public MCP registry as io.github.vargahis/monarch-money. MCP server for Monarch Money, accounts, transactions, budgets, cashflow, investments, and more. This page covers its PyPI package (monarch-mcp).
What tools does the Monarch Money MCP server expose?
Monarch Money exposes 27 tools: setup_authentication, check_auth_status, debug_session_loading, get_accounts, get_transactions, and 22 more. Their descriptions and schemas cost roughly 1,494 tokens of context every time the server is loaded.
Is the Monarch Money MCP server still maintained?
Monarch Money is still listed as active in the MCP registry. We last reached this channel on 20 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.