Skip to main content
Glama

normalize_camt053

Read-onlyIdempotent

Convert parsed camt.053 bank statement entries into canonical observed records for reconciliation, mapping bookings to uniform id, amount, date, and counterparty fields.

Instructions

Convert parsed camt.053 statement entries into canonical observed records.

Purpose: Adapts parsed ISO 20022 camt.053 bank statement documents or entry lists into canonical observed records ready for the reconcile engine.

When to use:

  • When ingesting parsed bank statements before calling reconcile.

  • When transforming bank booking entries into uniform id, amount, date, and counterparty fields.

When NOT to use:

  • Do NOT use for payment initiation orders (pain.001); use normalize_pain001 instead.

  • Do NOT pass raw unparsed XML text; parse or deserialize first.

Behavioral transparency: Pure, deterministic, read-only data normalization.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
documentYesParsed camt.053 document or entry list.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.0.2

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint and destructiveHint=false, so the safety bar is low and 'pure, deterministic, read-only' partly restates them. However, the description adds a genuine input constraint beyond the schema/annotations (must be parsed first, not raw XML) and clarifies the deterministic transformation intent, which is useful behavioral context.

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?

Front-loaded verb+resource sentence followed by clearly labeled Purpose / When / When-NOT / Behavioral sections, which is easy to scan. The 'Purpose' paragraph mildly restates the opening line, costing a little redundancy, but overall it is tight and well-organized.

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?

An output schema exists, so return values need not be explained. The description covers source format, target representation, the pre-parse prerequisite, exclusions, and deterministic behavior — everything an agent needs to invoke it correctly given the annotations and output schema.

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?

There is a single required parameter with 100% schema coverage, so the schema already documents it. The description restates that it accepts a parsed document or entry list but adds no format, shape, or validation detail beyond the schema. Baseline 3 is appropriate when the schema does the heavy lifting.

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 (convert/adapt) and resource (parsed camt.053 statement entries into canonical observed records), and names the target consumer (reconcile engine). It explicitly distinguishes itself from the sibling normalize_pain001, so an agent can route correctly 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 Guidelines5/5

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

Provides explicit when-to-use bullets (before reconcile, transforming booking entries) and when-NOT-to-use bullets (not for pain.001 — use normalize_pain001; not for raw XML). Both the trigger condition and the alternative sibling are named.

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