Skip to main content
Glama
mathbeal

avenir-mcp

Age of Money month by month

get_age_of_money
Read-onlyIdempotent

Show how many days money stays in YNAB budget accounts before being spent, with monthly figures, trend and direction, to check if you live on last month's income.

Instructions

YNAB's Age of Money: how old the money spent is today, and its trend month by month.

Use it for "how old is my money?", "am I living on last month's income?" or "is my buffer growing?". The figure is YNAB's own, in days: how long, on average, money stayed in the budget accounts before being spent, the oldest money spent first. Over 30 days means living on last month's income. The answer gives each month's figure up to the current one, the latest, the change and its direction over the period; a month is null when YNAB had not enough history. Relay the notes with the figures. For how long the money would last without income use get_runway. One YNAB request, the list of months; changes nothing.

Input Schema

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

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
daysYesThe latest Age of Money, in days; null when YNAB gives none.
as_ofYesThe month of that figure, YYYY-MM: the current one unless YNAB has none for it.
notesYesHow YNAB counts, and what is missing, to tell the user.
trendYesThe direction of that change; null with fewer than two figures.
changeYesDays gained (positive) or lost from the first month with a figure to the latest; null with fewer than two figures.
monthsYesThe months up to the current one, oldest first.
messageYesThe conclusion in one sentence or two, for the agent to relay.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.5.0

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare readOnly/idempotent/openWorld, and the description reinforces this with "One YNAB request... changes nothing." It adds genuinely new behavioral context beyond the annotations: null months when history is insufficient, the need to relay notes, and the shape of the answer (per-month figures, latest, change, direction).

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?

Front-loaded with the core definition, then usage questions, then the alternative and behavioral notes. Dense but each sentence carries information; slightly long for what is fundamentally a two-parameter read.

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?

For a read-only metric tool with an output schema present, the description covers definition, interpretation, output shape, null handling, and sibling routing. Nothing an agent needs to call or interpret it 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 both plan_id and months_count are already documented. The description references "the list of months" but adds no syntax or format detail beyond the schema, so the 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?

States a specific metric, defines it precisely ("how long, on average, money stayed in the budget accounts before being spent, the oldest money spent first"), and explicitly distinguishes it from the sibling get_runway. An agent can identify this tool without opening the 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?

Names concrete user intents ("how old is my money?", "am I living on last month's income?", "is my buffer growing?") and routes to the alternative explicitly: "For how long the money would last without income use get_runway." Includes an interpretation threshold (>30 days).

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