Skip to main content
Glama

dunning

Build a statement of account

statement_build

Build one client's statement for a period: opening, invoices, payments with deposits applied broken out, credit notes and closing, formatted and in minor units. Free: 5 a month; a rebuild is free.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
toYesLast day of the period, YYYY-MM-DD, inclusive
fromYesFirst day of the period, YYYY-MM-DD. Everything dated before it becomes the opening balance
clientYesClient id from the invoice server, an exact client name, or a name containing this text
currencyNoOnly needed when the client has documents in more than one currency. Currencies are never added together

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

B3.3/5.0
Behavior3/5

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

Adds genuine behavioral context beyond the annotations: a monthly quota of 5 with free rebuilds, and output amounts formatted in minor units. However, with all annotations false and uninformative, the description carries the burden and leaves key behaviors undisclosed: what the tool returns (no output schema exists), what a 'rebuild' is, and what happens at quota exhaustion.

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?

Two tight sentences with no waste. The first front-loads action, scope, and contents; the second adds quota behavior. Every clause earns its place, and there is no redundant restatement of schema fields.

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?

Adequate coverage of scope, contents, and cost constraints for a tool with only four flat parameters. But with no output schema and uninformative annotations, the silence on return value, rebuild semantics, and quota-exhaustion behavior leaves an agent uncertain about the call's outcome and cost. More disclosure was warranted.

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 carries the parameter documentation and the baseline is 3. The description's 'for a period' merely echoes the from/to parameters and adds no syntax, format, or client-matching details beyond what the schema already provides. No param-specific value is added by the description.

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?

States a specific verb ('Build') and resource ('one client's statement for a period') and enumerates the statement's contents (opening, invoices, payments with deposits broken out, credit notes, closing). The 'one client's' scope and the component list implicitly differentiate it from siblings like statements_report and statement_aging. However, sibling differentiation is implicit rather than explicit, and 'build' is ambiguous between 'generate a document' and 'create a stored artifact'.

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

Usage Guidelines2/5

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

No explicit when-to-use or when-not-to-use guidance relative to alternatives such as statement_pdf, statement_text, or statements_report. The quota note ('Free: 5 a month; a rebuild is free') signals cost-awareness but does not tell an agent which sibling to choose or what conditions should route away from this tool. The conditional behavior lives in the schema ('currency' description), not in the tool description.

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.