Skip to main content
Glama

Truo

Income and expenditure statement

income_and_expenditure
Read-only

An income and expenditure statement for a period, grouped by the household's chart of accounts, with an optional comparative period. Set aside from both totals above: this is NOT income and NOT expenditure. It holds transfers matched across the household's own accounts, plus flows Truo could not attribute to either, however many accounts are connected, which can include payments that did leave the household. Where the bank did not say the money stayed between the household's own accounts, Truo does not say so either. Counting these as spending would inflate expenditure with money Truo cannot attribute to it. It is reported as its own line and is deliberately outside both totals. This is a re-presentation of the same transactions the category summaries report, not a second calculation, and it contains no tax treatment and no BAS.

Input Schema

NameRequiredDescriptionDefault
toYesInclusive end of the period, ISO date (e.g. 2026-06-30).
fromYesInclusive start of the period, ISO date (e.g. 2026-06-01).
compare-toNoOptional comparative period end.
compare-fromNoOptional comparative period start. Supply both compare dates or neither.

Output Schema

NameRequiredDescriptionDefault
noteNo
basisNo
incomeNo
periodNo
totalsNo
availableNo
moneyMovedNo
expenditureNo
dataCoverageNo
previousPeriodNo
comparativeNoteNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

B3.1/5.0
Behavior4/5

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

Beyond the annotations, which already declare readOnlyHint=true and destructiveHint=false, the description explains meaningful behavior: grouping by chart of accounts, optional comparative period, and conservative treatment of transfers and unattributed flows that are deliberately outside both totals. It also clarifies that the statement re-presents the same transactions as category summaries rather than recalculating them, and that it contains no tax treatment or BAS. That is useful context, though the broken 'totals above' reference weakens the disclosure.

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

Conciseness2/5

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

The description is poorly structured and repetitive: it says the line is 'NOT income and NOT expenditure,' 'reported as its own line,' 'deliberately outside both totals,' and repeats why counting it as spending would inflate expenditure. The phrase 'both totals above' lacks an antecedent, indicating copied text that does not stand alone. Several sentences restate the same exclusion point instead of front-loading the tool's actual purpose.

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?

The tool has complete parameter coverage, rich annotations, and an output schema, so the description need not explain return formatting or safety. It does cover the important behavioral nuance around transfers and unattributed flows, but leaves the agent guessing about the statement's overall scope and how it relates to sibling reporting tools. For a financial-reporting tool, that scope ambiguity is a meaningful completeness gap.

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 100%, so the schema already defines from, to, compare-from, and compare-to with date formats and the paired-comparative constraint. The description adds only that the period is for the statement and the comparative period is optional, which mirrors rather than extends the schema. Baseline 3 is appropriate when the structured schema carries the parameter semantics.

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

Purpose3/5

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

The opening sentence gives a clear verbless but specific resource: an income and expenditure statement for a period, grouped by the household's chart of accounts, with an optional comparative period. However, the next sentence says 'Set aside from both totals above: this is NOT income and NOT expenditure,' which has no antecedent and makes it unclear whether the tool returns the full statement or only the excluded transfers/unattributed line. The closing reference to category summaries helps differentiate it from spending_by_category, but the overall purpose is muddled by the fragment.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is only implied: the description says it is a re-presentation of transactions the category summaries report, not a second calculation, which hints at when to prefer spending_by_category. It also notes the statement contains no tax treatment and no BAS, implicitly directing tax/BAS needs elsewhere. There is no explicit when-to-use or when-not-to-use guidance relative to siblings such as account_summary or balance_sheet.

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