Skip to main content
Glama
hs737

MCP Server for YNAB

by hs737

Reconcile — Preview

reconcile_preview
Read-only

Compare an account's cleared balance as of a statement date with the statement balance, see the difference, and review transactions or authorizations that explain it before reconciling.

Instructions

[READ] Does this account agree with its statement, and if not, what is in the way. This is what YNAB's reconcile screen does, and nothing else here answers it: the cleared balance as of a date, the statement balance you give it, the difference between them, and the four queues that explain a difference — transactions cleared but not yet reconciled, uncleared ones old enough to be suspect, hand-entered ones the bank never matched, and card authorisations that never posted. statement_balance: the closing balance from the statement, in milliunits (1000 = $1.00), negative for a credit card you owe money on. as_of_date: the statement's closing date (ISO, defaults to today). The cleared balance is computed as of that date, which is why it can differ from YNAB's own current figure. Costs two requests, and changes nothing — reconcile_apply is the write.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
plan_idNo
account_idYes
as_of_dateNo
stale_after_daysNo
statement_balanceYes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.4.0

TDQS

A4.6/5.0
Behavior5/5

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

Annotations already cover the safety profile (readOnlyHint=true, destructiveHint=false), yet the description adds real incremental context: it costs two requests, it changes nothing, and the cleared balance is computed as of the given date so it can legitimately differ from YNAB's current figure. It also explains what the four output queues represent, which is behavioral substance the annotations cannot carry.

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?

Front-loaded with the question it answers and marked [READ]; the parameter notes and closing resource-cost line are compact and each earns its place. The opening sentence is somewhat run-on with its four-queue enumeration, but no sentence is filler.

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 not be spelled out, and the description still goes further by characterizing what those outputs mean. Combined with the safety annotations, the alternative-tool pointer, and the parameter units, an agent has everything needed to select and call it 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?

With 0% schema description coverage the description must compensate, and it does for the two required/central params: statement_balance is documented with units and sign convention (milliunits, 1000 = $1.00, negative for money owed) and as_of_date with format and default. stale_after_days is only obliquely implied by "old enough to be suspect" and plan_id/account_id get no mention, so it is strong but not complete.

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 with scope: it answers whether an account agrees with its statement and enumerates exactly what it returns (cleared balance, statement balance, difference, four explanatory queues). It explicitly distinguishes itself from the sibling write path by naming reconcile_apply, so an agent can route without opening the schema.

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?

"This is what YNAB's reconcile screen does, and nothing else here answers it" gives clear when-to-use framing, and "reconcile_apply is the write" names the alternative for the mutation case. No explicit when-not or prerequisite conditions beyond that, so it falls short of a full 5.

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