Skip to main content
Glama
Monarch Money MCP Server

Monarch Money MCP Server

by jamiew

Get Net Worth History

get_net_worth_history
Read-only

Retrieve net worth history over a chosen date range to track daily totals or monthly balances by account type.

Instructions

Get net worth over time: daily totals, or monthly balances per account type.

Args: start_date: Inclusive start; ISO or natural language. Defaults to one year ago. end_date: Inclusive end. Defaults to today. by_account_type: False returns daily {date, balance} totals across all accounts. True returns monthly {month, account_type, balance} rows plus account_types with each type's group (asset or liability).

Input Schema

NameRequiredDescriptionDefault
end_dateNo
start_dateNo
by_account_typeNo

Output Schema

NameRequiredDescriptionDefault
countYes
historyYes
end_dateYes
start_dateYes
account_typesNo
by_account_typeYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.6.0

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and openWorldHint=false, so safety is covered. The description adds real value beyond that: default date windows (one year ago to today), inclusive boundary semantics, and the exact row shape each mode returns. It does not cover behavior like whether accounts with no history are included or whether values are point-in-time vs cumulative.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single summary sentence front-loads the two-mode distinction, followed by a tightly scoped args block. Every line carries information an agent needs; nothing restates the title or name.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present, the description needn't document return values exhaustively, and it still sketches both shapes usefully. Gaps are minor: no max date range, currency, or treatment of liability sign conventions, but nothing blocks a correct call.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must carry the load, and it does: every one of the three params is explained, including accepted formats ('ISO or natural language') and defaults for both date params. Critically, it explains that by_account_type changes the entire response shape and adds an account_types mapping to asset/liability groups, which is meaning unavailable anywhere in the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Get net worth over time') and immediately distinguishes its two modes ('daily totals, or monthly balances per account type'). It is distinguishable from sibling analytics tools like get_cashflow and get_spending_summary in substance, though it does not name any sibling explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives clear selection logic via by_account_type: false for daily all-account totals, true for monthly per-type balances, plus default date behavior. It stops short of stating exclusions or naming alternative tools (e.g. when to prefer get_account_history instead).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.