Skip to main content
Glama
hs737

MCP Server for YNAB

by hs737

Months — List

months_list
Read-only

List budget months with income, budgeted, activity, and to_be_budgeted totals. Skips empty months by default and supports delta sync via last_knowledge_of_server for efficient updates.

Instructions

[READ] List budget months with summary data (income, budgeted, activity, to_be_budgeted). Amounts are in milliunits (1000 = $1.00). Months in which nothing happened — no income and no activity — are left out by default, the way YNAB's own month picker leaves them out. YNAB keeps records for months before a plan really began, sometimes carrying a stray assignment and a large negative to_be_budgeted, and a review that starts from the first month in this list starts a year before the budget did. omitted_month_count says how many went; include_empty=true returns them. Supports delta sync: pass last_knowledge_of_server — the server_knowledge value any earlier response returned — and YNAB sends only what changed since, which is how a long session stays current without re-reading everything. changes_since does the same across categories, months and transactions in one call.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
plan_idNo
include_emptyNo
last_knowledge_of_serverNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.4.0

TDQS

A4.8/5.0
Behavior5/5

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

Annotations already declare readOnlyHint, but the description adds substantial context: milliunits convention, the default omission of empty months, the omitted_month_count field, the caveat about pre-plan months carrying stray assignments and large negative to_be_budgeted, and the delta-sync mechanism via server_knowledge. This is well beyond annotation coverage.

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?

Dense but front-loaded: the read nature and payload come first, followed by omission behavior and delta sync. The final changes_since sentence is slightly tangential but earns its place by routing to the correct alternative.

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-value explanation isn't required, yet the description still surfaces key response fields (omitted_month_count, server_knowledge). Combined with the omission caveat, an agent has everything needed to call and interpret this tool correctly.

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

Parameters4/5

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

Schema description coverage is 0%, so the description carries the burden. It explains include_empty and last_knowledge_of_server meaningfully (including the server_knowledge source), but plan_id is never mentioned, leaving one of three parameters undocumented.

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?

'[READ] List budget months with summary data' gives a specific verb, resource, and payload fields. This clearly distinguishes it from months_get (single month) and months_range among the siblings.

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?

Explicitly documents when months are excluded by default, when to use include_empty, when to use last_knowledge_of_server for delta sync, and names changes_since as an alternative that spans categories/months/transactions. Provides concrete 'why' context for the omission behavior.

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