Skip to main content
Glama

Create income expenses bulk

create_income_expenses_bulk

Create many income and expense records in one transaction — prefer this over repeated save_income / save_expense calls. Optional top-level transactionid links every record to that bank transaction; a per-item transactionid overrides it. An expense accountid set to a purchase document's id (cont-…) records it as a payment against that bill. All-or-nothing; per-item salestax is not supported (use save_expense). Returns the new ids.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
incomeNo
expensesNo
transactionidNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • addedInput schema / properties / expenses / items / properties / total
      Added value: +{
      +  "description": "Total including quantity. Used only when amount is omitted: amount becomes total ÷ quantity, and must come to whole cents. If amount is also sent, amount wins.",
      +  "type": "number"
      +}
  2. First observed

TDQS

A4.6/5.0
Behavior4/5

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

Annotations only declare readOnlyHint=false / destructiveHint=false, so the description carries most of the behavioral burden — and it delivers: all-or-nothing atomicity, top-level transactionid scope with per-item override precedence, the cont-… id making an expense a bill payment, and return of new ids. Missing only auth/permission or rate-limit context.

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?

Four tight sentences, each carrying a distinct behavioral fact (preference, linking precedence, bill-payment semantics, atomicity/limitation/return). Front-loaded with the primary purpose and no filler.

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 nested-array bulk mutation with no output schema, the description covers atomicity, precedence, a special id semantic, a limitation, and return values. What is absent is minor — e.g. that both arrays are optional and the empty-required-array shape.

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?

The schema's item-level field descriptions are already extensive, but the description adds real meaning the schema does not: the top-level vs per-item transactionid precedence, and the accountid-equals-purchase-document-id interpretation. The top-level transactionid remains undocumented in the schema, and the description covers it.

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 and resource (bulk-create income and expense records in one transaction) and explicitly distinguishes itself from the single-record siblings save_income / save_expense. An agent can identify the tool's role 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 Guidelines5/5

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

Gives an explicit preference rule ('prefer this over repeated save_income / save_expense calls') and a named exclusion with a fallback (per-item salestax is not supported — use save_expense). Both when-to-use and when-not are covered.

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