Skip to main content
Glama

List transactions

list_transactions
Read-only

Retrieve bank and manual transactions between two dates, then filter by amount, type, status, property, text, or receipt to locate a specific payment or invoice match.

Instructions

Bank/manual transactions between two dates, with optional filters to find the one you want (e.g. the payment an invoice belongs to). A transaction's file is its attached receipt (see attach_transaction_receipt).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
typeNo
amountNoExact amount in pounds, e.g. 27.74
searchNoCase-insensitive text to find in the description
statusNoe.g. "mapped" (categorised); omit for all
endDateYes
startDateYes
hasReceiptNotrue: only with a receipt; false: only without
propertyIdNoOnly transactions assigned to this property

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed5 schema fields changedv0.4.1
    • addedInput schema / properties / amount
      Added value: +{
      +  "description": "Exact amount in pounds, e.g. 27.74",
      +  "type": "number"
      +}
    • addedInput schema / properties / hasReceipt
      Added value: +{
      +  "description": "true: only with a receipt; false: only without",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / propertyId
      Added value: +{
      +  "description": "Only transactions assigned to this property",
      +  "type": "string"
      +}
    • addedInput schema / properties / search
      Added value: +{
      +  "description": "Case-insensitive text to find in the description",
      +  "type": "string"
      +}
    • addedInput schema / properties / type
      Added value: +{
      +  "enum": [
      +    "received",
      +    "spent"
      +  ],
      +  "type": "string"
      +}
  2. First observedv0.1.1

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true, so the safety profile is covered by structured data. The description adds real context beyond that — transactions may be bank-imported or manual, and a transaction's `file` is its attached receipt — but says nothing about result limits, ordering, or pagination for what is potentially a long list.

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

Conciseness4/5

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

Two compact sentences with the date-range scope front-loaded and no filler. The second sentence about the `file`/receipt relationship earns its place because there is no output schema to explain that field.

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?

With no output schema, the description partially compensates by explaining the `file` field and the receipt linkage, and it covers the required date range. However, it leaves 37% of parameters undocumented and does not sketch the returned transaction shape (fields, ordering, volume), so an agent still lacks a full picture of what comes back.

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 coverage is 63%, above the low-coverage threshold, so the schema carries most of the parameter meaning. The description only alludes generically to 'optional filters' and the date range, and does not clarify the semantics of amount (exact vs range), search scope, status values, or propertyId beyond what the schema already says.

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 the resource precisely (bank/manual transactions) and the core scoping mechanism (a required two-date range plus optional filters). It implicitly separates itself from get_transaction and update_transaction by being the list operation, though it never names those siblings directly.

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?

Gives a concrete retrieval scenario — use the optional filters 'to find the one you want (e.g. the payment an invoice belongs to)' — which tells the agent this is the lookup tool for locating a specific transaction. It also routes to attach_transaction_receipt for the receipt case, but offers no explicit when-not or exclusion guidance.

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