Skip to main content
Glama

IBAN check

iban_check
Read-onlyIdempotent

Validate an IBAN's structure and check digits to catch typos. For Romanian IBANs, identify the issuing bank and whether it's a State Treasury account.

Instructions

Check that an IBAN is well formed (length and mod-97 check digits, catches typos) and, for Romanian IBANs, which bank issued it and whether it's a State Treasury account. Works for any country's IBAN, offline, nothing is sent anywhere.

A valid IBAN only means the number is well formed: it doesn't prove the account exists or who owns it. Use company_lookup to check the company you're paying.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
ibanYesIBAN to check, spaces allowed, e.g. "RO49 AAAA 1B31 0075 9384 0000".

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already cover read-only/idempotent/non-destructive, but the description adds genuinely new context: the check is fully offline with nothing transmitted, and it discloses the semantics of a 'valid' result as only well-formedness, not account existence. That is meaningful beyond the annotations. Only minor gap: it doesn't say what is returned for an invalid IBAN (error vs. negative result), and 'offline' sits slightly awkwardly against openWorldHint=true, though that is a data-locality statement rather than a read/write contradiction.

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?

Two tight paragraphs with no filler: the validation scope comes first, then the enrichment, then the caveat and the routing hint. 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?

There is no output schema, and the description compensates by describing what a result contains (well-formedness plus, for Romanian IBANs, issuing bank and State Treasury status) and the limits of that result. The only omission is the shape of a failure response (error vs. invalid flag), which a caller would benefit from knowing.

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?

With one required parameter and 100% schema description coverage including a concrete spaced-IBAN example, the schema fully documents the argument. The description explains what 'check' means (length + mod-97) but adds no syntax, format, or edge-case detail about the iban field itself, so the baseline 3 applies.

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 ('check that an IBAN is well formed') plus the exact validation methods (length, mod-97 check digits) and the extra Romanian-bank/Treasury enrichment. It also explicitly differentiates itself from the sibling company_lookup, so an agent can route without opening any 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?

It states when the tool applies (any country's IBAN, offline), when it is insufficient ('a valid IBAN only means the number is well formed: it doesn't prove the account exists or who owns it'), and names the alternative to use for that gap (company_lookup). When-to-use, when-not, and the alternative are all explicit.

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