Skip to main content
Glama
hs737

MCP Server for YNAB

by hs737

Analysis — Unassigned transfers

analysis_unassigned_transfers
Read-only

Analyze transfers between on-budget accounts month by month against assigned category group funding; flag months where money moved but nothing was assigned.

Instructions

[READ] Transfers between two on-budget accounts, month by month, against what was assigned in the category groups they were meant to fund. A transfer between on-budget accounts moves no category money — both accounts are already inside the budget — so a standing 'move $1,500 to the joint account' changes no category balance, while looking in the register exactly like it did. Seven months of that went unnoticed on the plan this was written for. group_ids: the groups those transfers were meant to fund. Pass them and the months where money moved and nothing was assigned come back flagged; leave them out and you get the transfers alone. Get group ids from categories_list. account_ids narrows it to transfers touching those accounts. from_month and to_month: 'YYYY-MM', an ISO date, or 'current'. Costs two requests, plus one per month when group_ids is given.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
plan_idNo
to_monthNo
group_idsNo
from_monthYes
account_idsNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.4.0

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already cover readOnly/non-destructive/closed-world, but the description adds a genuinely useful behavioral detail beyond them: the request cost ('two requests, plus one per month when group_ids is given'). It does not discuss permissions or failure modes, but the cost disclosure is real added value.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with [READ] and the core purpose, and the parameter guidance is actionable. However, the anecdotal backstory ('Seven months of that went unnoticed on the plan this was written for') is not needed for an agent to select or invoke the tool and inflates the text.

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?

With an output schema present, return values need no explanation, and the description covers the important input semantics plus request cost. The unaddressed plan_id and the unstated optionality/defaults for to_month are the only shortfalls.

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 must carry the load, and it does for most params: group_ids meaning and effect, account_ids narrowing behavior, and from_month/to_month accepted formats ('YYYY-MM', ISO date, 'current'). plan_id and to_month's default/optionality are never mentioned, leaving one clear gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb+resource scope: transfers between two on-budget accounts reviewed month by month against category-group assignments. It explains why the analysis exists (on-budget transfers move no category money while looking like normal transactions). It does not explicitly differentiate itself from siblings like analysis_flow_trace or money_movements_list_by_month, so it stops short of a 5.

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 concrete conditional guidance: pass group_ids to get flagged months where money moved with no assignment, omit them to get the transfers alone, and it names categories_list as the source of group ids. It also documents accepted date formats. It lacks explicit 'do not use this when...' framing relative to sibling analyses, so 4 rather than 5.

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