Skip to main content
Glama
henfrydls

actual-budget-mcp

reconcile_currency_residual

Book an adjustment transaction to bring a multi-currency account in line with the bank-reported balance, clearing accumulated FX-rate residual.

Instructions

Book an adjustment transaction to bring a multi-currency account to the balance the bank reports, clearing accumulated FX-rate residual.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
dateNoDate for the adjustment (YYYY-MM-DD or "today"). Defaults to today.
notesNoNote for the adjustment. Defaults to "FX residual adjustment".
payeeNoOptional payee for the adjustment
accountYesAccount name or ID to reconcile
categoryYesCategory to book the adjustment under (name or ID)
target_balanceNoBalance the bank reports for this account (human amount). Defaults to 0.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.6.1

TDQS

A4/5.0
Behavior3/5

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

With readOnlyHint=false, the description appropriately signals that this tool mutates state by booking an adjustment transaction. It adds useful context about the effect (clearing residual, aligning to bank balance), but does not disclose side effects such as whether a visible transaction appears in transaction lists, whether the adjustment is reversible, or whether prior reconciliations are affected.

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?

A single, well-structured sentence that packs the verb, resource, purpose, and condition without waste. It is front-loaded with the action and immediately explains why this tool exists.

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?

For a focused adjustment tool with fully documented parameters, the description covers the main scenario well. It lacks only minor contextual details such as what the return value is or what happens if the account is not multi-currency, but those are not critical for invoking it correctly.

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?

The input schema already provides 100% coverage with descriptions for all six parameters, so the description does not need to repeat parameter details. The description adds no new parameter-level meaning beyond the schema, which is fine but earns only the baseline score.

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 action ('Book an adjustment transaction'), the target resource ('multi-currency account'), and the goal ('bring ... to the balance the bank reports' / 'clearing accumulated FX-rate residual'). This clearly distinguishes it from general transaction-creation tools like create_transaction by specifying the reconciliation purpose.

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?

The description gives clear context for when to use the tool: when a multi-currency account has an FX-rate residual and needs to be brought in line with the bank's reported balance. It does not explicitly name excluded alternatives or say 'use create_transaction instead', but the purpose is specific enough to imply the boundary.

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