Skip to main content
Glama

get_transactions_by_id

Read-only

Read transactions by id (up to 50) or both legs of a transfer by transferId. Returns the same fields as search_transactions: amount (original + base currency), category, account, payee, note, date, type and planned state. Set includeSplits to also get splits, tags and, for a payment made from several accounts, its paymentParts. An id the caller cannot see is left out.

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_by_id"
  }
}

Input Schema

NameRequiredDescriptionDefault
idsNoIDs of the transactions to read (1 to 50). Give this or transferId, not both
transferIdNoRead both legs of a transfer by their shared transferId. Give this or ids, not both
includeSplitsNoInclude each transaction's splits (category, amount, note) and tags. Costs one read per transaction

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.5/5.0
Behavior4/5

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

With readOnlyHint already covering safety, the description adds real behavior: the returned field set, that includeSplits expands into splits, tags and paymentParts for multi-account payments, and notably that unreadable ids are silently omitted rather than erroring. The one gap is cost/rate-limit signaling — the per-transaction read cost for splits lives only in the schema, not the prose.

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 dense sentences with no filler: capability first, then return shape, then the optional-expansion behavior, then the permission caveat. Every clause carries distinct information and nothing is restated from the title.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema exists, so the description takes on the burden of describing return values and does so by enumerating the same fields as search_transactions plus the conditional split/paymentParts payload. Combined with the visibility caveat and the mutually exclusive inputs, an agent has everything needed to call it correctly.

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 coverage is 100%, so a baseline of 3 would suffice, but the description genuinely adds meaning: it explains that transferId yields both legs of one transfer and that includeSplits unlocks splits, tags and paymentParts. That expands on the schema's narrower 'splits and tags' wording rather than repeating 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?

Opens with a specific verb+resource ('Read transactions by id') and immediately names the alternative lookup mode ('both legs of a transfer by transferId') plus the 50-item cap. It also anchors the result shape to a named sibling ('same fields as search_transactions'), so an agent can distinguish it from search_transactions without opening either schema.

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?

The two operating modes (id list vs transferId) are stated and the schema forbids combining them, giving clear selection context. It also implicitly frames the split versus search_transactions (direct lookup when you have identifiers). It stops short of saying when NOT to use it, e.g. 'use search_transactions when you only have filter criteria'.

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.