Skip to main content
Glama
mathbeal

avenir-mcp

Spending trends

get_spending_trends
Read-onlyIdempotent

Retrieve spending per category for the last N months to see if spending is rising or compare months.

Instructions

Spending per category, month by month, over the last N months.

Use it for "is my grocery spending going up?" or to compare months. The result maps each category name to its spending month by month, oldest first, as a positive number in currency units. For a single month use get_category_balances or get_budget_vs_actual; for the months ahead, forecast_balance. One YNAB request for the list of months, then one per month; changes nothing.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
plan_idYesYNAB plan id or 'last-used'.
months_countNoNumber of past months to include, 1 to 24 (default 3).

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.7/5.0
Behavior5/5

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

Annotations cover safety (readOnly, idempotent, openWorld), and the description adds genuinely new behavioral context: the exact shape of the result (category name mapped to month-by-month values, oldest first, positive currency units) and the cost profile (one request for the month list, then one per month). 'Changes nothing' reinforces the non-mutating nature.

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?

Three tight sentences, front-loaded with what the tool returns, followed by usage routing and then cost/return semantics. No filler and nothing buried.

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?

Output schema exists so return values need not be explained, yet the description still clarifies ordering and sign convention, and it discloses the per-month request cost. Nothing an agent needs to call this 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% and both parameters (plan_id, months_count with default and 1-24 bounds) are fully documented in the schema. The description's 'last N months' adds no syntax or format detail beyond that, 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 verb+resource ('Spending per category, month by month, over the last N months') with explicit scope, and the naming of sibling alternatives makes it trivially distinguishable from get_category_balances, get_budget_vs_actual, and forecast_balance.

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?

Gives concrete motivating questions ('is my grocery spending going up?', comparing months) and then explicitly routes the agent away to alternatives for a single month and for future months. When-to-use and when-not-to-use are both covered.

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