Skip to main content
Glama
YNAB MCP Server

YNAB MCP Server

by oliverames

List Months

list_months
Read-onlyIdempotent

Retrieves monthly budget summaries, including income, budgeted amounts, activity, Ready to Assign in dollars, and age of money for a YNAB budget.

Instructions

List monthly income, budgeted, activity and Ready to Assign in dollars, plus age of money. For categories use get_month.

Input Schema

NameRequiredDescriptionDefault
budgetIdNo
lastKnowledgeOfServerNoDelta cursor; returns { months, server_knowledge }.

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed4 schema fields changedv6.1.0
    • changedInput schema / $schema
      Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • removedInput schema / properties / budgetId / description
      Removed value: -"Budget ID (uses default if not provided)"
    • changedInput schema / properties / lastKnowledgeOfServer / description
      Previous value: -"Delta request server knowledge. When provided, returns { months, server_knowledge }."New value: +"Delta cursor; returns { months, server_knowledge }."
    • changedOutput schema / $schema
      Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
  2. Changed1 schema field changedv5.4.0
    • removedOutput schema / properties / result / description
      Removed value: -"Structured result returned by List Months."
  3. Changed1 schema field changedv5.1.1
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "$schema": "http://json-schema.org/draft-07/schema#",
      +  "additionalProperties": false,
      +  "properties": {
      +    "result": {
      +      "description": "Structured result returned by List Months."
      +    }
      +  },
      +  "required": [
      +    "result"
      +  ],
      +  "type": "object"
      +}
  4. First observedv2.0.0

TDQS

A4/5.0
Behavior3/5

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

Annotations already declare this as a safe, idempotent, read-only operation. The description adds useful scope by naming the returned budget fields and dollar units, but it does not mention delta-sync behavior or other operational details beyond what annotations and schema provide.

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?

The description is two sentences with no wasted language. It front-loads what the tool returns and puts the sibling routing note immediately after.

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?

Given rich annotations, an output schema, and only two simple parameters, the description is nearly complete for selecting and invoking the tool. The main minor gap is that it does not mention the delta cursor behavior, though the schema covers that.

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 50%: lastKnowledgeOfServer is documented as a delta cursor, while budgetId is structurally obvious but undocumented. The description adds no parameter-level guidance, so it neither compensates for the gap nor contradicts the schema.

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 description uses a specific verb and resource: it lists monthly income, budgeted, activity, Ready to Assign, and age of money. It also explicitly routes category-level needs to get_month, so an agent can distinguish it from that sibling without inspecting schemas.

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?

It gives clear usage context by stating the monthly budget-summary data it returns and directing category lookups to get_month. It does not exhaustively describe when not to use it versus every other budget-summary sibling, but the main alternative is named.

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