Skip to main content
Glama
avenir-mcp

avenir-mcp

List category groups

list_category_groups
Read-onlyIdempotent

List the category groups a plan offers, showing where categories can be created or moved. Use it to find valid group headings before classifying spending.

Instructions

List the category groups a category can be created in or moved to.

A group is a heading over categories: it holds no amount of its own, so nothing here says what was budgeted or spent. Categories are created in groups, and moved between them, in YNAB itself. For the money in each category use get_category_balances; to classify transactions, suggest_categories. With several plans, pass the plan id from list_plans: 'last-used' follows the plan last opened in YNAB. Hidden, deleted and system groups are left out. One YNAB request; changes nothing.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "plan_id": "<plan_id>"
    },
    "name": "list_category_groups"
  }
}

Input Schema

NameRequiredDescriptionDefault
plan_idYesYNAB plan id or 'last-used'.

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.6/5.0
Behavior4/5

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

Beyond the readOnlyHint/idempotentHint annotations, it discloses the filtering behavior (hidden, deleted and system groups are left out) and the cost profile ("One YNAB request"). "Changes nothing" largely restates readOnlyHint, so the added value is real but not extensive.

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?

The core scope and the sibling routing come first and every sentence carries information. The definition of a group is valuable for avoiding misuse, though the awkward line breaks and a couple of redundant clauses ("changes nothing") slightly dilute it.

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 no prose. With one required, fully documented parameter, an explicit plan-id acquisition route, declared filtering, and a stated request cost, nothing an agent needs to invoke this correctly is missing.

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 coverage is 100%, so the baseline is 3, but the description adds meaning the schema does not: it explains that 'last-used' follows the plan last opened in YNAB and that the id should come from list_plans, giving the agent an acquisition path for the required value.

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 and resource ("List the category groups") and immediately scopes it to those a category can be created in or moved to. The follow-up sentence defines what a group is and explicitly disclaims budget/spend data, which separates it cleanly from get_category_balances and suggest_categories.

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 the alternative tools and the conditions that select them (get_category_balances for money per category, suggest_categories for classifying transactions, list_plans for obtaining a plan id). It also states an exclusion rule (hidden, deleted and system groups omitted) and clarifies that creation/moving happens in YNAB, not here.

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