Skip to main content
Glama

Swiss Clearing Lookup

lookup_ch_clearing
Read-onlyIdempotent

Resolve a Swiss BC-Nummer/IID to identify the institution, its address, BIC, and payment-rail participation including SIC, RTGS, instant payments, euroSIC, and QR-IID.

Instructions

Resolve a Swiss BC-Nummer / IID (1 to 5 digits) into the underlying institution. USE WHEN: the user mentions a Swiss bank by BC-Nummer or IID, pastes a CH or LI IBAN clearing code, asks routing details for a Swiss instant transfer (SIC, euroSIC), asks about QR-bill QR-IID resolution, or needs to classify a Swiss financial institution (bank vs PFS vs SIC-only participant). EVERY IID OF THE SIX BANKMASTER, with its full payment-rail participation (SIC, RTGS CHF, Instant Payments CHF, euroSIC, LSV+/BDD) plus QR-IID allocation, not just a name lookup. BACKED BY: the SIX BankMaster (Swiss official source, refreshed monthly); live count at https://api.ibanforge.com/llms.txt. RETURNS: institution { name, type, iid_type, headquarters_iid }, address, bic, payment_services { sic, rtgs_chf, instant_payments_chf, eurosic, lsv_bdd_chf, lsv_bdd_eur }, sic_iid, qr_iid, valid_on. COST: 0.003 USDC. Only relevant for CH and LI accounts.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
iidYesSwiss IID / BC-Nummer (1 to 5 digits, leading zeros stripped). Example: "230" for UBS Switzerland AG.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
bicNoBIC if mapped, null otherwise.
iidYes5-digit zero-padded BC-Nummer.
foundYes
qr_iidNoQR-IID allocation, null when none.
addressNo
sic_iidNo
valid_onNo
institutionNo
payment_servicesNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed8 schema fields changedv1.8.0
    • changedOutput schema / properties / address / properties / building_number / type
      Previous value: -"string"New value: +[
      +  "string",
      +  "null"
      +]
    • changedOutput schema / properties / address / properties / post_code / type
      Previous value: -"string"New value: +[
      +  "string",
      +  "null"
      +]
    • changedOutput schema / properties / address / properties / street / type
      Previous value: -"string"New value: +[
      +  "string",
      +  "null"
      +]
    • changedOutput schema / properties / address / properties / town / type
      Previous value: -"string"New value: +[
      +  "string",
      +  "null"
      +]
    • changedOutput schema / properties / bic / description
      Previous value: -"BIC if mapped."New value: +"BIC if mapped, null otherwise."
    • changedOutput schema / properties / bic / type
      Previous value: -"string"New value: +[
      +  "string",
      +  "null"
      +]
    • changedOutput schema / properties / qr_iid / type
      Previous value: -"string"New value: +[
      +  "string",
      +  "null"
      +]
    • changedOutput schema / properties / sic_iid / type
      Previous value: -"string"New value: +[
      +  "string",
      +  "null"
      +]
  2. Changed9 schema fields changedv1.4.4
    • changedInput schema / properties / iid / description
      Previous value: -"Swiss IID / BC-Nummer (1 to 5 digits, leading zeros stripped). Example: \"762\" for UBS Switzerland."New value: +"Swiss IID / BC-Nummer (1 to 5 digits, leading zeros stripped). Example: \"230\" for UBS Switzerland AG."
    • addedOutput schema / properties / address
      Added value: +{
      +  "properties": {
      +    "building_number": {
      +      "type": "string"
      +    },
      +    "country": {
      +      "type": "string"
      +    },
      +    "post_code": {
      +      "type": "string"
      +    },
      +    "street": {
      +      "type": "string"
      +    },
      +    "town": {
      +      "type": "string"
      +    }
      +  },
      +  "type": "object"
      +}
    • changedOutput schema / properties / institution / properties / iid_type / enum
      Previous value: -[
      -  "headquarters",
      -  "branch",
      -  "unknown"
      -]New value: +[
      +  "headquarters",
      +  "branch",
      +  "other"
      +]
    • changedOutput schema / properties / institution / properties / type / enum
      Previous value: -[
      -  "bank",
      -  "cantonal_bank",
      -  "raiffeisen",
      -  "postfinance",
      -  "private_bank",
      -  "foreign_branch",
      -  "fintech",
      -  "other"
      -]New value: +[
      +  "bank",
      +  "cantonal_bank",
      +  "postfinance",
      +  "raiffeisen",
      +  "central_bank",
      +  "foreign_participant"
      +]
    • removedOutput schema / properties / participation
      Removed value: -{
      -  "properties": {
      -    "eurosic": {
      -      "type": "boolean"
      -    },
      -    "instant_payments": {
      -      "type": "boolean"
      -    },
      -    "qr_iid": {
      -      "description": "QR-bill enabled IID.",
      -      "type": "boolean"
      -    },
      -    "sic": {
      -      "description": "Swiss Interbank Clearing.",
      -      "type": "boolean"
      -    }
      -  },
      -  "type": "object"
      -}
    • addedOutput schema / properties / payment_services
      Added value: +{
      +  "properties": {
      +    "eurosic": {
      +      "type": "boolean"
      +    },
      +    "instant_payments_chf": {
      +      "type": "boolean"
      +    },
      +    "lsv_bdd_chf": {
      +      "type": "boolean"
      +    },
      +    "lsv_bdd_eur": {
      +      "type": "boolean"
      +    },
      +    "rtgs_chf": {
      +      "type": "boolean"
      +    },
      +    "sic": {
      +      "description": "Swiss Interbank Clearing.",
      +      "type": "boolean"
      +    }
      +  },
      +  "type": "object"
      +}
    • addedOutput schema / properties / qr_iid
      Added value: +{
      +  "description": "QR-IID allocation, null when none.",
      +  "type": "string"
      +}
    • addedOutput schema / properties / sic_iid
      Added value: +{
      +  "type": "string"
      +}
    • addedOutput schema / properties / valid_on
      Added value: +{
      +  "type": "string"
      +}
  3. Addedv1.2.2
  4. Removedv1.2.1
  5. Addedv1.2.0

TDQS

A4.4/5.0
Behavior5/5

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

Annotations already declare readOnly, idempotent, and non-destructive behavior. The description adds meaningful context beyond that: the data source and refresh cadence (SIX BankMaster monthly), the live count link, the exact return shape, validity date, cost, and that it covers all BankMaster IIDs. This is exactly the kind of supplementary behavioral context that helps an agent decide and invoke.

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?

The description is longer than average but organized into labeled sections (USE WHEN, BACKED BY, RETURNS, COST) that each carry useful decision-making information. It is front-loaded with the core purpose and expands into details an agent would need. Minor redundancy exists between the payment-rail enumeration and the RETURNS block, but nothing 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?

Given the single parameter, the presence of an output schema, and the read-only annotations, this description is complete: it covers when to call, what it resolves, what it returns, the source and freshness, cost, and applicability. An agent has enough context to select and invoke the tool correctly without additional external research.

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?

The input schema already describes the single `iid` parameter fully, including the 1-to-5 digit range, leading-zero stripping, and an example. The description reinforces the semantic context but does not add new parameter-level detail beyond what the schema provides, so the baseline of 3 is appropriate.

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 opens with a specific verb and resource: 'Resolve a Swiss BC-Nummer / IID ... into the underlying institution.' It clearly distinguishes itself from a plain name/BIC lookup by noting it returns full payment-rail participation, and the sibling context makes the differentiation useful.

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?

The 'USE WHEN' section provides explicit, concrete triggers: Swiss BC-Nummer/IID mentions, CH/LI IBAN clearing codes, Swiss instant transfer routing, QR-IID resolution, and institution classification. It also excludes non-CH/LI accounts, but it does not explicitly name an alternative tool such as lookup_bic for when only a name or BIC lookup is needed.

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