Skip to main content
Glama

BAP-1 ISO 20022 Banking Message Validator

iso20022_validate
Read-onlyIdempotent

Deterministic validation for institutional ISO 20022 XML/JSON payment messages (pain.001 credit transfer, pacs.008 customer credit, camt.053 bank statement) with XML DOCTYPE security guards, BigInt CtrlSum decimal sums, and ISO 13616 / 9362 / 17442 checksums (BAP-1).

Input Schema

NameRequiredDescriptionDefault
formatNo'xml' or 'json' (default auto-detected)
namespaceNoExpected ISO 20022 schema namespace (e.g. 'pain.001.001.09')
raw_payloadYesRaw ISO 20022 XML or JSON message text
transactionsNoStructured transactions array for JSON validation

Output Schema

NameRequiredDescriptionDefault
okYes
validYes
findingsNo
standardYes
tx_countNo
namespaceNo
message_idNo
ctrl_sum_minorNo
receipt_digestNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, and openWorld, so safety is covered; the description goes further by naming concrete mechanics: XML DOCTYPE security guards (XXE/entity hardening), BigInt CtrlSum decimal summation, and ISO 13616/9362/17442 checksum enforcement. That tells the agent the validator is strict and deterministic, though it doesn't state the failure mode (e.g., whether it throws or returns a structured error 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?

One front-loaded sentence that leads with the core capability before the parenthetical spec lists. Dense but zero filler; the packed parentheticals (message types, then three standards) cost some readability but each item carries information an agent can act on.

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 4 documented params, full schema coverage, and an output schema, the description only needs to frame scope and strictness - which it does by naming supported message types and the security/checksum regime. The remaining gap is operational: no statement about what a failed validation returns or how message type is inferred when namespace is omitted.

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%, covering raw_payload, format, namespace, and transactions, so the schema already carries parameter meaning. The description adds only indirect hints - that both XML and JSON are accepted and that namespace-scoped message types exist - without clarifying when to supply 'transactions' versus 'raw_payload' or how the namespace value interacts with auto-detection.

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 ('deterministic validation') and resource ('institutional ISO 20022 XML/JSON payment messages'), and enumerates the exact message types covered (pain.001, pacs.008, camt.053). This clearly separates it from adjacent siblings like iban_check, swift_bic_check, or iso20022_to_x402_intent, which do single-field or conversion work rather than full-message validation.

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 scope statement - you call it on an ISO 20022 payment message to validate it - but there is no explicit when/when-not guidance. It never says to prefer iban_check or swift_bic_check for standalone field lookups, nor what to do with non-ISO 20022 payloads, leaving the agent to infer boundaries from the message-type list.

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.