Skip to main content
Glama

YABA family budget

Split an entry by category

split_transaction
Idempotent

Split an expense or income into parts with their own categories (e.g. 1000 = 700 groceries + 300 pets). Each part becomes an entry; the entry keeps the rest and its bank link, so bank sync never undoes it. The parts replace earlier ones; an empty list joins them back. Amounts in minor units; split the entry, not one of its parts (splitOf). Amounts are integers in minor units (kopecks, cents): 45000 = 450.00. Dates are YYYY-MM-DD in the family time zone; a month is a budget period YYYY-MM (the one that starts in that month).

Input Schema

NameRequiredDescriptionDefault
idYes
partsYes
categoryIdNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.1/5.0
Behavior5/5

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

Annotations only say it is a non-destructive, idempotent mutation; the description adds the behavior an agent actually needs: the parent entry retains the remainder and the bank link so sync won't undo the split, existing parts are replaced, and an empty list reverses the split. That is substantive context beyond the structured hints.

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?

The core split semantics are front-loaded, but the text repeats itself ('Amounts in minor units' stated twice) and appends date/budget-period formatting rules (YYYY-MM-DD, YYYY-MM) that do not correspond to any parameter in this tool's schema, making the entry longer than its payload justifies.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a three-parameter mutation the replacement/reversal behavior is covered thoroughly, but two of the three parameters (`id`, `categoryId`) are left semantically undefined, and there is no output schema to fall back on for what the call returns. Adequate, not complete.

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 0%, so the description must carry the load. It explains amount format well ('minor units (kopecks, cents): 45000 = 450.00') and part structure, but never explains the top-level `id` or the top-level `categoryId` parameter, and the 'splitOf' reference points at a field that does not exist in this schema, which risks confusion.

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?

Names a specific verb (split) and resource (expense/income entry into categorized parts) and illustrates it concretely: '1000 = 700 groceries + 300 pets'. This clearly separates it from add_transaction, update_transaction, and bulk_update_transactions, which would otherwise be the ambiguous neighbors.

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?

Provides concrete operating rules: 'The parts replace earlier ones; an empty list joins them back' and 'split the entry, not one of its parts (splitOf)'. These tell the agent how to invoke it correctly, though it never explicitly names an alternative tool or a when-not-to-use condition.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources