Skip to main content
Glama

Agent Decision & Evidence Tools (MCP + x402)

IBAN structure check (free)

validate_iban
Read-onlyIdempotent

FREE IBAN checksum and country-structure validation with BIC and bank-name enrichment where registry data exists. It does not prove account existence or ownership.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
ibanYes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
bicNo
bbanNo
toolNo
errorNo
inputNo
priceNoNo payment is required for this tool.
validNo
lengthNo
chargedNoWhen present on an error, false means the failed result is uncharged.
countryNo
messageNo
missingNo
settledNoWhen present on an error, false means no settlement occurred.
unknownNo
acceptedNo
bank_codeNo
bank_nameNo
formattedNo
retryableNo
error_codeNo
status_codeNo
check_digitsNo
did_you_meanNo
missing_checksNo
partial_evidenceNo
bank_registry_noteNo
bank_registry_checkedNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed6 schema fields changed
    • addedInput schema / additionalProperties
      Added value: +false
    • addedInput schema / properties / iban / maxLength
      Added value: +42
    • addedInput schema / properties / iban / minLength
      Added value: +15
    • removedInput schema / properties / iban / title
      Removed value: -"Iban"
    • removedInput schema / title
      Removed value: -"validate_iban_toolArguments"
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "additionalProperties": true,
      +  "anyOf": [
      +    {
      +      "required": [
      +        "valid",
      +        "input",
      +        "price"
      +      ]
      +    },
      +    {
      +      "required": [
      +        "error"
      +      ]
      +    }
      +  ],
      +  "description": "Structured result contract for validate_iban. A success satisfies the documented success branch. A domain or tool error includes error and is not a successful settlement; unpaid x402 requirements are carried by the transport wrapper.",
      +  "properties": {
      +    "accepted": {
      +      "items": {
      +        "type": "string"
      +      },
      +      "type": "array"
      +    },
      +    "bank_code": {
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "bank_name": {
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "bank_registry_checked": {
      +      "type": "boolean"
      +    },
      +    "bank_registry_note": {
      +      "type": "string"
      +    },
      +    "bban": {
      +      "type": "string"
      +    },
      +    "bic": {
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "charged": {
      +      "description": "When present on an error, false means the failed result is uncharged.",
      +      "type": "boolean"
      +    },
      +    "check_digits": {
      +      "type": "string"
      +    },
      +    "country": {
      +      "type": "string"
      +    },
      +    "did_you_mean": {
      +      "additionalProperties": true,
      +      "type": [
      +        "object",
      +        "null"
      +      ]
      +    },
      +    "error": {
      +      "oneOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "additionalProperties": true,
      +          "properties": {
      +            "code": {
      +              "type": [
      +                "string",
      +                "null"
      +              ]
      +            },
      +            "message": {
      +              "type": "string"
      +            },
      +            "param": {
      +              "type": [
      +                "string",
      +                "null"
      +              ]
      +            },
      +            "type": {
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "message"
      +          ],
      +          "type": "object"
      +        }
      +      ]
      +    },
      +    "error_code": {
      +      "type": "string"
      +    },
      +    "formatted": {
      +      "type": "string"
      +    },
      +    "input": {
      +      "type": "string"
      +    },
      +    "length": {
      +      "type": "integer"
      +    },
      +    "message": {
      +      "type": "string"
      +    },
      +    "missing": {
      +      "items": {
      +        "type": "string"
      +      },
      +      "type": "array"
      +    },
      +    "missing_checks": {
      +      "items": {
      +        "type": "string"
      +      },
      +      "type": "array"
      +    },
      +    "partial_evidence": {
      +      "additionalProperties": true,
      +      "type": "object"
      +    },
      +    "price": {
      +      "const": "free",
      +      "description": "No payment is required for this tool.",
      +      "type": "string"
      +    },
      +    "retryable": {
      +      "type": "boolean"
      +    },
      +    "settled": {
      +      "description": "When present on an error, false means no settlement occurred.",
      +      "type": "boolean"
      +    },
      +    "status_code": {
      +      "type": "integer"
      +    },
      +    "tool": {
      +      "type": "string"
      +    },
      +    "unknown": {
      +      "items": {
      +        "type": "string"
      +      },
      +      "type": "array"
      +    },
      +    "valid": {
      +      "type": "boolean"
      +    }
      +  },
      +  "type": "object"
      +}
  2. First observed

TDQS

A4/5.0
Behavior4/5

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

Annotations already establish that the tool is read-only, idempotent, and non-destructive. The description adds valuable behavioral context by noting that enrichment only happens where registry data exists and that it does not prove account existence or ownership; this is a meaningful limitation beyond the annotations.

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?

The description is two compact sentences with no filler. It front-loads the core function and immediately follows with the most important limitation, so an agent gets the essential information quickly.

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?

For a single-parameter, read-only validator with an output schema, the description covers the core behavior, the enrichment condition, and the key false-assurance caveat. Missing sibling-routing guidance is already accounted for in usage guidelines, and the output schema covers return values.

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 only one parameter, iban, and the schema provides its name and min/max length, but schema description coverage is 0%. The description does not add format details such as expected letter casing, allowed separators, or country-prefix requirements; the parameter is simple enough to still be usable, but the description could compensate more explicitly.

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?

The description states a specific action ('validation') on a concrete resource (IBAN) and narrows the scope to checksum and country-structure checks. Mentioning BIC and bank-name enrichment plus the 'free' positioning clearly distinguishes it from heavier validation or screening siblings.

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?

The description implies when to use the tool: when an IBAN's structural validity and checksum need verification, and it explicitly warns against using it to prove account existence or ownership. However, it does not name an alternative tool or provide explicit conditions for choosing this over siblings such as validate_vat or must_verify_before_pay.

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.