Skip to main content
Glama
mathbeal

avenir-mcp

Net worth month by month

get_net_worth_trend
Read-onlyIdempotent

Track monthly net worth, assets, and debts in a YNAB plan to see whether loan balances are being paid down and how your finances change over time.

Instructions

Assets, debts and net worth at the end of each month, to see debts go down.

Use it for "is my debt going down?", "am I paying off my loans?" or "how did my net worth change over the year?". Every account counts, tracking ones included: credit cards, lines of credit, loans, mortgages and other liabilities are debts; every other account is an asset. A closed account counts for the months it still had a balance. Each month end is today's balance less the transactions dated after it; the current month shows today's balances. Amounts in currency units; debts are negative, as YNAB shows them, and net_worth is assets plus debts. For each account's balance today use list_accounts; for the months ahead, forecast_balance. Two YNAB requests: accounts, transactions; changes nothing.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
plan_idYesYNAB plan id or 'last-used'.
months_countNoNumber of months to show, the current one included, 1 to 24 (default 12).

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
changeYesLast minus first: positive when the net worth grew.
monthsYesOne entry per month, oldest first.
accountsYesNames of the accounts counted: the open ones, and the closed ones that still had a balance at one of these month ends.
last_net_worthYesNet worth at the end of the last month shown: today's.
first_net_worthYesNet worth at the end of the first month shown.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.5.0

TDQS

A4.6/5.0
Behavior5/5

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

Beyond the readOnly/idempotent annotations, it discloses the request footprint ('Two YNAB requests: accounts, transactions; changes nothing'), the computation method ('today's balance less the transactions dated after it'), sign conventions (debts negative, net_worth = assets + debts), and the closed-account edge case. This is rich behavioral context the annotations do not carry.

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

Conciseness4/5

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

It is dense and longer than average, but every sentence earns its place: use cases first, then methodology, sign conventions, edge cases, and alternatives. No filler, though the calculation detail could be tightened.

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

Completeness5/5

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

An output schema exists, so return values need not be described. For a computed trend tool the description still covers methodology, sign conventions, closed accounts, request count, and alternatives — nothing an agent needs to call it correctly is missing.

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

Parameters3/5

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

Schema description coverage is 100%, so plan_id and months_count are already documented in the schema. The description hints at the monthly scope but adds no format or default detail beyond what the schema provides, so baseline 3 applies.

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

Purpose5/5

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

The opening sentence states a specific resource (assets, debts, net worth at each month end) with a clear intent ('to see debts go down'). It explicitly names sibling tools it is not (list_accounts, forecast_balance), so an agent can route correctly without opening a schema.

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

Usage Guidelines5/5

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

It gives concrete triggering questions ('is my debt going down?', 'am I paying off my loans?') and explicit alternatives: 'For each account's balance today use list_accounts; for the months ahead, forecast_balance.' Both when-to-use and when-to-use-something-else are covered.

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