Skip to main content
Glama

Validate IBANs and split bank and account codes

iban
Read-only

IBAN validation with no network call: ISO 13616 length and structure for every country in the SWIFT IBAN registry, the mod-97 checksum, national check digits where a public algorithm exists (FR, ES, IT, BE, NL, NO, FI, PL, PT and the Balkan countries), and the split into bank code, branch code and account. Returns the electronic and print format. Pass ibans= for up to 50 at once. No bank name or BIC lookup (no dataset is bundled). Price: $0.002 in USDC per successful call, paid with x402 (Base, Solana or Arc); failed calls are not charged.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "iban"
  }
}

Input Schema

NameRequiredDescriptionDefault
ibanNoOne IBAN. Spaces, dashes and lowercase are accepted
ibansNoAlternative: up to 50 IBANs, comma-separated

Output Schema

NameRequiredDescriptionDefault
bbanNo
ibanNo
countNo
inputNo
validNo
checksNo
accountNo
countryNo
invalidNo
resultsNo
bankCodeNo
ibanPrintNo
bankLookupNo
branchCodeNo
countryCodeNo
nationalCheckNo
expectedLengthNo
ibanElectronicNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "properties": {
      +    "account": {},
      +    "bankCode": {},
      +    "bankLookup": {},
      +    "bban": {},
      +    "branchCode": {},
      +    "checks": {},
      +    "count": {},
      +    "country": {},
      +    "countryCode": {},
      +    "expectedLength": {},
      +    "iban": {},
      +    "ibanElectronic": {},
      +    "ibanPrint": {},
      +    "input": {},
      +    "invalid": {},
      +    "nationalCheck": {},
      +    "results": {},
      +    "valid": {}
      +  },
      +  "type": "object"
      +}
  2. First observed

TDQS

A4.4/5.0
Behavior5/5

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

Goes well past the annotations: the operation is fully offline ("no network call"), coverage is bounded to countries in the SWIFT IBAN registry with national check digits only "where a public algorithm exists," and the cost model is explicit ($0.002 USDC per successful call via x402, failures not charged). The paid-per-call detail is exactly the kind of behavioral fact an agent must know before invoking, and the offline claim refines rather than contradicts openWorldHint=true.

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 with the capability and its verification layers, then limits, exclusions, and pricing in a sensible order. It is a single dense block and slightly repetitive about the input format already covered by the schema, but no sentence is wasted.

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 spelled out, and the description still notes it returns electronic and print formats. For a two-parameter, read-only validator, the only things an agent needs — offline nature, country coverage limits, batch cap, exclusions, and payment terms — are all present.

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 both parameters (`iban`, `ibans`) are already documented, including the 50-item comma-separated cap and tolerance for spaces/dashes/lowercase. The description restates the batch limit and input leniency without adding new meaning, 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+resource (IBAN validation) with concrete scope: ISO 13616 structure, mod-97 checksum, national check digits, and bank/branch/account splitting. It also fences off an adjacent capability ("No bank name or BIC lookup"), which lets an agent distinguish this from the `swift` sibling 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 Guidelines4/5

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

Tells the agent how to invoke at scale ("Pass ibans= for up to 50 at once") and what the tool will not do (no BIC/bank-name resolution), which implicitly routes those needs elsewhere. It stops short of naming the alternative sibling to use for BIC lookup, so it is clear context rather than a full when/when-not routing rule.

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