Skip to main content
Glama

uetr.ai - UETR and SWIFT Payment Tracking

Get a transfer

get_transfer
Read-onlyIdempotent

Get one transfer in this account by its UETR, with every bank report in the full view, or the free tracker's view for a free transfer. When a bank last reported: in the free view, free.last_report_at is the newest bank report time, a time a bank gave (null when no report gives one), while free.last_update_at is only when the newest report was first received; in the full view, each event's reported_at is the bank's own time. free.amount_bank_number and free.value_date_bank_number name which numbered bank (as in free.reports) reported the amount and the value date: they are bank numbers, not counts, and free.reporting_banks is the count. The number of people who follow the transfer's updates comes from get_watcher_count. The demo transfer 00000000-0000-4000-8000-000000000000 works for every key. Each hour (UTC) it is searching, with no bank reports, for its first 10 minutes, then gains a bank report every 10 minutes until it is credited at 50 minutes past the hour. Reading changes nothing.

Input Schema

NameRequiredDescriptionDefault
uetrYesThe transfer's UETR.

Output Schema

NameRequiredDescriptionDefault
freeYesThe free tracker's view, in the free view only.
eventsYesEvery bank report, in the full view only, in the stage order of the transfer's timeline, earliest stage first: the last is the latest stage, which may have been received before an earlier stage's report (see observed_at).
transferYesThe transfer.
waiting_atYesIn the full view, the bank the payment is waiting at, when the reports name one; otherwise null.
corrections_remainingYesHow many more corrections the account owner can make to the entered amount, currency and payment date now that a bank has reported. Null when no bank has reported, when the API key or connected app is not the account owner's, when the transfer is archived, or when the count could not be read.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare readOnly/idempotent/non-destructive, so the closing 'Reading changes nothing' is redundant. The description earns credit elsewhere: it explains that a free transfer returns a different view, that full-view events carry the bank's own reported_at, and it documents a deterministic demo UETR that cycles through searching/reporting/credited states each hour — behavior an agent cannot infer from annotations or schema.

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

Conciseness3/5

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

The opening sentence is well front-loaded, but the body is three very long run-on sentences dense with field-level semantics (free.last_report_at vs free.last_update_at, bank numbers vs counts) that read as response documentation rather than tool-selection guidance. Several clauses, such as 'they are bank numbers, not counts', exist mainly to preempt misreading and would be better placed in the output schema.

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?

An output schema exists, so much of the field-by-field explanation duplicates structured data rather than filling a gap. Real gaps remain: how the full view versus free view is selected (account plan? transfer type?) is never stated, and error behavior for an unknown or unauthorized UETR is unaddressed.

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 100% and the single uetr parameter is fully specified with a UUIDv4 pattern, so the schema does the heavy lifting and baseline 3 applies. The description adds one useful parameter-level detail — a known-good demo UETR that works for every key — but no format or validation guidance beyond the schema.

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 with the exact identifier ('Get one transfer in this account by its UETR') and immediately scopes the response shape (full view vs free tracker view). That distinguishes it cleanly from list_transfers and get_payment_record without needing 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 Guidelines3/5

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

Usage is implied by the 'by its UETR' framing, and it does route one adjacent need to a sibling ('The number of people who follow the transfer's updates comes from get_watcher_count'), which is genuine routing value. But there is no explicit when-not-to-use guidance versus list_transfers or get_payment_record, and no statement of what happens for an unknown UETR.

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