Skip to main content
Glama

get_transactions_summary

Read-only

Count and totals of the transactions that match the filters, in the base currency: income, expense, net and transfers. Takes the same filters as the transaction list and as bulk_delete_transactions, so it previews what a bulk delete would remove. No default date range: omit from and to for the whole history.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "get_transactions_summary"
  }
}

Input Schema

NameRequiredDescriptionDefault
toNoEnd of the date range (ISO 8601 datetime in UTC). Must not precede from
fromNoStart of the date range (ISO 8601 datetime in UTC, e.g. 2026-10-01T00:00:00Z)
tagIdsNoOnly rows with these tag IDs; "blank" matches rows with no tag
batchIdNoOnly rows from this import batch
payeeIdsNoOnly rows with these payee (merchant) IDs; "blank" matches rows with no payee. get_payees resolves a name to an id
amountGteNoMinimum amount (positive decimal, in the original currency)
amountLteNoMaximum amount (positive decimal, in the original currency)
isPlannedNotrue: only your planned transactions; false: leave plans out. Omit for real rows plus your plans
accountIdsNoOnly rows on these account IDs
noteSearchNoSearch the note: comma-separated terms
trackerIdsNoOnly rows linked to these tracker IDs
accountTypeNoOnly rows on accounts of this type
categoryIdsNoOnly rows in these category IDs
refundFilterNoRefunds: include, exclude or only
categorizedAtNoOnly rows categorized at this ISO 8601 datetime
hasAttachmentNotrue: only rows with attachments; false: only rows without
refundPivotToNoEnd of that local day (ISO 8601 datetime); pairs with refundPivotFrom
excludeRefundsNoLeave out refunds
excludedTagIdsNoLeave out rows with these tag IDs
transferFilterNoTransfers: include, exclude or only. Superseded by transferNatures
excludeTransferNoLeave out transfers
refundPivotFromNoStart of the local day of a transaction being refund-linked (ISO 8601 datetime), always paired with refundPivotTo: rows before that day (and same-day expenses) stay listed as possible originals, later rows as possible refunds
transactionTypeNoOnly income, expense or transfer rows
transferNaturesNoExact set of transfer natures to include. Replaces transferFilter and excludeTransfer when set
excludeRefundTxsNoLeave out the refund side of refund links; originals that carry refunds stay
excludeAccountIdsNoLeave out rows on these account IDs
excludeRefundedTxsNoLeave out originals that already carry a refund link
excludedTrackerIdsNoLeave out rows linked to these tracker IDs
keepRefundsForTxIdNoWith excludeRefundTxs or the refund pivot: keep the refund links of this transaction
categorizationSourceNoHow the category was assigned
excludeBalanceAdjustmentsNoLeave out balance adjustments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, so the safety profile is covered. The description adds useful behavior beyond that: amounts are normalized to base currency, there is no implicit date window (whole history when omitted), and the same filter set as the list endpoint applies. It says nothing about cost or performance for wide-history aggregations, pagination, or precision/rounding in the totals.

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?

Three tightly packed sentences: what it returns, what the filters mean, and the date-range default. The result shape is front-loaded and there is no redundant restatement of the tool name or schema fields.

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?

With 31 optional parameters, no output schema and only a readOnly annotation, the description does well to name the returned metrics and reference the shared filter contract. It leaves the many nuanced filter interactions (transferNatures superseding transferFilter, refund pivot pairs) to the schema, which documents them thoroughly, so the gap is small.

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?

Schema description coverage is 100%, so the baseline is 3 and the schema carries most parameter meaning. The description still adds value by telling the agent that filters mirror the transaction list and bulk_delete_transactions (so filter semantics can be learned once) and that from/to have no defaults, which the schema does not state.

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?

The first sentence states a specific verb pair (count and totals) and resource (transactions matching filters), and names the exact breakdown returned: income, expense, net and transfers, in base currency. This is distinguishable from aggregate siblings such as get_cash_flow or get_expenses_for_period because it frames the result as a filtered count-plus-totals summary.

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?

It gives a concrete use case (previewing what bulk_delete_transactions would remove) and clarifies default scope behavior (no default date range; omit from/to for full history). It does not, however, state when to pick this over other aggregation siblings like get_expenses_for_period or get_spending_by_categories, so there is no exclusion guidance.

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.