Skip to main content
Glama

Truo

Find a merchant

find_merchant
Read-only

Every transaction with a named merchant, matched exactly on the normalised merchant name. Returns the matching rows and what they total. This matches the merchant name the bank supplied, so the same shop can appear under more than one name, and transactions where the bank supplied no merchant name cannot be found this way at all — the answer states how many those are.

Input Schema

NameRequiredDescriptionDefault
limitNoHow many rows to return, at most 100 (default 25).
cursorNoRow offset to resume from, taken from a previous answer's nextCursor. Omit for the first page.
merchantYesThe merchant name to look for, e.g. "Woolworths". Matched exactly after normalising case, punctuation and any trailing store number.
newest-timeNoInclusive end of the period, ISO date (e.g. 2026-05-31). Defaults to the newest stored data.
oldest-timeNoInclusive start of the period, ISO date (e.g. 2026-05-01). Defaults to the oldest stored data.

Output Schema

NameRequiredDescriptionDefault
netNo
spentNo
periodNo
timingNo
matchedNo
coverageNo
merchantNo
receivedNo
returnedNo
nextCursorNo
transactionsNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnlyHint=true, destructiveHint=false, openWorldHint=false), so the description's job is to add execution context, and it does: exact-match semantics after normalising case, punctuation and trailing store numbers, awareness that duplicate merchant names exist, and the fact that the answer reports how many unmatched-nameless transactions were excluded. It is short on return shape and paging, but those are covered elsewhere.

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?

Three sentences, no filler, and the core mechanics (exact match on normalised name; returns rows and total) come first, with the caveats about duplicate and missing names after. It could be trimmed slightly, but every sentence carries information an agent needs.

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 an output schema present, the description needn't spell out return values, and it still hints at their contents (matching rows, totals, count of nameless transactions). For a five-parameter read tool with full schema coverage and safe annotations, this is essentially complete; the only omission is any nudge toward the tool to use when a merchant name is unknown.

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% and all five parameters are documented in the schema, including the normalisation rule for merchant, so the baseline is 3. The description reinforces the matching semantics for the merchant parameter but adds nothing about limit, cursor, or the two time bounds.

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?

The description states a precise verb+resource: it fetches every transaction with a named merchant, matched exactly on the normalised merchant name, and returns the rows plus their total. That is far more specific than the title alone and clearly distinguishable from aggregate tools like top_merchants or spending_by_category. It stops short of a 5 because it never names a sibling tool, leaving the agent to infer the alternative when a merchant string is unknown.

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 real selection context: use it when you have a merchant name, and it explicitly warns that the same shop may appear under multiple names and that transactions with no merchant name cannot be found this way at all. That is meaningful 'when not' guidance. It does not, however, point to the alternative tool for those unnameable cases, which keeps it out of 5 territory.

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